110 likes | 284 Views
Ray Tracing Dynamic Scenes with VLF-RT. Pankaj Khanna p.khanna@cs.ucl.ac.uk. 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.
E N D
Ray Tracing Dynamic Scenes with VLF-RT Pankaj Khanna p.khanna@cs.ucl.ac.uk
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/
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
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)
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
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
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.
Results • Structured Motion • Video/Demo
Results • Unstructured Motion • BART Video
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
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/