INFORMATIK An Efficient SpatioTemporal Architecture for Animation Rendering

  • Slides: 27
Download presentation
INFORMATIK An Efficient Spatio-Temporal Architecture for Animation Rendering Vlastimil Havran, Cyrille Damez, Karol Myszkowski,

INFORMATIK An Efficient Spatio-Temporal Architecture for Animation Rendering Vlastimil Havran, Cyrille Damez, Karol Myszkowski, and Hans-Peter Seidel Max-Planck-Institut für Informatik, Saarbrücken, Germany

Motivation INFORMATIK In the traditional approach to rendering of high quality animation sequences every

Motivation INFORMATIK In the traditional approach to rendering of high quality animation sequences every frame is considered separately. • The temporal coherence is poorly exploited: Ø redundant computations. • The visual sensitivity to temporal detail cannot be properly accounted for: Ø too conservative stopping conditions, Ø temporal aliasing.

Goal INFORMATIK Developing an architecture for efficient rendering of high-quality animations which better exploits

Goal INFORMATIK Developing an architecture for efficient rendering of high-quality animations which better exploits the spatio-temporal coherence between frames: • Visibility: Multi-frame ray tracing • Global illumination: Bi-directional Path Tracing extended to re-using samples between frames • Texturing and shading: sharing information between frames • Motion blur: conservative computation in 2 D image space • Cache use: coherent patterns of access to data structures in memory (along motion compensation trajectories) • Memory requirements: unlimited image resolution

Previous Work INFORMATIK • Industrial solutions such as Photorealistic. Renderman, Maya Rendering System, or

Previous Work INFORMATIK • Industrial solutions such as Photorealistic. Renderman, Maya Rendering System, or Softimage – frame–by–frame computation – postprocessing of animation to decrease temporal aliasing

Previous Work INFORMATIK Temporal Coherence in Ray Tracing • Coherence of shaded pixels –

Previous Work INFORMATIK Temporal Coherence in Ray Tracing • Coherence of shaded pixels – Interpolation between frames [Maisel and Hegron 92] – Reprojection [Adelson and Hughes 95] – 4 D radiance interpolants [Bala et al. 99] • Coherence in acceleration data structures – Space-time solutions [Glassner 88, Groeller 91] – Static vs. dynamic objects [Besuievsky and Pueyo 01, Lext and Moller 01, and Wald et al. 02]

Previous Work INFORMATIK Temporal Coherence in Global Illumination • Coherence of illumination samples –

Previous Work INFORMATIK Temporal Coherence in Global Illumination • Coherence of illumination samples – Render cache [Walter et al. 99] – Shading cache [Tole et al. 02] – Reusing photon hit points [Myszkowski et al. 01] – Selective Photon Tracing [Dmitriev 02] • Coherence in visibility computation – Global lines [Besuievsky and Pueyo 01] • Coherence in generation of random numbers – Random number sequence associated with each light transport path [Lafortune 96, Jensen 01, Wald et al. 02]

Space-Time Architecture: Principle INFORMATIK • Compute samples using a variant of Path-Tracing • Pixels

Space-Time Architecture: Principle INFORMATIK • Compute samples using a variant of Path-Tracing • Pixels color = mean of sample values • 2 types of samples: – Native samples: 8 Expensive 8 Computed from scratch – Recycled samples: 8 Cheap 8 Based on previous computations of native samples (using reprojections)

Motion Compensation • Camera and object motion compensation • Memory access coherence …. .

Motion Compensation • Camera and object motion compensation • Memory access coherence …. . INFORMATIK

Bi-directional Path Tracing INFORMATIK

Bi-directional Path Tracing INFORMATIK

Camera Motion INFORMATIK

Camera Motion INFORMATIK

Occluded Connection INFORMATIK

Occluded Connection INFORMATIK

Path Change INFORMATIK

Path Change INFORMATIK

Multi-Frame Ray Tracing INFORMATIK • Aggregate queries – Single ray geometry – Results possible

Multi-Frame Ray Tracing INFORMATIK • Aggregate queries – Single ray geometry – Results possible for all frames in [f(i-R-S)’f(i+R)] • Two types of visibility queries – Ray shooting – Visibility between two points • Three settings of visibility queries – Exact result for single frame f(i) – Exact for single frame f(i) + validity for all other frames – Exact results for all frames in [f(i-R)’f(i+R)]

Multi-Frame Ray Tracing INFORMATIK Construction of Spatial Data Structure • • Instantiation of dynamic

Multi-Frame Ray Tracing INFORMATIK Construction of Spatial Data Structure • • Instantiation of dynamic objects for range of frames Static versus dynamic objects separation Construction of global kd-tree over static objects Hierarchical clustering over dynamic objects Construction of kd-trees for clusters of objects Insertion of kd-trees for clusters into global kd-tree leaves Refinement of global kd-tree leaves + empty space cutting off (efficiency improvement methods) Additional techniques used • Mail boxes (cache) for ray transforms, objects, and kd-trees • Frame masks for inserted kd-trees and shadow cache

The Animation Buffer INFORMATIK • Iterates over all pixels in S consecutive frames •

The Animation Buffer INFORMATIK • Iterates over all pixels in S consecutive frames • If more samples are required – Compute a native sample for frame fi – Reproject it and recycle it for all frames in [f(i-R)’ f(i+R)] • S+2 R frames are kept in the buffer R S R

The Animation Buffer INFORMATIK • Iterates over all pixels in S consecutive frames •

The Animation Buffer INFORMATIK • Iterates over all pixels in S consecutive frames • If more samples are required – Compute a native sample for frame fi – Reproject it and recycle it for all frames in [f(i-R)’ f(i+R)] • S+2 R frames are kept in the buffer S Saving to a disk R S R

Shading Computation INFORMATIK • A simplified version of Render. Man Shading Language • Each

Shading Computation INFORMATIK • A simplified version of Render. Man Shading Language • Each shader decomposed into – View-independent component 8 re-usable, shared between frames – View-dependent component 8 recomputed for each frame

Motion Blur INFORMATIK • Accuracy & Quality – The sample point is considered for

Motion Blur INFORMATIK • Accuracy & Quality – The sample point is considered for multiple frames 8 In other frame-by-frame architectures the motion of objects must be computed explicitely by additional samples. – Temporal changes in shading are properly accounted for 8 Difficult in other architectures • Efficiency – 2 D computation

Results INFORMATIK Speedup for bi-directional path tracing • Moving camera, moving objects: 7. 7

Results INFORMATIK Speedup for bi-directional path tracing • Moving camera, moving objects: 7. 7 • Moving objects only: 13. 3 • Moving camera only: 8. 8 Time per frame 240 – 415 sec. Proportion of native samples 2. 4 - 4. 7 % Cost of native samples (profiler) 44 - 64 % of the whole computation time. Disc caching overhead (for 1% of main memory used) 10 % slowdown

Motion blur renderings Time per frame 120 sec. INFORMATIK Time per frame 150 sec.

Motion blur renderings Time per frame 120 sec. INFORMATIK Time per frame 150 sec. Motion Blur - computational overhead 25%

Videos INFORMATIK

Videos INFORMATIK

Conclusions INFORMATIK • We presented an efficient architecture for rendering of highquality animations •

Conclusions INFORMATIK • We presented an efficient architecture for rendering of highquality animations • In our architecture path tracing, texturing and shading, motion blur can be efficiently computed. • Our architecture is efficient in particular for scenes in which a limited number of objects moves locally in the scene and camera motion is slow. – For more complex motion scenario the animation segment length can be reduced which in the limit may boil down to the traditional frame-by-frame computation. • Data structures handling dynamic objects require additional memory, which is acceptable on modern computers. • The memory overhead involved in storing multiple images is negligible due to efficient buffering.

Future Work INFORMATIK • Reusing samples for many pixels in the same frame as

Future Work INFORMATIK • Reusing samples for many pixels in the same frame as suggested in [Bekaert et al. 2002, Szirmay-Kalos 2002] • Improving the efficiency of visibility tests for reprojected samples using a shaft culling approach. • Skipping some visibility tests based on the spatiotemporal coherence of neighboring samples as implemented in the Maya Rendering System [Sung et al. 2002]

Thanks! INFORMATIK • Polina Kondratieva for rewriting Render. Man Shaders • Markus Weber for

Thanks! INFORMATIK • Polina Kondratieva for rewriting Render. Man Shaders • Markus Weber for help with preparing the scenes • Partial support of IST-2001 -34744 project Real. Reflect • All anonymous reviewers for their comments

Space-Time Architecture: Reprojection INFORMATIK

Space-Time Architecture: Reprojection INFORMATIK

Rendering animations – ray tracing with shaders INFORMATIK Speedup ray tracing • Moving camera,

Rendering animations – ray tracing with shaders INFORMATIK Speedup ray tracing • Moving camera, moving objects: 2. 6 Time per frame 770 sec. ( deterministic reflections must be recomputed! )