Jonathan Dupuy | Eric Heitz | Laurent Belcour |
Unity Technologies | Unity Technologies | Unity Technologies |
Jonathan Dupuy | Eric Heitz | Laurent Belcour |
Unity Technologies | Unity Technologies | Unity Technologies |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
MIS@64spp: Previous | MIS@64spp: Ours |
![]() |
![]() |
Uniform | Clipped Uniform | Cosine |
![]() |
![]() |
![]() |
vMF (Spherical Gaussian) | Phong Lobes | ||||||
|
|
Uniform | Clipped Uniform | Cosine |
![]() |
![]() |
![]() |
vMF (Spherical Gaussian) | Phong Lobes | ||||||
|
|
NEW Pivot Distributions | ||||
|
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
![]() |
≈ | ![]() |
= | ![]() |
![]() |
≈ | ![]() |
= | ![]() |
![]() |
≈ | ![]() |
= | ![]() |
![]() |
≈ | ![]() |
= | ![]() |
![]() |
≈ | ![]() |
= | ![]() |
![]() |
≈ | ![]() |
$f_r \cdot \cos \theta_i$ | $D$ |
Ours | Ref (raytraced) |
Ours | Ref (raytraced) |
Ours | Ref (raytraced) |
Ours | Ref (raytraced) |
Ours | Ref (raytraced) |
Ours | Ref (raytraced) |
MIS (previous) | MIS (ours) | ||||||||
|
|
BRDF![]() |
Pivot![]() |
MIS (previous) | MIS (ours) | ||||||||
|
|
MIS (previous) | MIS (ours) |
MIS (previous) | MIS (ours) |
MIS (previous) | MIS (ours) |
Henyey-Greenstein | Pivot |
![]() |
![]() |
$$f_s(\mu; g) = \frac{1}{4\pi}\frac{1 - g^2}{(1 + g^2 - 2 \,g\, \mu)^\frac{3}{2}} $$ | $$f_s(\mu; g) = \frac{1}{4\pi}\left(\frac{1 - g^2}{1 + g^2 - 2 \,g\, \mu}\right)^2 $$ |
![]() |
![]() |
Henyey-Greenstein ($g = 0$) | Our fit |
![]() |
![]() |
Henyey-Greenstein ($g = -0.8$) | Our fit |
![]() |
![]() |
Henyey-Greenstein ($g = +0.8$) | Our fit |
MIS (previous) | Perfect (ours) | ||||||
|
|
![]() |
+ | ![]() |
= | ![]() |
![]() |
+ | ![]() |
= | ![]() |
[Lecocq et al. 2016] | [Drobot2014] |
![]() |
![]() |
$\mathscr{C} \approx \mathscr{P}$ | $\mathscr{C} \approx \boldsymbol{\omega}_i$ |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
|
|
|
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
vMF ✘ | ||
k = 2 | ![]() |
![]() |
k = 30 | ![]() |
![]() |
k = 200 | ![]() |
![]() |
![]() Cheap Analytic Approximation ? |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
Phong ✓ | ||
k = 2 | ![]() |
![]() |
k = 30 | ![]() |
![]() |
k = 200 | ![]() |
![]() |
![]() Cheap Analytic Approximation ? |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
O(1) |
Phong ✓ | |||
k = 2 | ![]() |
![]() |
✓ |
k = 30 | ![]() |
![]() |
✘ |
k = 200 | ![]() |
![]() |
✘✘ |
O(k) |
![]() Cheap Analytic Approximation ? |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
O(1) |
Phong ✓ | |||
k = 2 | ![]() |
![]() |
✓ |
k = 30 | ![]() |
![]() |
✘ |
k = 200 | ![]() |
![]() |
✘✘ |
O(k) |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
O(1) |
Phong ✓ | |||
k = 2 | ![]() |
![]() |
✓ |
k = 30 | ![]() |
![]() |
✘ |
k = 200 | ![]() |
![]() |
✘✘ |
O(k) |
Uniform ✓ ![]() |
Clipped Uniform ✓ ![]() |
Clamped Cosine ✓ ![]() |
O(1) |
Phong ✓ | |||
k = 2 | ![]() |
![]() |
✓ |
k = 30 | ![]() |
![]() |
✘ |
k = 200 | ![]() |
![]() |
✘✘ |
O(k) |
Our Distributions ✓ | ||||||
| ||||||
O(1) |