About "Precomputed Local Radiance Transfer for Real-Time Lighting Design"
The paper "Precomputed Local Radiance Transfer for Real-Time Lighting Design" extends precomputed radiance transfer (PRT) for distance lighting to local lighting.
This is done by following steps.
- 0. Dense uniform sampling of light sources in the scene.
- 1. Precompute the exitant radiance representation X_ij for each vertex.
- Compute the reflected radiance for each vertex per light using photon mapping or gathering pass.
- Here are the meaning of the parameters.
- i : Index of the basis vector.
- j : Index of the light.
- n_l : The number of lights.
- n_b : The number of coefficient per light.
- X_ij for diffuse surfaces : 1 × n_l matrix
- X_ij for specular surfaces : n_b × n_l matrix
- 2. Cluster the light sources
- Clustering of the dense lights is done by following heuristics.
- delta_jk = w_1 * | p_j - p_k | + w_2 * max of vertex_c | X^c_ij - X^c_ik | + V_jk
- i : Index of the first light.
- j : Index of the second light.
- p_i : Position of the first light.
- p_j : Position of the second light.
- V_jk : Visibility between the first light i and the second light j.
- w_1, w_2 : weight of the each metrics.
- 3. Zoning the scene geometry
- Split the scene recursively along the longest axis of the box until some stopping criteria is met.
- 4. Compress the surface radiance using CPCA.
- 5. Real-Time relighting with the local light
- Find the m nearest lights of the user defined light.
- Weight and interpolate them to get the exitant surface radiance.