Operator Formulation of Light Transport II CS295, Spring 2017 - PowerPoint PPT Presentation
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
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
Explore More Topics
Stay informed with curated content and fresh updates.