Computation of Polarized Subsurface BRDF for Rendering

Download Report

Transcript Computation of Polarized Subsurface BRDF for Rendering

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
• Binder thickness
• Particle properties:
–
–
–
Refractive indices
Particle radius
Particle distribution
Our goals
Compute the diffuse BRDF from physical properties:
• Base layer
• Binder thickness
• Particle properties:
–
–
–
Refractive indices
Particle radius
Particle distribution
Use polarization in our computations:
•
Accurate light transport simulation:
–
–
Accurate BRDF computation
Accurate global illumination
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
Polarization
The 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:
𝑠0′
𝑚00
′
𝑠1
𝑚10
=
𝑚20
𝑠2′
𝑚30
𝑠3′
𝑚01
𝑚11
𝑚21
𝑚31
𝑚02
𝑚12
𝑚22
𝑚32
𝑚03
𝑚13
𝑚23
𝑚33
𝑠0
𝑠1
𝑠2
𝑠3
• 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
𝐼10
𝐼20
𝐼30
𝐼01
𝐼11
𝐼21
𝐼31
𝐼02
𝐼12
𝐼22
𝐼32
𝐼03
𝐼13
3 = 𝐹𝑟
𝐼2
𝐼33
𝐸00
𝐸10
𝐸20
𝐸30
𝐸01
𝐸11
𝐸21
𝐸31
𝐸02
𝐸12
𝐸22
𝐸32
𝐸03
𝐸13
𝐸23
𝐸33
BRDF Computation
𝐹𝑟 =
𝐸00
𝐸10
𝐸20
𝐸30
𝐸01
𝐸11
𝐸21
𝐸31
𝐸02
𝐸12
𝐸22
𝐸32
3 −1
𝐸0
𝐸13
𝐸23
𝐸33
𝐼00
𝐼10
𝐼20
𝐼30
𝐼01
𝐼11
𝐼21
𝐼31
𝐼02
𝐼12
𝐼22
𝐼32
𝐼03
𝐼13
𝐼23
𝐼33
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
𝜕
𝜇 𝐼 𝜏, 𝜔 = −𝐼 𝜏, 𝜔 + 𝐽 𝜏, 𝜔 + 𝑄 𝜏, 𝜔, 𝜔𝑖𝑛
𝜕𝜏
RTE expresses the change of radiance along optical depth 𝜏.
It has 3 components:
• 𝐼 𝜏, 𝜔 the radiance
• 𝐽 𝜏, 𝜔 corresponding to the light scattering inside the material
𝐽 𝜏, 𝜔 =
𝛼
4𝜋
1
𝑝 𝜏, 𝜔, 𝜔′ 𝐼 𝜏, 𝜔′ 𝑑𝜔′
−1
𝐽 𝜏, 𝜔
𝜏
𝐼 𝜏, 𝜔′
Vector Radiative Transfer Equation
𝜕
𝜇 𝐼 𝜏, 𝜔 = −𝐼 𝜏, 𝜔 + 𝐽 𝜏, 𝜔 + 𝑄 𝜏, 𝜔, 𝜔𝑖𝑛
𝜕𝜏
RTE expresses the change of radiance along optical depth 𝜏.
It has 3 components:
• 𝐼 𝜏, 𝜔 the radiance
• 𝐽 𝜏, 𝜔 corresponding to the light scattering inside the material
• 𝑄 𝜏, 𝜔, 𝜔𝑖𝑛 accounting for attenuated incident radiance
𝑄 𝜏, 𝜔 =
𝛼𝐼𝑖𝑛
4𝜋
𝜏
𝑝(𝜏, 𝜔𝑖𝑛 , 𝜔)𝑒 −
𝜇𝑖𝑛
𝐼𝑖𝑛
𝑄 𝜏, 𝜔
𝜏
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
Results: Different thicknesses – No base reflection
𝜏 = 1000
𝜏 = 10
𝜏=5
𝜏=2
𝜏=1
𝜏 = 0.5
Results: Different thicknesses – No base reflection
𝜏 = 1000
𝜏 = 10
𝜏=5
𝜏=2
𝜏=1
𝜏 = 0.5
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 validation
Zenith
angle
Benchmark
Vector
Computations
Scalar
Computations
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:
Components expressed using 𝐼
𝜇𝑖
𝜕
𝜔
𝐼 𝜏, 𝜔𝑖 + 𝐼 𝜏, 𝜔𝑖 −
𝜕𝜏
2
𝑁
𝑝 𝜏, 𝜔𝑖 , 𝜔𝑗 𝐼 𝜏, 𝜔𝑗 = 𝑄 𝜏, 𝜔𝑖 , 𝜔𝑖𝑛
𝑗=0
Components independant of 𝜔𝑖𝑛
VRTE Solution
𝜕
𝜔
𝜇 𝐼 𝜏, 𝜔𝑖 + 𝐼 𝜏, 𝜔𝑖 −
𝜕𝜏
2
𝑁
𝑝 𝜏, 𝜔𝑖 , 𝜔𝑗 𝐼 𝜏, 𝜔𝑗 = 𝑄 𝜏, 𝜔𝑖 , 𝜔𝑖𝑛
𝑗=0
We introduce an differential operator ℒ:
ℒ 𝐼 𝜏, 𝜔𝑖
= 𝑄(𝜏, 𝜔𝑖 , 𝜔𝑖𝑛 )
Needs to be solved for each 𝜔𝑖𝑛 and 𝜔
VRTE Solution
Standard solution is the combination of the homogeneous solution...
ℒ 𝐼ℎ 𝜏, 𝜔𝑖
=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 𝜔𝑖𝑛