Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo...
-
Upload
deborah-stanley -
Category
Documents
-
view
216 -
download
0
Transcript of Ray Tracing Animated Scenes using Motion Decomposition Johannes Günther, Heiko Friedrich, Ingo...
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
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
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
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
September 7, 2006 Eurographics, Vienna 6
Motion Decomposition
Dynamic scene: ball thrown onto floor
September 7, 2006 Eurographics, Vienna 7
Motion Decomposition
Affine transformations– Approximate deformations– Include shearing (3rd frame)
September 7, 2006 Eurographics, Vienna 8
Motion Decomposition
residual motion
September 7, 2006 Eurographics, Vienna 9
Motion Decomposition
fuzzy boxes
September 7, 2006 Eurographics, Vienna 10
Fuzzy KD-Tree
Handles residual motion KD-Tree over the fuzzy boxes of triangles
Valid over complete animation
September 7, 2006 Eurographics, Vienna 11
Illustration
transformation
September 7, 2006 Eurographics, Vienna 12
Illustration
affine transformations only adding residual motion
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
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
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
September 7, 2006 Eurographics, Vienna 16
Results
September 7, 2006 Eurographics, Vienna 17
Video
September 7, 2006 Eurographics, Vienna 18
Ray Tracing Performance
Single CPU(Opteron 2.8 GHz)
1024×1024 px
Incl. shading
September 7, 2006 Eurographics, Vienna 19
More Complex Shading
With texturing, lighting, shadows: 2.2 fps(static kd-tree: 4.1 fps)
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
September 7, 2006 Eurographics, Vienna 21
Clustering ProcessResidual Motion
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
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
September 7, 2006 Eurographics, Vienna 24
Questions?
Thank You
September 7, 2006 Eurographics, Vienna 25
September 7, 2006 Eurographics, Vienna 26
Transformation X of vertex v
Solve linear least squares problem
Finding “Good” Transformations
'vvX
September 7, 2006 Eurographics, Vienna 27
Clustering Process
Residual Motion Surface Area