160 likes | 179 Views
Real-time Rendering of Heterogeneous Translucent Objects with Arbitrary Shapes. Stefan Kinauer KAIST (Korea Advanced Institute of Science and Technology). Outline. Previous Work System Overview The Discretization The Diffusion Equation Storage Management Algorithm Results Performance.
E N D
Real-time Rendering of Heterogeneous Translucent Objects with Arbitrary Shapes Stefan Kinauer KAIST (Korea Advanced Institute of Science and Technology)
Outline • Previous Work • System Overview • The Discretization • The Diffusion Equation • Storage Management • Algorithm • Results • Performance
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)
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
System Overview • Precomputetetrahedralstructure • Computetheincomingradiance on thesurface • Solvethediffusionequation • PDE solvedbyrelaxationmethod • surfaceradianceasboundarycondition • discretised on thetetrahedralconnectivitygraph (Quadgraph) • parallel on the GPU • Display theresults
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
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
The Diffusion Equation • The physically motivated equation • inner nodes: • surface nodes: • Finite Difference Method to discretise Eq.1 Eq.2
Storage Management (1/2) • using textures • divide each texture into surface and inner • about 20MB for 100k vertices 16-bits float textures 32-bits integer textures
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
The Algorithm Eq.1 Eq.2
Quality of Results • do not render the original geometry, but render the surface generated by triangulation of the surface nodes
Performance • Intel Core2Duo 2.13GHz CPU, with 2GB memory and an NVIDIA Geforce 8800GTX GPU with 768MB graphics memory
Questions? Video