160 likes | 180 Views
Explore a novel system for rendering diverse translucent objects with arbitrary shapes in real-time. Learn about the discretization process, diffusion equation, storage management, and algorithm used, leading to impressive results and 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