1 / 45

Face Cluster Radiosity

This paper presents a method for radiosity rendering on scenes with detailed models using face cluster hierarchies. It introduces the concept of volume clustering and proposes a hierarchical radiosity algorithm with sub-linear complexity. The approach combines simplification and radiosity algorithms, using multiresolution hierarchies of the models to adjust the resolution on the fly. The method effectively reduces computational complexity and provides improved approximation for connected, smooth surfaces.

Download Presentation

Face Cluster Radiosity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Face Cluster Radiosity Eurographics Workshop on Rendering, 1999 Andrew Willmott Paul Heckbert Michael Garland Carnegie Mellon University

  2. The Claim • The Domain • Radiosity on scenes with detailed models • By using face cluster hierarchies we can • Get sub-linear or constant complexity • Better approximate detailed model surfaces

  3. State of the Art • Hierarchical Radiosity with Volume Clustering • Constructs a complete scene hierarchy • Adds volume clusters above input polygons (preprocessing) • Subdivides below input polygons (during solution) • Algorithm is O(k logk + n) • k is the number of input polygons • n is the number of elements used by the solution

  4. Problems • Slow for complex scenes (k >> n) • Must push irradiance down to leaves when gathering, pull radiosity up when shooting • All input polygons must be touched on each iteration • Approximation • Volume clusters approximate a cloud of unconnected polygons • Can do better for connected, largely smooth surfaces

  5. Background • Experimenting with large scanned models • Large enough to make klogk a problem • Observation • Most polygons are for high resolution detail • Don’t affect radiosity computations much • and with Multiresolution Models • Allow you to adjust the resolution of the model at different places on the model

  6. Intuition Instead of running radiosity on detailed model Run radiosity on simplified model Apply results to original model

  7. A Better Solution • Combine simplification & radiosity algorithms • Use multiresolution hierarchies of the models directly • Adjust resolution on the fly to match that needed by the radiosity algorithm

  8. Refinement in the Hierarchy Root: entire scene Input polygons Refinements High Resolution

  9. Simplification Root Simplifications Input polygons High Resolution

  10. Advantages • No manual selection of simplification level • Don’t access each of the k input polygons during each iteration • Don’t store radiosity for each input polygon • Multiresolution models are precalculated • Once for each new model acquired • Amortized over many scenes and renders

  11. Multiresolution Models • Initially used edge-collapse models directly • These contain vertex hierarchies • Switched to using dual of vertex hierarchy algorithm: face cluster hierarchies • It’s easier to deal with face hierarchies

  12. Face Clusters • Group faces rather than vertices • Don’t change geometry of the model

  13. Hierarchical Radiosity Used refinements Input polygons Leaf elements Unused refinements

  14. Add Volume Clustering Volume clusters Used refinements Input polygons Leaf elements Unused refinements

  15. Add Face Clustering Volume clusters Face clusters Used refinements Unusedface clusters Input polygons Leaf elements Unused refinements

  16. Face Cluster Hierarchies • Iteratively merge face clusters • Initial clusters each contain a single polygon • Create links between two child clusters and their union • Repeat until only root cluster left

  17. A Face Cluster • An approximately planar region on the mesh • Container for a set of connected faces • Oriented bounding box • Aggregate area-weighted normal • Pointers to the two child clusters that partition it

  18. Building the Hierarchy • We use Garland’s Quadric method • Dual of edge-collapse simplification • Quadric error term measures distance to best-fit plane of face vertices, rather than distance to face planes of best-fit vertex. • Most important properties • Produces clusters that are approximately planar • Tight oriented bounding box calculated via PCA • Add well-shaped term to get compact clusters

  19. Face Clustered Venus Planar term only With ‘well-shaped’ term

  20. Vector Radiosity • Standard radiosity equation is scalar • Applied to face clusters it incorrectly ignores variation in local normals • No obvious way of combining radiosities of two elements with different normals • Solution • Recast radiosity equation in terms of irradiance vector and power vector

  21. Why Vector Radiosity? Leaf Elements Haar Basis Vector Radiosity

  22. Vector Radiosity Approx. P E E = -mmTP m

  23. Justification • Simplest representation that captures the appropriate behaviour • Minimises storage for each face cluster node • We combine vectors hierarchically to represent complex radiosity distributions

  24. Algorithm Overview • Construct face cluster hierarchy file for each new model. Super-linear in k • Create scene from models • Read in scene description, add root face cluster nodes to a volume cluster hierarchy • Run gather/push-pull/refinesolver. Sub-linear in k • Propagate radiosity solution to leaves of all models, write to disk. Linear in k Dominant

  25. Results • Tested on a million polygon scene. • Medium-high illumination complexity (sun, sky, three spotlights, much reflection) • 6 scanned models, implicit surface podium, displacement-mapped floor • Also tested at several resolutions of that scene, along with progressive and HRVC radiosity algorithms

  26. Museum Scene 2,700,000 triangles Time: 109 secsMemory: 100 MB Progressive and HRVC would not fit in 1GB

  27. Venus Close-up

  28. Results: Solution Time Same scene, progressively fewer polygons

  29. Results: Resident Set Size Same scene, progressively fewer polygons

  30. Conclusions • Face cluster hierarchies proved highly effective for use with radiosity • Sub-linear performance in the number of input polygons, as opposed to ‘previous best’ of O(klogk) • Low memory usage • Extremely detailed scenes

  31. Future Work • Better visibility sampling in final pass • Conservative bounds on radiosity transfer • Comparison to radiance and other radiosity code bases • Project page at • http://www.cs.cmu.edu/~radiosity/mrr/

  32. EXTRAS

  33. Virtual Memory • Face cluster files are written in breadth-first order, so get good memory locality • Usually only small first section of the face cluster file used, so it’s memory mapped • Progressive Radiosity has good total memory use, but very poor locality

  34. Radiance: Medium Quality

  35. Radiance: High Quality

  36. Radiance: Memory Use

  37. Details • m and its error estimated by sampling • Error term doesn’t depend on normals, but penalizes side-on clusters • Visibility by ray casting, nested grids • Use bounding boxes • Fractional visibility used during simulation, visibility resampled at higher resolution for final illumination

  38. Complexity • O(slogs), not O(klogk), where s is the number of face cluster hierarchies. • s << k • Almost always, s << n • Each face cluster hierarchy represents a separate polygon mesh

  39. Vector Radiosity Equations E P

  40. A Dual Edge Contraction

  41. Iterative Face Clustering

  42. FCR Pedestal: Clusters

  43. Transfer Examples

  44. HRVC Pedestal Final

  45. FCR Pedestal Final

More Related