Download presentation source

Download Report

Transcript Download presentation source

Face Cluster Radiosity
Eurographics Workshop on
Rendering, 1999
Andrew Willmott
Paul Heckbert
Michael Garland
Carnegie Mellon University
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
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
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
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
Intuition
Instead of running
radiosity on
detailed model
Run radiosity
on simplified
model
Apply results to
original model
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
Refinement in the Hierarchy
Root: entire scene
Input
polygons
Refinements
High Resolution
Simplification
Root
Simplifications
Input polygons
High Resolution
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
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
Face Clusters
Group faces rather
than vertices
Don’t change
geometry of the model
Hierarchical Radiosity
Used
refinements
Input
polygons
Leaf
elements
Unused refinements
Add Volume Clustering
Volume
clusters
Used
refinements
Input
polygons
Leaf
elements
Unused refinements
Add Face Clustering
Volume
clusters
Face
clusters
Input
polygons
Unused
face clusters
Used
refinements
Leaf
elements
Unused refinements
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
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
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
Face Clustered Venus
Planar term only
With ‘well-shaped’ term
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
Why Vector Radiosity?
Leaf Elements
Haar Basis
Vector
Radiosity
Vector Radiosity Approx.
P
m
E
E = -mmTP
Justification
Simplest representation that captures the
appropriate behaviour
Minimises storage for each face cluster node
We combine vectors hierarchically to
represent complex radiosity distributions
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/refine
Dominant
solver. Sub-linear in k
Propagate radiosity solution to leaves of all
models, write to disk. Linear in k
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
Museum Scene
2,700,000 triangles
Time: 109 secs
Memory: 100 MB
Progressive and
HRVC would not fit
in 1GB
Venus Close-up
Results: Solution Time
Same scene,
progressively
fewer
polygons
Results: Resident Set Size
Same scene,
progressively
fewer
polygons
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
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/
EXTRAS
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
Radiance: Medium Quality
Radiance: High Quality
Radiance: Memory Use
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
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
Vector Radiosity Equations
Ei =
T
 n̂i r̂i j
T
 r̂ji n̂j 
--------------------2---------------- v ij A jb j
rij
j

E i  n̂ i
T
T
– r̂r̂
---------2--- n̂j A jb j
j
r
E
P
T
E = –mm P
A Dual Edge Contraction
Iterative Face Clustering
FCR Pedestal: Clusters
Transfer Examples
HRVC Pedestal Final
FCR Pedestal Final