Date post: | 13-Jan-2016 |
Category: |
Documents |
Upload: | doreen-sims |
View: | 225 times |
Download: | 0 times |
Real-time Rendering of Heterogeneous Translucent Objects
with Arbitrary Shapes
Stefan Kinauer
KAIST (Korea Advanced Institute of Science and Technology)
2
Outline
● Previous Work● System Overview● The Discretization ● The Diffusion Equation ● Storage Management● Algorithm● Results● Performance
3
Previous Work (1/2)
● Photon Mapping● physically accurate, but veery slow (hours
per frame)● A practical model for subsurface light
transport by JENSEN H. W., MARSCHNER S. R., LEVOY M., HANRAHAN P.● diffusion approximation for homogeneous
materials (minutes per frame)● Parallel solution to the radiative
transport by SZIRMAY-KALOS L., LIKTOR G., MENHOFFER T., TÓTH B., KUMAR S., LUPTON G.● homogeneous material (real time)
4
Previous Work (2/2)
● Precomputed radiance transfer for real-time rendering in dynamic, lowfrequency lighting environments. by SLOAN P.-P., KAUTZ J., SNYDER J.● can handle heterogeneous material● no dynamic material properties or geometry
● Modeling and rendering of heterogeneous translucent materials using the diffusion equation. by WANG J., ZHAO S., TONG X., LIN S., LIN Z., DONG Y., GUO B., SHUM H.-Y.● heterogeneous material, real time and
dynamic material properties● but: restricted to simple geometry
5
System Overview
● Precompute tetrahedral structure● Compute the incoming radiance on the
surface● Solve the diffusion equation
● PDE solved by relaxation method● surface radiance as boundary condition● discretised on the tetrahedral
connectivity graph (Quadgraph)● parallel on the GPU
● Display the results
6
Discretization (1/2)
● no regular grid (problematic with fine and complex geometry)
● Quadgraph● 4-connected structure● automatic tetrahedralization: “Variational
tetrahedral meshing“ by ALLIEZ P., COHEN-STEINER D., YVINEC M., DESBRUN M.
● controlled by parameter K, the size difference between inner and near surface tetrahedra
7
Discretization (2/2)
● 0 to 3 surface face tetrahedra● split 2 and 3 surface face tetrahedra
● “0-tetrahedra“ == inner node● “1-tetrahedra“ == 1 inner node + 1
surface node
8
The Diffusion Equation
● The physically motivated equation● inner nodes:● surface nodes:
● Finite Difference Method to discretise
Eq.1
Eq.2
9
Storage Management (1/2)
● using textures● divide each texture into surface and inner
● about 20MB for 100k vertices
32-bits integer textures
16-bits float textures
10
Storage Management (2/2)
● improve cache hit rate for 30% to 60% speedup
● divide textures into r x r blocks● start at a seed node and fill the block
by breadth-first traversal in the Quadgraph
11
The Algorithm
12
The Algorithm
Eq.1
Eq.2
13
Quality of Results
● do not render the original geometry, but render the surface generated by triangulation of the surface nodes
14
Results
15
Performance
● Intel Core2Duo 2.13GHz CPU, with 2GB memory and an NVIDIA Geforce 8800GTX GPU with 768MB graphics memory
16
Questions?
Video