1 / 27

Ray Tracing Animated Scenes using Motion Decomposition

Ray Tracing Animated Scenes using Motion Decomposition. Johannes Günther, Heiko Friedrich, Ingo Wald, Hans-Peter Seidel, and Philipp Slusallek. Introduction. Nowadays realtime ray tracing on single PC Packet tracing [Wald PhD04 , Reshetov SIG05 ]

kyran
Download Presentation

Ray Tracing Animated Scenes using Motion Decomposition

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo Wald, Hans-Peter Seidel, and Philipp Slusallek

  2. Introduction • Nowadays realtime ray tracing on single PC • Packet tracing [Wald PhD04, Reshetov SIG05] • Clever acceleration structures (SAH [McDonald GI89]) • Best known method: kd-trees [Havran PhD01] • BUT, so far only static scenes • Walkthrough • Rigid-body animations [Wald PVG03] • Reason: high kd-tree build time  preprocessing Eurographics, Vienna

  3. Related Work – Dynamic Scenes Three approaches: • Alternative acceleration structures • BVHs [Wald TOG06, Lauterbach RT06] • Grids [Wald SIG06] • Hybrid data structures [Woop GH06, Havran RT06, Wächter EGSR06] • Faster construction of kd-trees • [Popov RT06, Hunt RT06] • Avoid the (re)construction of kd-trees Eurographics, Vienna

  4. Avoid Updating the KD-Tree • IDEA: “make dynamic scenes static” • Assumptions: • Deformation of a base mesh (constant connectivity) • All frames of animation known in advance • Local coherent motion Eurographics, Vienna

  5. Method Overview • Motion decomposition • Affine transformations + residual motion • Fuzzy kd-tree • Handles residual motion • Clustering • Exploit local coherent motion Eurographics, Vienna

  6. Dynamic scene: ball thrown onto floor Motion Decomposition Eurographics, Vienna

  7. Affine transformations Approximate deformations Include shearing (3rd frame) Motion Decomposition Eurographics, Vienna

  8. Motion Decomposition residual motion Eurographics, Vienna

  9. Motion Decomposition fuzzy boxes Eurographics, Vienna

  10. Fuzzy KD-Tree • Handles residual motion • KD-Tree over the fuzzy boxes of triangles Valid over complete animation Eurographics, Vienna

  11. Illustration transformation Eurographics, Vienna

  12. Illustration affine transformations only adding residual motion Eurographics, Vienna

  13. Details: Clustering • Efficient ray tracing: • Small fuzzy boxes Minimize residual motion Cluster coherently moving triangles • Many clustering algorithms • But mostly for static meshes • Not designed for ray tracing Develop new one • based on Lloyd relaxation Eurographics, Vienna

  14. Clustering Algorithm • Start with one cluster (all triangles) • Lloyd relaxation: • Find transformations for clusters • Linear least squares problem • Recluster triangles • Until convergence • Insert new cluster • Seeded by triangle with highest residual motion • Until improvement below threshold Eurographics, Vienna

  15. Build top-level kd-tree over current cluster bounds Transform rays into local coordinate system Inverse affine transformation of cluster from motion decomposition Traverse fuzzy kd-tree of cluster Ray Tracing: Two-level Approach Eurographics, Vienna

  16. Results Eurographics, Vienna

  17. Video Eurographics, Vienna

  18. Single CPU (Opteron 2.8GHz) 1024×1024px Incl. shading Ray Tracing Performance Eurographics, Vienna

  19. With texturing, lighting, shadows: 2.2 fps (static kd-tree: 4.1 fps) More Complex Shading Eurographics, Vienna

  20. Comparison to Static KD-Tree • Baseline: separate static kd-tree per frame • Traversal steps • Factor 1.5 - 2 • Intersections • Factor 1.2 – 2, Cow 4, Chicken 6 • Average fps • Factor 1.2 – 2.6, alone two-level kd-tree costs ca. 30% • Memory • only one fuzzy kd-tree (+ transformation matrices) • vs. #frames static kd-trees Eurographics, Vienna

  21. Clustering Process Residual Motion Eurographics, Vienna

  22. Future Work • Clustering also in time domain • Better adaptation to separated animation sequences • E.g. with the chicken: walking, being scared, flying • Handle interpolation between key frames • By interpolation of the computed transformations? • Interaction with dynamic scenes • So far all poses known in advance Harnessing more information from application • Skinning operators, skeleton, joint angles with limits • See also [TVC/PG06] Eurographics, Vienna

  23. Summary • Animated scenes at interactive frame rates • Motion decomposition and fuzzy kd-trees • Automatic clustering into coherently moving sub-meshes • Integrates nicely into existing ray tracing systems Eurographics, Vienna

  24. Questions? Thank You Eurographics, Vienna

  25. Eurographics, Vienna

  26. Finding “Good” Transformations • Transformation X of vertex v • Solve linear least squares problem Eurographics, Vienna

  27. Clustering Process Residual Motion Surface Area Eurographics, Vienna

More Related