270 likes | 440 Views
Zhao Dong 1 , Jan Kautz 2 , Christian Theobalt 3 Hans-Peter Seidel 1. Interactive Global Illumination Using Implicit Visibility. 1 MPI Informatik Germany. 2 University College London UK. 3 Stanford University US. Motivation. Global Illumination (GI) Effects.
E N D
Zhao Dong1, Jan Kautz2, Christian Theobalt3Hans-Peter Seidel1 Interactive Global Illumination Using Implicit Visibility 1 MPI Informatik Germany 2 University College London UK 3 Stanford University US
Motivation • Global Illumination (GI) Effects Soft Shadow [HLHS03] Hard Shadow Arbitrary BRDF [KSS02] Direct +Indirect Lighting [Fantasylab] Direct Lighting Zhao Dong
Motivation • GI effects is important for realistic image synthesis. • Real-time GI rendering is an open problems, especially for dynamic scene. • Visibility update is always the key bottleneck. Implicitly evaluate visibility info. Zhao Dong
Related Works • Hierarchical Radiosity • Explicit visibility evaluation is expensive. • Dynamic scene global update “links” per frame. • Interactive Ray Tracing • Difficult to interactively handle indirect lighting or environmental (area) light sources. • Dynamic Ambient Occlusion • Multiplying incident lighting with a precomputed factor that represents the visible hemispherical area at a point. Just a ratio number, directional info is incorrect. [Hanrahan91] [Wald07] [Bunnell05] Zhao Dong
Related Works • Precomputed Radiance Transfer • Dynamic Scene make the precomputation difficult • SH Exponentiation Direct lighting only. • Implicit Visibility and antiradiance • Many similarities with our method • Our implicit visibility handling is slightly more flexible, as we impose no restrictions on the dynamics of the scene, but is also slightly more expensive. [Ren06] [Dachsbacher07] Zhao Dong
Light Transport • Rendering Equation [Kajiya86] Zhao Dong
Light Transport • Approximate Render Equation Zhao Dong
Basic Implicit Visibility Concept • ShadowMap concept: • Keep the link with the shortest distance in each bin. • Assumptions: • Each element is small. • Constant energy across each element’s extent. • A surface element covers the extent of the spherical bin. Nearest Element Zhao Dong
Basic Implicit Visibility Concept • Naive Solution • O(N2), N is the Number of scene Element. • Hierarchical Solution • Similar with hierarchical Radiosity[Hanrahan91] • O(NlogN) Zhao Dong
Algorithm Overview • Preprocess Geometry: • Create surface elements (surfels) based on input geometry • Create Hierarchical geometric structures (QuadTree) • For each frame Do: • Update the geometry information for initial geometric hierarchy. • Create hierarchical links between elements. • Refine hierarchical links, Top Down, Remove unnecessary links. • Push down all the links to leaf node. • For each bounce Do: • Gathering incident energy from links and compute illumination in leaf nodes. • Pull up the indirect lighting energy from leaf to root. • End For • End For Zhao Dong
Preprocess Geometry • Create Surfels: • One vertex One Surfel • Surfel position = vertex position • Surfel normal = vertex normal • Surfel texture coords = vertex texture coords • Texture coords is for Parameterization. • Surfel area [Bunnell05]: Normal Position Texture Coords Area Surface Elements (Surfels) Zhao Dong
Preprocess Geometry • Create hierarchical geometric structures • Based on UV texture coords (One texture atlas One QuadTree) • For deformable model, geometric hierarchy created once. • For parent node in hierarchy: Zhao Dong
Create Hierarchical Links • Similar with Hierarchical Radiosity [Hanrahan91] • Plus implicit visibility check: Shortest distance link Atlas1 Atlas2 Atlas0 Atlas3 BinArray of Shortest Link Stored Link Zhao Dong
Refine Hierarchical Links • Why? • Unnecessary links for the same bin appear in different tree levels A C C B B A A BinArray of BinArray of Same bin Shortest Link Shortest Link Zhao Dong
Refine Hierarchical Links • For the arrow in the figure: • Different Color Different Bins • The length of arrow distance of link Level2 Level1 Level0 Zhao Dong
Illumination Computation • Pushdown the links to leaf node • Leaf node is vertex, so we evaluate illumination for each vertex (Leaf node level). • Illumination Computation • For each vertex, Gathering incident energy from hierarchical links. • For deformable model, each frame we can reuse the hierarchical links to compute N-bounces lighting. • Similar with Hierarchical Radiosity [Hanranhan91], each leaf node should Pull up itsout shooting energy to it’s parent node! (multiply with its area ratio) Zhao Dong
Preprocess once, which depends on the model’s Complexity, and it is very fast on CPU side! Execute for each frame. Create And Refine hierarchical links is the main Computation cost! Currently implemented on CPU! Fully run on GPU side and it is Quite fast! Algorithm Implementation • Preprocess Geometry: • Create surface elements (surfels) based on input geometry • Create Hierarchical geometric structures (QuadTree) • For each frame Do: • Update the geometry information for initial geometric hierarchy. • Create hierarchical links between elements. • Refine hierarchical links, Top Down, Remove unnecessary links. • Push down all the links to leaf node. • For each bounce Do: • Gathering incident energy from links and compute illumination in leaf nodes. • Pull up the indirect lighting energy from leaf to root. • End For • End For Zhao Dong
Results: Various Bin Numbers 6x16x16, 4.42FPS Path Tracing 6x12x12, 6.23FPS 6x8x8, 7.89FPS Zhao Dong
Results: Efficiency Analysis 6x8x8 6x12x12 6x16x16 Zhao Dong
Results: Indirect Lighting Direct, 6x16x16, 5.73FPS One-bounce, 6x16x16, 4.95FPS Two-bounces, 6x16x16, 4.43FPS Zhao Dong
Results: Non-hierarchical VS Hierarchical Non-hierarchy, 6x16x16, 8.5s 6x16x16, 4.83FPS Path Tracing 6x16x16, coarse mesh Zhao Dong
Results: Area Light (One-bounce) Path Tracing 6x16x16, 5.12FPS Zhao Dong
Results: Glossy && Between objects Path Tracing 6x12x12, 8.02FPS Direct Lighting,6x12x12,3.86FPS Zhao Dong
Result: Video Zhao Dong
Limitation && Problems • Limitations: • Parameterization based on the texture coords, so input model must be textured. • Our method is related with space distribution of vertex, so for too coarse input mesh, the light leaking will happen. • Create && Refine hierarchical links currently only implemented on CPU, and occupy most of the time Moderately complex scenes. • Currently no explicit strategy for maintaining the temporal coherence of hierarchical links structure, so some flickering effects appear in animation. Zhao Dong
Conclusion && Future Works • Conclusion • A novel global illumination method that builds on and extends the traditional hierarchical radiosity approach by implicitly evaluating visibility. • Full global illumination solutions for moderately complex and arbitrarily deforming dynamic scenes at near-real-time frame rates on a single PC. • Future Works • Investigate explicit temporal coherence strategies improve animation quality • Decoupling the tessellation of the mesh from shading computation. • Integration with NormalMap/DisplacementMap Zhao Dong
Questions and Thanks! • Questions and Thanks! Zhao Dong