Title: Adaptive Mesh Subdivision for Precomputed Radiance Transfer
1Adaptive Mesh Subdivision for Precomputed
Radiance Transfer
- Jaroslav Krivánek
- Univ. of Central Florida
- CTU Prague
- IRISA INRIA Rennes
Sumanta Pattanaik Univ. of Central Florida
Jirí ára CTU Prague
2Goal Decrease the interpolation Error
uniform
adaptive
3Overview
- Precomputed Radiance Transfer
- Transfer Operator Sampling Density
- Subdivision algorithm
- Triangle error estimate
- Conclusion
4Precomputed Radiance Transfer (PRT)
Precompute global illumination (per-vertex)
Display GI in real-time under arbitrary lighting
- Restrictions
- Low-frequency directional lighting
- Soft shadows only
- Per-vertex precomputation
- Rigid objects only
5PRT Terminology
6PRT Terminology
7PRT Terminology
8PRT for Diffuse Surfaces
- Lp exit radiance at point p (displayed
intensity) - l light vector (in SH basis)
- tp source-to-exit transfer vector at p
- Computed in preprocess
- Stored per-vertex or per-texel
- Non-adaptively
9Transfer Vector
- Abrupt changes of tp
- ? Possible abrupt changes of Lp
abrupt change of tp
l1
l2
no abrupt change of tp
10Our Goal Refined
- Adaptive Sampling of tp, subject to
- visual error under any lighting is minimized,
- of samples of tp (i.e. verts) is nimimized
- Per-vertex tp ? adaptive mesh subdivision
- Subdivision in pre-process
- Along with the pre-computation of tp
- Actual lighting Lp is not known ?
- Subdivision based only on tp, not on Lp
11Adaptive Sampling Example
200 verts 246 tris
1565 verts 2548 tris
1188 verts 2828 tris
12Adaptive Sampling Example
200 verts 246 tris
1565 verts 2548 tris
1188 verts 2828 tris
13Subdivision Algorithm
- Initial mesh
- Compute tp for vertices of the initial mesh
- Compute error estimate for the triangles of the
initial mesh - Subdivide according to the error estimate
- Proceed recursively (priority queue), until
triangle budget is met
14Ideal Error Estimate
- Ideal error estimate for triangle ?
- Error maximum relative deviation of the
interpolated exit radiance from the correct exit
radiance over all unit power lighting l and all
triangle points x. - Or rather one of possible ideal error
estimates - other possibilities
- avg instead of max ?
- smoothness of the Gouraud interpolation instead
of deviation from the correct value ?
15Practical Error Estimate (1)
- Subdivision in preprocess ?
- Error estimate based uniquely on tp
- Triangle error Sum edge errors
- First edge error estimate (triangle edge v1-v2)
- Development of (1) from the ideal e. e. given
in the paper
(1)
16Results with Error Estimate (1)
- Too much subdivision in shadowed areas.
- is low ? is high.
17Error Estimate (2)
- Division by promotes subdivision in
shadowed areas. - Solution remove the division by .
- New error estimate
(2)
18Results with Error Estimate (2)
worse
better
- Better subdivision around the box / box faces.
19Problems with Error Estimate (2)
- Works fine for flat surfaces
- Exaggerated on curved surfaces
20Rectified Error Estimate for Curved Surfaces
- Divide by the angle between the normals at v1 and
v2.
(3)
21Conclusion
- Adaptive subdivision
- Decreased interpolation error
- Superior quality compared to uniform subdivision
- Subdivision performed in preprocess
- no dynamic subdivision in real-time
- Based on a worst error estimate
22Discussion Future Work
- Drawbacks
- Final error estimate is a pure heuristic
- Requires a lot of tweaking to get good results
- The absolute value of the error estimate is
meaningless - Only the ordering is ok
- Future Work
- Extend to arbitrary BRDFs
- Use textures instead of vertices
- Perceptually based