Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo...

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

Transcript of Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo...

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

Ray Tracing Animated Scenes using Motion Decomposition

Johannes Günther, Heiko Friedrich, Ingo Wald, Hans-Peter Seidel,

and Philipp Slusallek

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

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

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

September 7, 2006 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

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

September 7, 2006 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

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

September 7, 2006 Eurographics, Vienna 5

Method Overview

Motion decomposition– Affine transformations

+ residual motion

Fuzzy kd-tree– Handles residual motion

Clustering– Exploit local coherent motion

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

September 7, 2006 Eurographics, Vienna 6

Motion Decomposition

Dynamic scene: ball thrown onto floor

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

September 7, 2006 Eurographics, Vienna 7

Motion Decomposition

Affine transformations– Approximate deformations– Include shearing (3rd frame)

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

September 7, 2006 Eurographics, Vienna 8

Motion Decomposition

residual motion

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

September 7, 2006 Eurographics, Vienna 9

Motion Decomposition

fuzzy boxes

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

September 7, 2006 Eurographics, Vienna 10

Fuzzy KD-Tree

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

Valid over complete animation

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

September 7, 2006 Eurographics, Vienna 11

Illustration

transformation

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

September 7, 2006 Eurographics, Vienna 12

Illustration

affine transformations only adding residual motion

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

September 7, 2006 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

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

September 7, 2006 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

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

September 7, 2006 Eurographics, Vienna 15

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

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

September 7, 2006 Eurographics, Vienna 16

Results

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

September 7, 2006 Eurographics, Vienna 17

Video

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

September 7, 2006 Eurographics, Vienna 18

Ray Tracing Performance

Single CPU(Opteron 2.8 GHz)

1024×1024 px

Incl. shading

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

September 7, 2006 Eurographics, Vienna 19

More Complex Shading

With texturing, lighting, shadows: 2.2 fps(static kd-tree: 4.1 fps)

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

September 7, 2006 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

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

September 7, 2006 Eurographics, Vienna 21

Clustering ProcessResidual Motion

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

September 7, 2006 Eurographics, Vienna 22

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 advanceHarnessing more information from application– Skinning operators, skeleton, joint angles with limits– See also [TVC/PG06]

Future Work

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

September 7, 2006 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

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

September 7, 2006 Eurographics, Vienna 24

Questions?

Thank You

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

September 7, 2006 Eurographics, Vienna 25

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

September 7, 2006 Eurographics, Vienna 26

Transformation X of vertex v

Solve linear least squares problem

Finding “Good” Transformations

'vvX

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

September 7, 2006 Eurographics, Vienna 27

Clustering Process

Residual Motion Surface Area