adaptive mesh subdivision for precomputed radiance transfer jaroslav křivánek univ. of central...

22
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 ComputerGraphicsGroup

Upload: lena-spain

Post on 01-Apr-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Adaptive Mesh Subdivision for Precomputed Radiance Transfer

Jaroslav KřivánekUniv. of Central Florida

CTU Prague

IRISA – INRIA Rennes

Sumanta Pattanaik

Univ. of Central Florida

Jiří ŽáraCTU Prague

ComputerGraphicsGroup

Page 2: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Goal Decrease the interpolation Error

uniform adaptive

Page 3: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Overview Precomputed Radiance Transfer Transfer Operator Sampling Density Subdivision algorithm Triangle error estimate Conclusion

Page 4: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

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

Page 5: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

PRT Terminology

Page 6: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

PRT Terminology

Page 7: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

PRT Terminology

Page 8: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

PRT for Diffuse Surfaces

lt ppL )(

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

Page 9: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

no abrupt change of tp

Transfer Vector

Abrupt changes of tp

Possible abrupt changes of Lp

l1

l2

abrupt change of tp

Page 10: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

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

Page 11: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Adaptive Sampling Example

200 verts246 tris

1565 verts2548 tris

1188 verts2828 tris

Page 12: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Adaptive Sampling Example

200 verts246 tris

1565 verts2548 tris

1188 verts2828 tris

Page 13: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

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

Page 14: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

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 ?

),(|),(),(| int

,1||||max lxL

lxLlxLxl

Page 15: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

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

||||||||2

2),(

1

121

vv

vvvv

tttt

(1)

Page 16: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Results with Error Estimate (1)

Too much subdivision in shadowed areas.

is low is high.|||| 21 vv tt ||||||||2

2

1

1

vv

vv

tttt

Page 17: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Error Estimate (2) Division by promotes subdivision in

shadowed areas. Solution: remove the division by .

New error estimate:

|||| 21 vv tt

|||| 21 vv tt

|||| 2),( 121 vvvv tt (2)

Page 18: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Results with Error Estimate (2)

||||||||2

2),(

1

121

vv

vvvv

tttt

worse

|||| 2),( 121 vvvv tt

Better subdivision around the box / box faces.

better

Page 19: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Problems with Error Estimate (2) Works fine for flat surfaces Exaggerated on curved surfaces

Page 20: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

Rectified Error Estimate for Curved Surfaces

Divide by the angle between the normals at v1 and v2.

)arccos(1||||

21),(

2121

nntt

vv

vv (3)

Page 21: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

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

Page 22: Adaptive Mesh Subdivision for Precomputed Radiance Transfer Jaroslav Křivánek Univ. of Central Florida CTU Prague IRISA – INRIA Rennes Sumanta Pattanaik

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