1
Real-time Rendering of Heterogeneous Translucent Objects with Arbitrary Shapes
Yajun Wang, Jiaping Wang, Nicolas Holzschuch, Kartic Subr, Jun-Hai Yong, Baining Guo
Simulating translucency
2
Subsurface scattering
Simulating translucency
3
Subsurface scattering
Previous work
4
Previous work
•Monte-Carlo methods [DEJ99, PH00, LPT05 ]
physically accurate slow (several hours)
5
[DEJ99] [PH00]
Previous work
•Dipole diffusion approximation [JMLH01]
faster (minutes) homogenous, no complex shape
6
[JMLH01]
Previous work
•Extension of Dipole model real-time [DS03] ,multi-layer [DJ05] ,
scalable [AWB08]
homogenous
7
[DS03]
[AWB08] [DJ05]
Previous work
•Precomputed Radiance Transfer [XGL07]
[WCPW08]
real-time precomputation
8
[XGL07][WCPW08]
Previous work
•Diffusion Equation [Ish78, Sta95]
Regular grid and multi-grid scheme [Sta95]
first step off-line
The polygrid method [WZT08]
real-time , heterogeneous simple shape
9
Challenges
1. real-time rendering and editing
2. heterogeneous materials
3. complex shapes
10
Our Method
1. in real-time
2. with heterogeneous materials
3. in arbitrary domain
11
Our Method
•Overview•Solving the Diffusion Equation
▫Quadgraph▫Discretized Diffusion Equation▫Implementation on GPU
•Results•Limitations and Conclusions
12
Regular Grid
13
Our Method
Incoming radiance L i
InitializationIteration
Outgoing radiance L o
Optical Properties ( )x ( )xRadiant Fluence ( )x
Regular grid introduces shape constraintsOur domain for diffusion: tetrahedralized geometryInput: radiance incident on surfaceInput: radiance incident on surfaceDiffusion: Flux within objectOutput: Exiting radiance on surfaceExtract exiting radiance from flux at boundary
Diffusion Equation +FEM (2D example)
Our Method
•Overview•Solving the Diffusion Equation
▫Quadgraph▫Discretized Diffusion Equation▫Implementation on GPU
•Results•Limitations and Conclusions
14
QuadGraph
1. Representation of the object volume
2. GPU-friendly
15
QuadGraph
•Construction : TetrahedralizationGoal: Regular connection
16
Output : 4 classes of tetrahedra
[ACSYD05]
QuadGraph
•Construction: SplittingGoal: Regular connection
17
Only tetrahedra in C0 and C1 left
QuadGraph
•Construction: TransformationGoal: Regular connection
18
C0
C1
inner node
inner node + boundary node
QuadGraph
•Result: Regular connection grid
•For inner nodes -> 4 neighbors•For surface nodes -> 1 neighbor
19
Our Method
•Overview•Solving the Diffusion Equation
▫Quadgraph▫Discretized Diffusion Equation▫Implementation on GPU
•Results•Limitations and Conclusions
20
Discretized DE
•Using the same method in [Sta95] [WZT08]
•Based on Quadgraph
21
For inner nodes
For surface nodes
4 2
11
( ) ( ) /( )
( ) ( )
j t j ijjt i
i i
k n n dn
wk n n
1
4 ( )2 ( ) ( )
1( )
2 ( )
ss t k sk
drt s
s sk
q nA n n d
Fn
A n d
Our Method
•Overview•Solving the Diffusion Equation
▫Quadgraph▫Discretized Diffusion Equation▫Implementation on GPU
•Results•Limitations and Conclusions
22
Preprocess and Storage
• Per-node values stored using textures one part for interior nodes one part for surface nodes
23
Iteration on GPU
1. Initialization according to the illumination
2. Iteration on GPU until convergence
24
Initalization During iteration Convergence
Speeding up scheme
•GPU cache coherence (Speed + 30%)
25
Packing the data of nodes by its spatial location
Speeding up scheme
•Multi-resolution (Speed + >100% )
Several Quadgraphs with different resolution
26
Our Method
•Overview•Solving the Diffusion Equation
▫Quadgraph▫Discretized Diffusion Equation▫Implementation on GPU
•Results•Limitations and Conclusions
27
High genus
28
Surface nodes: 121k Inner nodes: 260k Speed: 29.4 FPS
29
High curvature
30
Surface nodes: 82k Inner nodes: 226k Speed: 22.1FPS
31
Real-time rendering
32
Real-time editing of materials
33
34
Real-time editing of geometry shape
35
36
Speed
37
38
Quality
Our Method
•Overview•Solving the Diffusion Equation
▫Quadgraph▫Discretized Diffusion Equation▫Implementation on GPU
•Results•Limitations and Conclusions
39
Limitations
40
1. Materials with high frequency
2. Deformation changing the topology
ConclusionsA new volumetric representation(Quadgraph) for
solving the diffusion equation.
Real-time rendering and editing Heterogeneous materials Complex shapes
41
42
Questions ?
Thank you!
43