computation of polarized subsurface brdf for rendering
DESCRIPTION
Computation of Polarized Subsurface BRDF for Rendering. Charly Collin – Sumanta Pattanaik – Patrick LiKamWa Kadi Bouatouch. Painted materials. Painted materials. Painted materials. Painted materials. Our goal. Compute the subsurface BRDF from physical properties:. Base layer - PowerPoint PPT PresentationTRANSCRIPT
Computation of Polarized Subsurface BRDF for Rendering
Charly Collin – Sumanta Pattanaik – Patrick LiKamWa Kadi Bouatouch
Painted materials
Painted materials
Painted materials
Painted materials
Our goal
• Base layer• Binder thickness• Particle properties:
– Refractive indices– Particle radius– Particle distribution
Compute the subsurface BRDF from physical properties:
Our goals
Compute the diffuse BRDF from physical properties:
• Accurate light transport simulation: – Accurate BRDF computation– Accurate global illumination
Use polarization in our computations:
• Base layer• Binder thickness• Particle properties:
– Refractive indices– Particle radius– Particle distribution
Polarization• Light is composed of waves
• Unpolarized light is composed of waves with random oscillation
• Light is polarized when composed of waves sharing similar oscillation
• Polarization of the light can be: – Linear– Circular– Both
• Polarization properties change the way light interacts with matter
PolarizationThe Stokes vector is a useful representation for polarized light
Polarization
• Each light-matter interaction changes the radiance, but also the polarization state of the light
• Modifications to a Stokes vector are done through a 4x4 matrix, the Mueller matrix:
=
• Polarized BRDF, or polarized phase function are represented as Mueller matrices
BRDF Computation
𝐹 𝑟 (𝜔𝑖𝑛 ,𝜔𝑜𝑢𝑡 )=𝐼 (𝜔𝑜𝑢𝑡)𝐸(𝜔𝑖𝑛)
𝐸 (𝜔 𝑖𝑛)
𝐼 (𝜔𝑜𝑢𝑡)
𝐼 (𝜔𝑜𝑢𝑡 )=𝐹𝑟 (𝜔𝑖𝑛 ,𝜔𝑜𝑢𝑡 )𝐸(𝜔𝑖𝑛)
BRDF Computation
𝐹 𝑟 (𝜔𝑖𝑛 ,𝜔𝑜𝑢𝑡 )=𝐼 (𝜔𝑜𝑢𝑡)𝐸(𝜔𝑖𝑛)
𝐸 (𝜔 𝑖𝑛)
𝐼 (𝜔𝑜𝑢𝑡)
|𝐼0𝐼1𝐼2𝐼3|=𝐹𝑟|𝐸0
𝐸1
𝐸2
𝐸3|
BRDF Computation
|𝐼00 𝐼0
1
𝐼10 𝐼11𝐼 02 𝐼 0
3
𝐼12 𝐼13
𝐼20 𝐼 2
1
𝐼30 𝐼3
1
𝐼 22 𝐼 2
3
𝐼 32 𝐼 3
3|=𝐹 𝑟|𝐸00 𝐸0
1
𝐸10 𝐸1
1
𝐸02 𝐸0
3
𝐸12 𝐸1
3
𝐸20 𝐸2
1
𝐸30 𝐸3
1
𝐸22 𝐸2
3
𝐸32 𝐸3
3|
BRDF Computation
𝐹 𝑟=|𝐸00 𝐸0
1
𝐸10 𝐸1
1
𝐸02 𝐸0
3
𝐸12 𝐸1
3
𝐸20 𝐸2
1
𝐸30 𝐸3
1
𝐸22 𝐸2
3
𝐸32 𝐸3
3|−1
|𝐼 00 𝐼 0
1
𝐼 10 𝐼 11𝐼 02 𝐼0
3
𝐼12 𝐼13
𝐼 20 𝐼 2
1
𝐼 30 𝐼 3
1
𝐼22 𝐼2
3
𝐼 32 𝐼3
3|
BRDF Computation
𝐸 (𝜔 𝑖𝑛)
𝐼 (𝜔𝑜𝑢𝑡)
? ? ?
To compute the BRDF we need to compute the radiance field for:
• Each incident and outgoing direction
• 4 linearly independent incident Stokes vectors
The radiance field is computed by solving light transport
BRDF Computation
𝐸 (𝜔 𝑖𝑛)
𝐼 (𝜔𝑜𝑢𝑡)
? ? ?
Light transport is modeled through the Vector Radiative Transfer Equation:
(𝜔 ∙𝛻 ) 𝐼 (𝑥 ,𝜔 )= (𝑘 (𝑥 ,𝜔 )+𝜎 (𝑥 ) ) 𝐼 (𝑥 ,𝜔 )+𝜎 (𝑥)4𝜋 ∫
Ω
❑
𝑝 (𝜔 ,𝜔′ ) 𝐼 (𝑥 ,𝜔 ′)𝑑𝜔′
BRDF Computation
𝐼 (𝜔𝑜𝑢𝑡) 𝐼 (𝜔𝑜𝑢𝑡)
Our computation makes several assumptions on the material:• Plane parallel medium
BRDF Computation
Our computation makes several assumptions on the material:• Plane parallel medium• Randomly oriented particles
𝐹 𝑟 (𝜇𝑖𝑛 ,𝜑𝑖𝑛 ,𝜇𝑜𝑢𝑡 ,𝜑𝑜𝑢𝑡 )=𝐹 𝑟 (𝜇𝑖𝑛 ,𝜇𝑜𝑢𝑡 ,𝜑𝑖𝑛−𝜑𝑜𝑢𝑡 )
𝜔=(𝜇 ,𝜑 )
BRDF Computation
Our computation makes several assumptions on the material:• Plane parallel medium• Randomly oriented particles• Homogeneous layers
𝐼 (𝜔𝑜𝑢𝑡) 𝐼 (𝜔𝑜𝑢𝑡)
Vector Radiative Transfer Equation
It has 3 components:• the radiance• corresponding to the light scattering inside the material
RTE expresses the change of radiance along optical depth .
𝐽 (𝜏 ,𝜔 )= 𝛼4 𝜋∫
− 1
1
𝑝 (𝜏 ,𝜔 ,𝜔 ′ ) 𝐼 (𝜏 ,𝜔 ′ )𝑑𝜔 ′
𝜏𝐽 (𝜏 ,𝜔 )
𝐼 (𝜏 ,𝜔 ′ )
𝜇 𝜕𝜕𝜏 𝐼 (𝜏 ,𝜔 )=− 𝐼 (𝜏 ,𝜔 )+ 𝐽 (𝜏 ,𝜔 )+𝑄 (𝜏 ,𝜔 ,𝜔 𝑖𝑛)
Vector Radiative Transfer Equation
It has 3 components:• the radiance• corresponding to the light scattering inside the material• accounting for attenuated incident radiance
RTE expresses the change of radiance along optical depth .
𝜏
𝐼 𝑖𝑛
𝜇 𝜕𝜕𝜏 𝐼 (𝜏 ,𝜔 )=− 𝐼 (𝜏 ,𝜔 )+ 𝐽 (𝜏 ,𝜔 )+𝑄 (𝜏 ,𝜔 ,𝜔 𝑖𝑛)
VRTE Solution
• VRTE is solved using Discrete Ordinate Method (DOM)
• Solution is composed of an homogeneous and 4N particular solution
• The homogeneous solution consists of a 4Nx4N Eigen problem
• Each particular solution consists of two set of 4N linear equations to solve
+
Results
Results: Different thicknesses – No base reflection
𝜏=1000 𝜏=10 𝜏=5
𝜏=2 𝜏=1 𝜏=0.5
𝜏=1000 𝜏=10 𝜏=5
𝜏=2 𝜏=1 𝜏=0.5
Results: Different thicknesses – No base reflection
𝜏=1000 𝜏=10 𝜏=5
𝜏=2 𝜏=1 𝜏=0.5
Results: Different thicknesses – No base reflection
Results: Polarization
Subsurface BRDF exhibits polarization effects
Results: Different materials
Titanium dioxide Iron oxide Gold Aluminium arsenide
Results: Different materials – BRDF lobe
Titanium dioxide Iron oxide Gold Alluminium arsenide
Results: Different materials – Degree of polarization
Titanium dioxide Iron oxide Gold Alluminium arsenide
Results: Different materials – Lambertian base
Results : Different materials – Diffuse base (BRDF)
Titanium dioxide Iron oxide Gold Aluminium arsenide
Results: Different materials – Diffuse base (DOP)
Titanium dioxide Iron oxide Gold Aluminium arsenide
Results: Different materials – Metallic base
Results: Different materials – Metallic base (BRDF)
Titanium dioxide Iron oxide Gold Aluminium arsenide
Results: Different materials – Metallic base (DOP)
Titanium dioxide Iron oxide Gold Aluminium arsenide
Results: Accuracy – Benchmark validationZenith angle
Benchmark VectorComputations
ScalarComputations
1.0 4.26589 (-2) 4.49015 (-2) 4.48836 (-2)
0.9 7.94053 (-2) 7.94052 (-2) 7.94753 (-2)
0.8 1.16434 (-1) 1.16433 (-1) 1.16630 (-1)
0.7 1.64182 (-1) 1.64182 (-1) 1.64538 (-1)
0.6 2.27083 (-1) 2.27083 (-1) 2.27612 (-1)
0.5 3.10078 (-1) 3.10078 (-1) 3.10761 (-1)
0.4 4.18565 (-1) 4.18565 (-1) 4.19350 (-1)
0.3 5.57063 (-1) 5.57063 (-1) 5.57858 (-1)
0.2 7.25362 (-1) 7.25361 (-1) 7.26032 (-1)
0.1 9.14221 (-1) 9.14221 (-1) 9.14614 (-1)
0.0 1.11180 1.10894 1.10893
Benchmark data from Wauben and Hovenier (1992)
Results: Accuracy
Taking polarization into accounts yields better precision
Demo• BRDF Solver• Polarized renderer
Thank you
VRTE Solution
𝜇 𝜕𝜕𝜏 𝐼 (𝜏 ,𝜔 )=− 𝐼 (𝜏 ,𝜔 )+ 𝐽 (𝜏 ,𝜔 )+𝑄 (𝜏 ,𝜔 ,𝜔 𝑖𝑛)
Use of the Discrete Ordinate Method (DOM):
𝐽 (𝜏 ,𝜔 )= 𝛼4 𝜋∫
− 1
1
𝑝 (𝜏 ,𝜔 ,𝜔 ′ ) 𝐼 (𝜏 ,𝜔 ′ )𝑑𝜔 ′
𝜇𝑖𝜕𝜕𝜏 𝐼 (𝜏 ,𝜔𝑖 )=− 𝐼 (𝜏 ,𝜔𝑖 )+ 𝐽 (𝜏 ,𝜔 𝑖 )+𝑄 (𝜏 ,𝜔𝑖 ,𝜔𝑖𝑛)
𝐽 (𝜏 ,𝜔 𝑖 )=𝛼4𝜋 ∑
𝑗=0
𝑁
𝑤 𝑗𝑝 (𝜏 ,𝜔𝑖 ,𝜔 𝑗 ) 𝐼 (𝜏 ,𝜔 𝑗 )
VRTE Solution
The VRTE can be written as:
𝜇𝑖𝜕𝜕𝜏 𝐼 (𝜏 ,𝜔𝑖 )=− 𝐼 (𝜏 ,𝜔𝑖 )+
𝜔2 ∑
𝑗=0
𝑁
𝑝 (𝜏 ,𝜔𝑖 ,𝜔 𝑗 ) 𝐼 (𝜏 ,𝜔 𝑗 )+𝑄 (𝜏 ,𝜔𝑖 ,𝜔 𝑖𝑛)
That we reorganize:
𝜇𝑖𝜕𝜕𝜏 𝐼 (𝜏 ,𝜔𝑖 )+ 𝐼 (𝜏 ,𝜔 𝑖 )−
𝜔2 ∑
𝑗=0
𝑁
𝑝 (𝜏 ,𝜔𝑖 ,𝜔 𝑗 ) 𝐼 (𝜏 ,𝜔 𝑗 )=𝑄 (𝜏 ,𝜔 𝑖 ,𝜔𝑖𝑛 )
Components expressed using
Components independant of
VRTE Solution
We introduce an differential operator :
ℒ [ 𝐼 (𝜏 ,𝜔𝑖 ) ]=𝑄(𝜏 ,𝜔 𝑖 ,𝜔𝑖𝑛)
Needs to be solved for each and
𝜇 𝜕𝜕𝜏 𝐼 (𝜏 ,𝜔 𝑖 )+ 𝐼 (𝜏 ,𝜔𝑖 )−
𝜔2 ∑
𝑗=0
𝑁
𝑝 (𝜏 ,𝜔 𝑖 ,𝜔 𝑗 ) 𝐼 (𝜏 ,𝜔 𝑗 )=𝑄 (𝜏 ,𝜔𝑖 ,𝜔 𝑖𝑛)
VRTE Solution
Standard solution is the combination of the homogeneous solution...ℒ [ 𝐼 h❑ (𝜏 ,𝜔𝑖 ) ]=0
... and one particular solution.
ℒ [ 𝐼𝑝❑ (𝜏 ,𝜔𝑖 ) ]=𝑄 (𝜏 ,𝜔 ,𝜔𝑖𝑛)
+
VRTE Solution
• The homogeneous solution consists of an 4N x 4N Eigen problem
• The particular solution consists of a set of 4N linear equations to solve
• It needs to be solved for each