Title: Implicit Visibility and
1SIGGRAPH 07 Carsten Dachsbacher REVES/INRIA
Sophia-Antipolis Marc Stamminger University
of Erlangen George Drettakis REVES/INRIA
Sophia-Antipolis Fredo Durand MIT CSAIL
- Implicit Visibility and
- Antiradiance for
- Interactive Global Illumination
Presented by Yu-Ting Wu. 10/04/2007
2 3Abstract
4Abstract
- Traditional rendering equation
Explicit Visibility Computation
5Abstract
Implicit Visibility !!
6Outline
- Introduction and Related Works
- Reformulating the Rendering Equation
- Discrete Finite Element Solution
- Implementation on Graphics Hardware
- Results
- Discussion
- Conclusion and Future Work
7- Introduction
- and
- Related Works
8Main Concept
- The main expense of global illumination is the
cost of visibility - Idea reformulate the rendering equation to
treat the visibility implicitly - Ignore the visibility problem first
- Then cancel out the extraneous light by
introducing a new quantity antiradiance(negative
light)
Facilitate the parallelization on graphics
hardware
9Related Works
- Negative light
- BACKALEW, C., and FUSSELL, D. SIGGRAPH 89
- PUECH, C., SILLION, F., and VEDEL, C. I3D 90
- Reformulation of rendering equation
- PELLEGRINI, M. SODA 99
- Dynamic global illumination
- TOLE, P., PELLACINI, F., WALTER, B., and
GREENBERG, D. P. SIGGRAPH 02 - Precomputed radiance transfer (PRT)
- SLOAN, P.-P,. LUNA, B., and SNYDER, J.
SIGGRAPH 05
10Overview
- System overview and techniques
- Propagate antiradiance to compensate the
extraneous light and avoid explicit visibility
computation - Use spatial and directional finite elements to
solve the new reformulated rendering equation
11Overview (cont.)
- Use pre-filtering in space and directions for
form-factor computation - Develop a hierarchical and clustering solution to
deal with complexity
12Contributions
- A reformulation of the rendering equation
- Implicit visibility and the idea of antiradiance
- Two iterative solutions
- One provably converges but slower
- The other converges in practice and cheaper
- Hierarchical discretization
- Scalable for large scene
- Appropriate refinement and pre-filtering
- An efficient GPU implementation
- No visibility dependency, enhance parallelization
13- Reformulating the
- Rendering Equation
14Traditional Rendering Equation
Radiance
15Traditional Rendering Equation (cont.)
geometry operator
reflection operator
Rendering Equation
16Reformulation
- Replace the geometry operator G with an operator
U which does not need explicit visibility - Define the operator U
17Reformulation (cont.)
18Reformation (cont.)
- Introduce a new quantity, antiradiance, to cancel
out the extraneous radiance - Define a go-through operator J to let the
incident light through opaque objects
19Reformulation (cont.)
- With the help of J, we can describe the relation
between G and U
20Reformulation (cont.)
antiradiance, A
21Reformulation (cont.)
- Remove G to get rid of explicit visibility
Therefore, we can compute one iteration step of
classical light transport
22Reformulation (cont.)
- Finally we have reformulated the rendering
equation by replacing G with U and A
New rendering equation
23Iterative Solution
- Two schemes to compute L and A
- Asymmetric Iteration corresponds to traditional
global illumination and provably converges - after one step of
- Iterate several steps of
- until convergence
- Symmetric Iteration iteratively propagate the
above joint equation, cannot formally prove
convergence but stable in practice
24Iterative Solution (cont.)
- Discussion
- Visually, convergence is achieved after less than
10 iterations - The output result doesnt make difference between
these two solutions
25Iterative Solution (cont.)
26- Discrete Finite
- Element Solution
27Discretization
- Discretize the scene into a hierarchy of patches
pi with centers xi - Discretize the space of directions into m bins,
each covers a solid angle ?bin 4p / m (620
degrees in practice)
28Iterative Computation
- The iterative computation consists of two steps
- Global passsimilar to the link pass of
traditional radiosity, generate operator U - Local passtransfer incident radiance Lin to
exitant intensity and antiradiance, thus, compute
the operator K and J
29Iterative Computation (cont.)
- Global pass
- Receiving patch pi (centered at xi)
- Sending patch pk(centered at xk)
- Interaction bin ?j lt-gt ?l
?l
?j
30Iterative Computation (cont.)
- Global pass (cont.)
- The flux from xk emitted toward dA is
- Distribute the incident flux uniformly over the
receiving bin to get the incident radiance at xi
form-factor
Compare to traditional form-factor
31Iterative Computation (cont.)
- Global pass (cont.)
- Link creation
32Iterative Computation (cont.)
- Hierarchy and Refinement
- To make the computation tractable, solve the
finite element problem hierarchically - The method is similar to Hierarchical Radiosity
with Clustering Smits et al. 1994 Sillion 1995
33Iterative Computation (cont.)
Condition1 The solid angle of the sender with
respect to the receiver is larger than a bin ?
Subdivide the link
A
B
- Condition2
- The solid angle of the sender with respect to the
receiver is smaller than a bin - Compute form-factor and
- establish the link
34Hierarchy and Refinement (cont.)
- Interaction bin refinement
- The sender patch may cover a large solid angle so
that spread over several bins, thus lead to
artifacts - Select a circular neighborhood of size of s to
pre-filter the form-factor with Gaussian blur
Refinement using pre-filtering
35Iterative Computation (cont.)
- Local pass
- Transform incident radiance Lin to reflected
intensity(IL) and antiradiance itensity(IA)
36Direct light and Dynamic Scenes
- Direct light initialization
- This approach is geared towards indirect
illumination - For direct illumination, using one of existed
method to initialize the incident radiance of the
samples in the scene - Environment map
- Shadow map (for direct shadow)
- During rendering, sum direct and indirect
lighting computation in screen-space
37Direct light and Dynamic Scenes(cont.)
- Moving objects and lights
- Moving or deforming objects are handled naturally
with this approach because there is no need to
consider visibility - If the position of moving objects can be
reasonably bound, the hierarchy doesnt need to
be updated and only the form-factor need to be
recomputed - The moving light can be handled in the same way
38- Implementation on
- Graphics Hardware
39Data Structures
- Three tables with n rows(number of elements) each
with m columns(number of bins), storing - Exitant intensity Iex
- Incident radiance Lin
- Total intensity Itotal
40Data Structures
41Operations
42Operations (cont.)
- Global pass
- Energy is transferred from one outgoing bin of a
sender to the bins of a receiver
43Operations (cont.)
- Push operation
- Push the energy down the hierarchy
- Local pass
- Iterate over all bins of every element
- Convolve the incident radiance with BRDF to
obtain the reflected energy and antiradiance - Accumulate the energy to Itotal table
- Pull operation
- Pull energy from the leaves to their parents
44 45Implement Environment
- All the tests were run on
- Xeon processor (3Ghz)
- NVIDIA GeForce 8800 GTX
- The reference solutions are computed with
PBRTPharr and Humphreys 2004, which using a
path-tracer module - Film
46Comparison
Path tracing 12K rays / pixel 350 x 330
pixels 13hr 39min
This paper 1024bins / 6088 elements 8
iterations 3min 45s on CPU
47Comparison (cont.)
512 bins
128 bins
48Comparison (cont.)
This paper 480K links / 12.5K elements 8
iterations 1.1 fps on GPU
Path tracing 8K rays / pixel 40hr
49Comparison (cont.)
GPU 9 fps
CPU Imin 45s
PBRT 8hr 25min
Form-factor with Visibility 80min
Instant Radiosity 9 fps
50Comparison (cont.)
Triangles / Elements / Links / Iterations / FPS /
FPS(anti-aliasing)
Initial linking / Local pass / Global pass / Push
pull / Texture memory / Link memory
51 52Discussion and Limitation
- Limitation
- Increased memory usage
- The convergence of symmetric scheme can not be
ensured
53- Conclusion
- and
- Future Work
54Conclusion
- A reformulation of the rendering equation using
implicit visibility - A GPU friendly method which enhances
parallelization - Interactive updates of global illumination for
complex scene - With moving objects and lights, and glossy
reflectors
55Future Work
- Apply the different way of thinking visibility
problem to other applications - Occlusion culling
- More theoretical analysis of the system for
efficiency and high-quality solutions - Sampling
- Filtering