Virtual Light Field [email protected] College London
GR/R13685/01
Research funded by:
Ray Tracing Dynamic Scenes with VLF-RT
Pankaj Khanna
VLF Project
Dynamics in a scene
Structured motion– Animation of all polygons
in dynamic object can be expressed by a single transformation matrix
Unstructured motion– Polygons of dynamic
object undergo unrelated transformations
BART Museum7 Scene: Jonas Lext, Ulf Assarsson, and Tomas Akenine-Möller, ``A Benchmark for Animated Ray Tracing'', IEEE Computer Graphics and Applications, pp. 22-31, March/April 2001. http://fibbla.ce.chalmers.se/BART/
VLF Project
Changes to the VLF-RT data-structure
Each tile now has a linear list of dynamic polygons that overlap it– Currently a fixed-size array allocated on demand
Global frame-counter and local update-frame counter mechanism to track validity & updates
VLF Project
Updating tiles on an animation change
Rasterization of dynamic polygons (in tile-space) at float-precision
– Problems with integer-arithmetic rasterization– CPU vs GPU rasterization– Set tile’s update-frame counter to global counter– Multithreaded (1/2 PSFs each)
VLF Project
On-demand tile updating
Updating a PSF’s tiles is only important if rays are to be tested along that PSF
Update a PSF on-demand if a ray is to be tested for intersection along it
– Implicitly multi-threaded (as ray-tracing is multi-threaded)– Locking of updates (critical section)
Minimize locking by interleaved traversal of screen rows in top-down & bottom-up orders
– Significant speed-up for Simple (false-colour) & OpenGL shading, marginal (or possibly negative) for Whitted
VLF Project
Ray-intersection test
First intersect static scene using Tile-BSP scheme discussed earlier (for static VLF-RT)
Then intersect linear list of dynamic polygons in the corresponding tile– Alternative scheme to do dynamic first & then
static could significantly reduce intersection-test time
VLF Project
Intersecting dynamic polygons
Structured motion– Can use pre-processed information to use faster
intersection kernel Wald, I, “Realtime Ray Tracing and Interactive Global Illumination”, PhD Thesis,
2004
Unstructured motion– Pre-processing not possible as polygons change
shape/size/orientation per-frame– Currently using (slower) Möller-Trumbore intersection test
Tomas Möller and Ben Trumbore, “Fast, Minimum Storage Ray-Triangle Intersection”, Journal of Graphics Tools, Vol. 2, No. 1, pp. 21-28 1997.
VLF Project
Results
Structured Motion– Video/Demo
207 static & 564 dynamic polygons, 1 emitter
(32x32 Tiling, On-Demand PSF updates)
Simple ‘OpenGL’ Whitted
Total 9.611 10.862 40.559
Min 0.126 0.143 0.521
Max 0.139 0.166 0.617
Avg 0.129 0.146 0.548
StdDev 0.002 0.003 0.022
VLF Project
Results
Unstructured Motion– BART Video
BART museum7 scene
10,284 static polygons
16,384 dynamic polygons
2 point-emitters
Total: 3,867.66 seconds
Max: 38.88 seconds
Average: 12.89 seconds
StdDev.: 8.1543
Tiling: 64x64
Tile-BSP Depth: 6
(Offline Rendered on Dual 2.8Ghz Xeon, 3GB RAM)
VLF Project
Limitations & Future-work
Currently dynamic objects must remain within confines of static scene
Currently polygons (triangles) only– Other primitives are possible if a fast 2D rasterisation &
intersection can be performed
Alternate approach to represent structured dynamic object in its own VLF-RT space (with associated directions) so that coarse tile-updates will suffice
VLF Project
Related publications
Khanna, P., Mortensen, J., Yu, I., Slater, M. (2004) A Visibility Field for Dynamic Ray Tracing, Technical Report, University College London
Khanna, P., Mortensen, J., Yu, I., Slater, M. (2004) Fast Ray Tracing of Scenes with Unstructured Motion, Technical Report, University College London
For these and other related work, see: http://www.cs.ucl.ac.uk/research/vr/Projects/VLF/Media/