Ray Tracing Animated Scenes using Motion Decomposition Johannes

  • Slides: 27
Download presentation
Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo Wald, Hans-Peter

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.

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

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

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

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

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)

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 residual motion September 7, 2006 Eurographics, Vienna 8

Motion Decomposition fuzzy boxes September 7, 2006 Eurographics, Vienna 9

Motion Decomposition fuzzy boxes September 7, 2006 Eurographics, Vienna 9

Fuzzy KD-Tree § Handles residual motion § KD-Tree over the fuzzy boxes of triangles

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 transformation September 7, 2006 Eurographics, Vienna 11

Illustration affine transformations only September 7, 2006 Eurographics, Vienna adding residual motion 12

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

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

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

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

Results September 7, 2006 Eurographics, Vienna 16

Video September 7, 2006 Eurographics, Vienna 17

Video September 7, 2006 Eurographics, Vienna 17

Ray Tracing Performance Single CPU (Opteron 2. 8 GHz) 1024× 1024 px Incl. shading

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.

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

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

Clustering Process Residual Motion September 7, 2006 Eurographics, Vienna 21

Future Work § Clustering also in time domain – Better adaptation to separated animation

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

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

Questions? Thank You September 7, 2006 Eurographics, Vienna 24

September 7, 2006 Eurographics, Vienna 25

September 7, 2006 Eurographics, Vienna 25

Finding “Good” Transformations § Transformation X of vertex v § Solve linear least squares

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

Clustering Process Residual Motion September 7, 2006 Surface Area Eurographics, Vienna 27