Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo Wald, Hans-Peter Seidel, and Philipp Slusallek
September 7, 2006Eurographics, Vienna2 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
September 7, 2006Eurographics, Vienna3 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
September 7, 2006Eurographics, Vienna4 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
September 7, 2006Eurographics, Vienna5 Method Overview Motion decomposition –Affine transformations + residual motion Fuzzy kd-tree –Handles residual motion Clustering –Exploit local coherent motion
September 7, 2006Eurographics, Vienna6 Motion Decomposition Dynamic scene: ball thrown onto floor
September 7, 2006Eurographics, Vienna7 Motion Decomposition Affine transformations –Approximate deformations –Include shearing (3 rd frame)
September 7, 2006Eurographics, Vienna8 Motion Decomposition residual motion
September 7, 2006Eurographics, Vienna9 Motion Decomposition fuzzy boxes
September 7, 2006Eurographics, Vienna10 Fuzzy KD-Tree Handles residual motion KD-Tree over the fuzzy boxes of triangles Valid over complete animation
September 7, 2006Eurographics, Vienna11 Illustration transformation
September 7, 2006Eurographics, Vienna12 Illustration affine transformations onlyadding residual motion
September 7, 2006Eurographics, Vienna13 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
September 7, 2006Eurographics, Vienna14 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
September 7, 2006Eurographics, Vienna15 Ray Tracing: Two-level Approach 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
September 7, 2006Eurographics, Vienna16 Results
September 7, 2006Eurographics, Vienna17 Video
September 7, 2006Eurographics, Vienna18 Ray Tracing Performance Single CPU (Opteron 2.8 GHz) 1024×1024 px Incl. shading
September 7, 2006Eurographics, Vienna19 More Complex Shading With texturing, lighting, shadows: 2.2 fps (static kd-tree: 4.1 fps)
September 7, 2006Eurographics, Vienna20 Comparison to Static KD-Tree Baseline: separate static kd-tree per frame Traversal steps –Factor 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
September 7, 2006Eurographics, Vienna21 Clustering Process Residual Motion
September 7, 2006Eurographics, Vienna22 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] Future Work
September 7, 2006Eurographics, Vienna23 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
September 7, 2006Eurographics, Vienna24 Questions? Thank You
September 7, 2006Eurographics, Vienna25
September 7, 2006Eurographics, Vienna26 Transformation X of vertex v Solve linear least squares problem Finding “Good” Transformations
September 7, 2006Eurographics, Vienna27 Clustering Process Residual MotionSurface Area