440 likes | 597 Views
Recent Advances in Radiosity. Philippe Bekaert Department of Computer Science K.U.Leuven. Global Illumination. Goal: produce images that are perceived indistinguishable from reality. Global Illumination (2). Three steps: Modelling: geometry + optical properties
E N D
Recent Advances in Radiosity Philippe Bekaert Department of Computer Science K.U.Leuven
Global Illumination • Goal: produce images that are perceived indistinguishable from reality. KV 02/10/98 T.U.Wien
Global Illumination (2) • Three steps: • Modelling: geometry + optical properties • Illumination computation: stochastic ray tracing, radiosity method, … • Visualisation of the result (tone mapping, ...) KV 02/10/98 T.U.Wien
Illumination computation KV 02/10/98 T.U.Wien
Radiosity view-independent solution (world-space) diffuse scenes (soft shadows, colour bleeding, …) approximate solution on BREP model. time consuming ? huge storage requirements (only for simple scenes)? Ray-Tracing view-dependent solution (pixel-driven) general reflection, refraction, emission exact solution for CSG models, procedural objects, fractals, ... low storage requirements (complex scenes) reliable Radiosity vs. (MC) Ray Tracing KV 02/10/98 T.U.Wien
The Radiosity Method • Scene discretised in patches i • Compute average radiosity Bi [W/m2] for each patch by solving ... • The radiosity system of equations: Bi = Ei + ri Sj FijBj reflectivity form factor KV 02/10/98 T.U.Wien
The Radiosity Method(2) • Four steps: • Discretisation of the scene into patches • Form factor Fijcomputation • Solution of radiosity system of equations • Render image using computed radiosities • In practice: intertwined steps KV 02/10/98 T.U.Wien
Step 1: Discretisation • Quality: • consistent enumeration of vertices • well-formed facets • non intersecting facets (shadow- and light leaks) • Constant radiosity assumption should be fulfilled (cannot be determined a priori) KV 02/10/98 T.U.Wien
Discretisation (2) • Illustration: washed out shadows, light leaks KV 02/10/98 T.U.Wien
Step 2: Form Factors • Fij= Fraction of power emitted by i and received by j. • Difficult double integral, numerous techniques: analytic formulae, contour integration, MC integration of deterministic quadrature rules, hemicube, MC simulation ... • Number of FF = square number of patches: storage? KV 02/10/98 T.U.Wien
Step 3: Radiosity system solution • Iterative methods (Jacobi, Gauss-Seidel, Southwell =progressive radiosity) • Monte Carlo simulation • Not so problematic. KV 02/10/98 T.U.Wien
Step 4: Rendering • Not so problematic either Using graphics hardware Ray-tracing second pass KV 02/10/98 T.U.Wien
Summary of problems: • Discretisation (meshing) quality • Need for a priori adaptive meshing • Form factor storage • Form factor computation time • Reliability: numerical errors KV 02/10/98 T.U.Wien
Solutions • Discontinuity meshing • Hierarchical Refinement • Clustering • Implicit instead of explicit form factor computation by MC simulation • Higher order approximations instead of constant • View potential driven “focussing” of the computations KV 02/10/98 T.U.Wien
Hierarchical Refinement • Goal: • automatic adaptive discretisation • reduction of the number of form factors through multiresolution representation of radiosity. • Example: KV 02/10/98 T.U.Wien
oracle says: “Refine!” oracle says: “OK!” Recursive refinement in HR. KV 02/10/98 T.U.Wien
Hierarchical refinement • Questions: • Q1: When to refine? • Q2: If required, how to carry out refinement? • Q3: How to keep the multilevel representation consistent? • Q4: Relation between link error threshold and total error? KV 02/10/98 T.U.Wien
Q1: When to refine? • When form factor too large. • Based on error estimates: total error = approximation error + propagated error. KV 02/10/98 T.U.Wien
Q2: How to refine? • Which element: receiver or source? • The largest of the two • The one contributing the largest error • How to subdivide the chosen element? • Regular quad-tree subdivision • Along discontinuity lines • Alternative: Increase approximation order. KV 02/10/98 T.U.Wien
Q3: Keeping the MRR consistent • Goal: obtain new consistent representation of total radiosity on all levels? • push: propagate radiosity top-down • pull: average radiosity bottom-up. KV 02/10/98 T.U.Wien
Q4: link error versus total error? • Link error threshold can be computed in order to give same total error everywhere. • Experiment: measured (total) error versus desired accuracy: KV 02/10/98 T.U.Wien
Remaining problems: • Storage requirements: still several 100 bytes per element. • Computational error on form factors and error estimates. • Solution: avoid explicit form factor computation and storage!!! KV 02/10/98 T.U.Wien
Monte Carlo Radiosity • Simulate path of photons through environment. Score yields radiosity. • Form factors do not need to be computed explcitely. KV 02/10/98 T.U.Wien
Which is best?? • Breadth first versus depth first • Local versus global lines. • Continuous versus discrete: • discrete = warp particle to new position on hit patch. • Influence of random number generator (MC versus QMC) ???
1) Breadth-first versus depth-first Depth-first (particle tracing) Breadth-first (WDRS)
Breadth-first RW (1) Initial power distribution new power distribution Initial ray set
Breadth-first RW (2) modified power distribution extra rays (same ray power) new power distribution
Breath-first RW (3) extra rays (same ray power as before)
Breath-first RW (4) extra rays (same ray power as before)
Breadth-first vs depth-first • It doesn‘t really matter. Random Halton
2) Local versus Global Lines • Global lines are cheaper per intersection, but local lines allow better sample distribution. Local lines Global lines (Sbert’93)
Local versus Global Lines: global local random Halton
3) Continuous versus discrete Keller Continuous Halton Discrete Halton
Problems of MC Radiosity • lack of automatic adaptive meshing • noise/aliasing effects • Solution: hierarchical refinement!! KV 02/10/98 T.U.Wien
Hierarchical Monte Carlo Radiosity • Random walk algorithms avoiding explicit form factor computation and storage • Per sample decision what level of detail is appropriate for light transport. • Combination of wavelets and Monte Carlo.
Recursive refinement in HMC. form factor sample line oracle says: “OK!” oracle says: “Refine!” KV 02/10/98 T.U.Wien
Results: • Surprisingly fast first complete solutions. • Gradually improved by reducing noise • Low storage requirements (no form factor storage) • Reliable (no difficult element pairwise form factor integration)
5min. 9min. 10min. KV 02/10/98 T.U.Wien
Conclusion • We´ve come a long way. • The way ahead is also long: • more efficient refinement + better approximations • general light transport (not only diffuse) • participating media • dynamic scenes • ... • DEMO TIME!!!