Green's function solution to subsurface light transport for BRDF computation
Charly Collin β Ke Chen β Ajit Hakke-PatilSumanta Pattanaik β Kadi Bouatouch
Our goal:
ππ (πππ ,πππ’π‘ )=πΌ (πππ’π‘)πΈ (π ππ)
β’ Base layerβ’ Binder thicknessβ’ Particle type and distribution
Compute the diffuse BRDF from physical properties:
BRDF Computation
Several methods exist to compute the diffuse component:
β’ Approximate methods:β Kubelka-Munkβ Dipole model
Lam bertian model Real-world material
Several methods exist to compute the diffuse component:
β’ Approximate methods:β Kubelka-Munkβ Dipole model
β’ Accurate methods:β Photon mappingβ Monte Carloβ Adding-Doubling Methodβ Discrete Ordinate Method
BRDF Computation
Stochastic methods
Deterministic methods
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
πΌ (πππ’π‘) πΌ (πππ’π‘)
BRDF Computation
BRDF computation requires computing the radiance field at the top of the material
The radiance field is modeled as a solution to the Radiative Transfer Equation
πΌ πππ
πΌ (πππ’π‘)
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
π (π ,π ,π β² ) πΌ (π ,π β² )ππ β²
π
π½ (π ,π )πΌ (π ,π β² )
ππππ
πΌ (π ,π )=β πΌ (π ,π )+ π½ (π ,π )+π (π ,π ,π ππ)
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 .
π
πΌ πππ
ππππ
πΌ (π ,π )=β πΌ (π ,π )+ π½ (π ,π )+π (π ,π ,π ππ)
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 .
ππππ
πΌ (π ,π )=β πΌ (π ,π )+ π½ (π ,π )+π (π ,π ,π ππ)
To compute the BRDF, RTE needs to be solved for each incident and outgoing direction.
RTE Solution
β’ Fourier expansion of the radiance
πΌ (π ,π )=12πΌ 0 (π ,π )+ β
π=1
πΏ
πΌπ (π ,π) cos (ππ )
π=(π ,π )
RTE Solution
The RTE for each expansion order can be written as:
π πππ
πΌπ (π ,π)=β πΌπ (π ,π )+π2β«β 1
1
ππ (π ,π β²) πΌπ (π ,πβ²)ππ β²+ππ (π ,π ,πππ)
That we reorganize:
π πππ
πΌπ (π ,π) +πΌπ (π ,π)βπ2β«β1
1
ππ (π ,πβ² ) πΌπ (π ,πβ² )ππβ²=ππ (π ,π ,πππ )
Components expressed using
Components independant of
RTE Solution
We introduce an integro-differential operator :
β [ πΌπ (π ,π ) ]=ππ(π ,π ,πππ)
Needs to be solved for each and
π πππ
πΌπ (π ,π) +πΌπ (π ,π)βπ2β«β1
1
ππ (π ,πβ² ) πΌπ (π ,πβ² )ππβ²=ππ (π ,π ,πππ )
RTE Solution
Standard solution is the combination of the homogeneous solution...
β [ πΌ hπ (π ,ππ ) ]=0
... and one particular solution.
β [ πΌππ (π ,ππ ) ]=ππ (π ,π ,πππ )
+
RTE Solution
The homogeneous solution is independant of
The particular solution depends on
It can be solved only once for each
Its computation must be repeated for each incident direction!
How to take advantage of the similarity of the computations?
Greenβs function solution
Greenβs function are defined as:
β± [πΊ(π₯ :π‘)]=πΏ(π‘βπ₯)
Property of the function:
β«π
π
πΏ (π‘βπ₯ ) ππ‘=1
β± [ π (π₯ ) ]=π(π₯ )
β«π
π
πΏ (π‘βπ₯ )π(π‘)ππ‘=π (π₯ )
For a generic differential equation:
β«π
π
β± [πΊ(π₯ :π‘) ]π (π‘)ππ‘=π (π₯)
Greenβs function solution
β± [ π (π₯ ) ]=π(π₯ )
β± [ π π (π₯ ) ]=π(π₯)
β«π
π
β± [πΊ(π₯ :π‘) ]π (π‘)ππ‘=β± [ π π (π₯ ) ]
β± [β«π
π
πΊ(π₯ :π‘)π (π‘)ππ‘ ]=β± [ π π (π₯ ) ]
β± [πΊ(π₯ :π‘)]=πΏ(π‘βπ₯) β«π
π
β± [πΊ(π₯ :π‘) ]π (π‘)ππ‘=π (π₯)
Considering a particular solution :
Leading to the equality:
β«π
π
πΊ(π₯ :π‘)π(π‘ )ππ‘= π π (π₯ )
Greenβs function solution
How to compute ?
β± [πΊ(π₯ :π‘)]=πΏ(π‘βπ₯)
For any :
β± [πΊ(π₯β π‘ :π‘)]=0 Homogeneous equation!
For , use of a jump condition:
β«π‘βπ
π‘+π
β± [πΊ(π₯ :π‘)]ππ₯=β«π‘βπ
π‘+π
πΏ (π‘β π₯ )ππ₯
πΊ (π‘+π :π‘ )βπΊ (π‘βπ :π‘ )=1
The Greenβs function can be expressed using only the homogeneous solution
Back to the RTE
β [ πΌπ (π ,π ) ]=ππ(π ,π ,πππ)
π πππ
πΌπ (π ,π) +πΌπ (π ,π)βπ2β«β1
1
ππ (π ,πβ² ) πΌπ (π ,πβ² )ππβ²=ππ (π ,π ,πππ )
In this case the Greenβs function is defined as a 4-D function:
β [πΊπ (π ,π :π‘ ,π β² ) ]=πΏ(π‘βπ)πΏ(πβ²βπ)
And our particular solution can be expressed as:
β«0
ππππ₯
β«β 1
1
πΊπ (π ,π :π‘ ,πβ² )ππ ( π‘ ,πβ² )=πΌππ (π ,π)
Back to the RTEβ [πΊπ (π β π‘ ,π :π‘ ,π β² ) ]=0
Using the homogeneous solution, we can express:
πΊπ (π<π‘ ,π :π‘ ,π β² ) πΊπ (π>π‘ ,π :π‘ ,π β² )and
The jump condition becomes:
π [πΊπ (π‘+π ,π :π‘ ,π β² )βπΊπ (π‘βπ ,π :π‘ ,π β² ) ]=πΏ(π β² βπ)
RTE Solution
The homogeneous solution is independant of
The particular solution is now an integration of the Greenβs function
It is solved only once
The Greenβs function can be expressed using πΌ hπ (π ,ππ )
Is it faster?
Without Greenβs function
Using Greenβs function
Time
Number of incident directions
Time needed to compute the particular solution
Results
That DOM solution can be used for computing subsurface BRDF for different pigment particles types