Operator Formulation of Light Transport II CS295, Spring 2017 Shuang Zhao Computer Science Department University of California, Irvine CS295, Spring 2017 Shuang Zhao 1
Announcement • The deadline for PA1 has been extended to this Thursday (May 4) CS295, Spring 2017 Shuang Zhao 2
Last Lecture • Monte Carlo Path Tracing III • MIS for direct illumination • Operator formulation of light transport • Ray space, throughput measure • Functions and operators • Operator formulation of the RE CS295, Spring 2017 Shuang Zhao 3
Today’s Lecture • Operator formulation of light transport II • Sensors and measurements • Adjoint operators and adjoint particle tracing CS295, Spring 2017 Shuang Zhao 4
Recap: Ray Space • Let be the set of surfaces in the scene, then is the ray space consisting of all light rays originating from all surface points • Let , then the throughput measure is given by CS295, Spring 2017 Shuang Zhao 5
Recap: Useful Operators • For any function • The local scattering operator K : • The propagation operator G : CS295, Spring 2017 Shuang Zhao 6
Recap: Operator Formulation of the RE • Given the two operators K and G , we can rewrite the rendering equation (RE) as • Solving the RE is effectively inverting ( I - T ) where I denotes the identity operator: CS295, Spring 2017 Shuang Zhao 7
Operator Formulation of the RE L L e … = CS295, Spring 2017 Shuang Zhao 8
Operator Formulation of the RE Direct illumination L L e T L e … = + CS295, Spring 2017 Shuang Zhao 9
Operator Formulation of the RE 2-bounce indirect illumination T 2 L e L L e T L e … = + + CS295, Spring 2017 Shuang Zhao 10
Sensors and Measurements • Up to this point, we have been considering estimating individual radiance values L ( x , ω ) or Li( x , ω ) • In practice, we often need to estimate the response of some sensor described by the measurement function CS295, Spring 2017 Shuang Zhao 11
Sensors and Measurements • can be estimated using MC integration: where p 0 is a probability density over all rays • In practice, it is desirable to have or • After drawing r ~ p 0 , L i ( r ) can in turn be estimated using path tracing CS295, Spring 2017 Shuang Zhao 12
Example: Irradiance Meter CS295, Spring 2017 Shuang Zhao 13
Example: Irradiance Meter computeIrradiance (): x = uniformSampleSensor() ω = uniformRandomPSA( n x ) return | A | * π * receivedRadiance( x , ω ) CS295, Spring 2017 Shuang Zhao 14
Example: Pinhole Camera Image plane Pixel i Center of A pixel projection CS295, Spring 2017 Shuang Zhao 15
Example: Pinhole Camera Image plane Pixel i Center of A pixel projection computePixelIntensity ( i ): x = uniformSamplePixel( i ) ω = normalize( x - o ) return receivedRadiance( x , ω ) CS295, Spring 2017 Shuang Zhao 16
Adjoint Operators • The adjoint of an operator H is denoted H *, and is defined by the property that • If H = H *, then H is called self-adjoint • The propagation operator G is self-adjoint CS295, Spring 2017 Shuang Zhao 17
Adjoint Operators • The local scattering operator K satisfies that • K is self-adjoint if for all • This is the case for all BRDFs with reciprocity (which holds for all BRDFs we have seen up to this point) CS295, Spring 2017 Shuang Zhao 18
Adjoint Operators • For any operators A , B and C : • A + B = B + A • A ( BC ) = ( AB ) C • ( A + B )* = A * + B *, ( A B )* = B * A *, ( A -1 )* = ( A *) -1 • Based on these properties and the fact that G is self-adjoint, we have CS295, Spring 2017 Shuang Zhao 19
Adjoint Operators • G ( I - KG ) -1 is self-adjoint when K is self-adjoint • Therefore, • ( I - KG ) -1 L e gives the radiance L (as a function on the ray space) satisfying the RE: L = KG L + L e • ( I - K * G ) -1 W e gives another function satisfying W = K * G W + W e CS295, Spring 2017 Shuang Zhao 20
The Importance Transport • W is called the importance function • Computing requires solving the W important transport problem given by W = K * G W + W e • The sensor acts as the light source in the light transport problem by emitting importance W e • Any algorithm that estimates L for the original light transport problem (e.g., path tracing) can be adapted to estimate W CS295, Spring 2017 Shuang Zhao 21
Light vs. Importance Transport Importance transport Light transport • • Transport equation Transport equation W = K * G W + W e L = KG L + L e • • Central quantity Central quantity W (importance) L (radiance) • • Source term Source term W e (importance “emitted” by L e (radiance emitted by light sensors) sources) • • Measurements Measurements I = < G W, L e > = <W i , L e > I = <W e , G L> = <W e , L i > Same results! CS295, Spring 2017 Shuang Zhao 22
Adjoint Particle Tracing • Goal: estimating • Initial step: • Draw x and ω from some probability density or • Then, Known after drawing x and ω CS295, Spring 2017 Shuang Zhao 23
Example: Sampling Area Lights Area light emitting Similar to irradiance radiance L 0 into meters in the light transport problem all directions CS295, Spring 2017 Shuang Zhao 24
Example: Sampling Area Lights Area light emitting Similar to irradiance radiance L 0 into meters in the light transport problem all directions computeMeasurement (): x = uniformSampleLight() ω = uniformRandomPSA( n x ) return | A | * L 0 * π * receivedImportance( x , ω ) CS295, Spring 2017 Shuang Zhao 25
Adjoint Particle Tracing • Main step: estimating W ( x , ω ) • This can be done using an algorithm equivalent to path tracing since • We call this algorithm adjoint particle tracing to emphasize that it solves the adjoint (importance transfer) problem CS295, Spring 2017 Shuang Zhao 26
Path vs. Adjoint Particle Tracing # Path tracing (version 0.1) radiance ( x , ω ): rad = emittedRadiance( x , ω ) ω i = uniformRandomPSA( n x ) y = RayTrace( x , ω i ) rad += π * radiance( y , - ω i ) * brdf( x , ω i , ω ) return rad # Adjoint particle tracing (version 0.1) importance ( x , ω ): imp = emittedImportance( x , ω ) ω o = uniformRandomPSA( n x ) y = RayTrace( x , ω o ) imp += π * importance( y , - ω o ) * brdf( x , ω , ω o ) return imp CS295, Spring 2017 Shuang Zhao 27
Next-Event Estimation • Similar to path tracing, next-event estimation can drastically improve the convergence rate • Same idea: separating direct & indirect Path tracing: Adjoint particle tracing: CS295, Spring 2017 Shuang Zhao 28
Direct and Indirect Importance CS295, Spring 2017 Shuang Zhao 29
Evaluating Direct Importance • Sensor sampling • p sensor is usually picked as the uniform distribution over the surface A of the sensor. Namely, CS295, Spring 2017 Shuang Zhao 30
Evaluating Direct Importance • BRDF sampling • Desirable to have or CS295, Spring 2017 Shuang Zhao 31
Evaluating Direct Importance • Similar to evaluating direct illumination, the two sampling methods can be combined using multiple importance sampling (MIS) CS295, Spring 2017 Shuang Zhao 32
Path vs. Adjoint Particle Tracing • Since , both algorithms lead to the same answer • Which one to use depends on the light source and measurement functions (namely, L e and W e ) CS295, Spring 2017 Shuang Zhao 33
Challenging Light Sources • Collimated beam A • Problem: A • Neither light source nor BRDF sampling can give a point y on A with precisely aligned with ω e • Can never hit A precisely from direction - ω e CS295, Spring 2017 Shuang Zhao 34
Challenging Light Sources • Collimated beam A • In this case, we should solve the adjoint problem A instead CS295, Spring 2017 Shuang Zhao 35
Next Lecture • Path integral formulation CS295, Spring 2017 Shuang Zhao 36
Recommend
More recommend