Ray Tracing Animated Scenes using Motion Decomposition Johannes



























- Slides: 27
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 Ph. D 04, Reshetov SIG 05] – Clever acceleration structures (SAH [Mc. Donald GI 89]) § Best known method: kd-trees [Havran Ph. D 01] § BUT, so far only static scenes – Walkthrough – Rigid-body animations [Wald PVG 03] § Reason: high kd-tree build time preprocessing September 7, 2006 Eurographics, Vienna 2
Related Work – Dynamic Scenes Three approaches: § Alternative acceleration structures – BVHs [Wald TOG 06, Lauterbach RT 06] – Grids [Wald SIG 06] – Hybrid data structures [Woop GH 06, Havran RT 06, Wächter EGSR 06] § Faster construction of kd-trees – [Popov RT 06, Hunt RT 06] § Avoid the (re)construction of kd-trees September 7, 2006 Eurographics, Vienna 3
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, 2006 Eurographics, Vienna 4
Method Overview § Motion decomposition – Affine transformations + residual motion § Fuzzy kd-tree – Handles residual motion § Clustering – Exploit local coherent motion September 7, 2006 Eurographics, Vienna 5
Motion Decomposition § Dynamic scene: ball thrown onto floor September 7, 2006 Eurographics, Vienna 6
Motion Decomposition § Affine transformations – Approximate deformations – Include shearing (3 rd frame) September 7, 2006 Eurographics, Vienna 7
Motion Decomposition residual motion September 7, 2006 Eurographics, Vienna 8
Motion Decomposition fuzzy boxes September 7, 2006 Eurographics, Vienna 9
Fuzzy KD-Tree § Handles residual motion § KD-Tree over the fuzzy boxes of triangles Valid over complete animation September 7, 2006 Eurographics, Vienna 10
Illustration transformation September 7, 2006 Eurographics, Vienna 11
Illustration affine transformations only September 7, 2006 Eurographics, Vienna adding residual motion 12
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, 2006 Eurographics, Vienna 13
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, 2006 Eurographics, Vienna 14
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, 2006 Eurographics, Vienna 15
Results September 7, 2006 Eurographics, Vienna 16
Video September 7, 2006 Eurographics, Vienna 17
Ray Tracing Performance Single CPU (Opteron 2. 8 GHz) 1024× 1024 px Incl. shading September 7, 2006 Eurographics, Vienna 18
More Complex Shading § With texturing, lighting, shadows: 2. 2 fps (static kd-tree: 4. 1 fps) September 7, 2006 Eurographics, Vienna 19
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 September 7, 2006 Eurographics, Vienna 20
Clustering Process Residual Motion September 7, 2006 Eurographics, Vienna 21
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/PG 06] September 7, 2006 Eurographics, Vienna 22
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, 2006 Eurographics, Vienna 23
Questions? Thank You September 7, 2006 Eurographics, Vienna 24
September 7, 2006 Eurographics, Vienna 25
Finding “Good” Transformations § Transformation X of vertex v § Solve linear least squares problem September 7, 2006 Eurographics, Vienna 26
Clustering Process Residual Motion September 7, 2006 Surface Area Eurographics, Vienna 27