220 likes | 352 Views
Computer. Graphics. Group. Adaptive Mesh Subdivision for Precomputed Radiance Transfer. Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes. Sumanta Pattanaik Univ. of Central Florida. Jiří Žára CTU Prague. Goal Decrease the interpolation Error. uniform.
E N D
Computer Graphics Group Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik Univ. of Central Florida Jiří Žára CTU Prague
Goal Decrease the interpolation Error uniform adaptive
Overview • Precomputed Radiance Transfer • Transfer Operator Sampling Density • Subdivision algorithm • Triangle error estimate • Conclusion
Precomputed Radiance Transfer (PRT) • Restrictions • Low-frequency directional lighting • Soft shadows only • Per-vertex precomputation • Rigid objects only Precompute global illumination (per-vertex) Display GI in real-time under arbitrary lighting
PRT 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
Transfer Vector • Abrupt changes of tp Possible abrupt changes of Lp abrupt change of tp l1 l2 no abrupt change of tp
Our 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
Adaptive Sampling Example 200 verts 246 tris 1565 verts 2548 tris 1188 verts 2828 tris
Adaptive Sampling Example 200 verts 246 tris 1565 verts 2548 tris 1188 verts 2828 tris
Subdivision 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
Ideal 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 ?
Practical 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)
Results with Error Estimate (1) • Too much subdivision in shadowed areas. • is low is high.
Error Estimate (2) • Division by promotes subdivision in shadowed areas. • Solution: remove the division by . • New error estimate: (2)
Results with Error Estimate (2) • Better subdivision around the box / box faces. worse better
Problems with Error Estimate (2) • Works fine for flat surfaces • Exaggerated on curved surfaces
Rectified Error Estimate for Curved Surfaces • Divide by the angle between the normals at v1 and v2. (3)
Conclusion • 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
Discussion + 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