View
88
Download
0
Category
Tags:
Preview:
DESCRIPTION
Research funded by:. GR/R13685/01. Ray Tracing with the VLF (VLF-RT). Jesper Mortensen j.mortensen@cs.ucl.ac.uk. VLF-RT. Aims of the Virtual Light Field. Efficient data structure for storing directionally dependent radiance Fast generation (propagation of radiance) - PowerPoint PPT Presentation
Citation preview
Virtual Light Field Groupvlfproject@cs.ucl.ac.ukUniversity College London
Ray Tracing with the VLF(VLF-RT)
Jesper Mortensenj.mortensen@cs.ucl.ac.uk
GR/R13685/01
Research funded by:
VLF Project
VLF-RT
VLF Project
Aims of the Virtual Light Field
Efficient data structure for storing directionally dependent radiance
Fast generation (propagation of radiance)
Fast rendering of novel views from the data structure
VLF Project
Aims of VLF-RT
Make use of the (existing) VLF data structure
Provide fast ray queries for arbitrary rays
Provide accurate ray queries for arbitrary rays (conservative)
VLF Project
Data structure
Use existing pre-computed tile visibility?
Yes, but tile visibility must be accurate and inclusive, openGL/D3D is approximate
GDI/D3D/OGL e.g. use integer top left rasterization convention
If not done properly:- nasty aliasing….
VLF Project
Rasterization to tiles
VLF Project
Rasterization to tiles (cont’d)
VLF Project
Rasterization to tiles (cont’d)
Rasterization is done for each polygon in each direction
Creates a list of polygon indices for each tile Many tiles will be empty Depth information is lost Polygon A
Polygon B
Polygon C
PSF Tiles
VLF Project
Tile BSP trees
Tiles that intersect complex regions of a scene may have long tile lists
Acceleration structure in effect only 2D Introduce 1D BSP tree for a tile along the
direction of the PSF the tile belongs to We use spatial median subdivision and force
polygons to BSP leaves at a fixed depth
VLF Project
Tile BSP trees (cont’d)
Example of a tile BSP tree
TILE BSP
A A B B C D F FE
PSF
TILEI
AB
C DF
E
TILEj
TILEk
VLF Project
Ray projection
The algorithm for intersecting a ray with the acceleration structure is seemingly simple:1) Find PSF that corresponds to ray2) Project ray origin onto PSF to find tile3) Intersect polygons whose id is in the tile4) Return intersected id of closes intersection
However, the ray may not correspond exactly to a PSF in the set
VLF Project
Ray projection (cont’d)
Project ray onto nearest PSF Compute a list of intersected tiles with
relevant t-intersection ranges This can be done all at once,
or incrementally Incremental approach saves
work due to early raytermination
Rayj RayiPSF
Tiles 1 2 3 4 5
VLF Project
Ray projection (cont’d)
Correct imageDirectional resolution (.5K 2K 8K)
Tile reso
lutio
n (16
2 322 64
2)
VLF Project
Ray intersection overview
To intersect a ray it is projected to the nearest PSF Tiles are visited in near-far order, incrementally BSP tree for a tile is searched in near-far order for
the intersection range defined by the rays intersection with the tile
Ray can terminate as soon as intersection is found in a BSP node
Traversal must be fastBSP traversal is recursive, we avoid explicit recursion by unrolling and using a stack
VLF Project
Intersection kernels
The acceleration structure provides identifiers of polygons that may intersect the ray, to resolve these we use:
Wald’s optimized intersection- Requires pre-computed information- But very fast
Möller-Trumbore intersection- Only requires triangle vertices- But significantly slower than Wald
Both implemented as macros to ensure inlining
VLF Project
Intersection kernels (Wald)
Barycentric projection method Pre-compute and store normals, edges, projection
case, and simplify terms Triangle datastructure is 48bytes + vertices Use cache alignment, ordering matched to algorithm
flow Worst case 10 muls, 1 div, 11 adds Best case (depth rejection) 4 muls, 1 div, 5 adds Wald, I, “Realtime Ray Tracing and Interactive
Global Illumination”, PhD Thesis, 2004.
VLF Project
Intersection kernels (Möller-Trumbore)
Minimum storage, only triangle vertices No pre-computation But no early depth rejection Worst case 27 muls, 1 div, 23 adds Best case
- barycentric u rejection 12 muls, 16 adds - barycentric v rejection 21 muls, 21 adds
Good for unstructured motion, more on this later… Möller, T, Trumbore, B, “Fast, minimum storage ray-triangle
intersection”. Journal of graphics tools, 2(1):21-28, 1997.
VLF Project
Intersection kernels
Intersection Kernels
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
1 31 61 91 121 151 181 211 241 271 301 331 361 391 421 451
Frame
Ren
der
ing
tim
e
WALDMÖLLER-TRUMBORE
In the walkthrough scenario shown below the Wald intersectionkernel was 20% faster than Möller-Trumbore
VLF Project
Rendering
Flexible ray tracing framework Shading
- Simple diffuse- OpenGL like local illumination- Full Whitted ray tracing
VLF Project
Rendering (cont’d)
Spatial median 3D BSP acceleration structure Depth first and Breadth first ray tracing Single and multi-threaded Support triangles only – automatic triangulation 3D file format support:
- Alias Wavefront (OBJ)- Benchmark for Animated Ray Tracing (BART)- Procedural random triangle clouds
VLF Project
Results
Early results on artificial scenes showed promising performance
Recent results on realistic scenes confirm this Comparison with single ray 3D BSP ray tracing
(CRT) favors VLT-RT
VLF Project
Results (random scene)
Walkthrough of 16K randomly distributed triangles Superior performance throughout Less inter frame variation
VLF Project
Results (random scene)
SHOW RANDOM SCENE VIDEO
VLF Project
Results (classroom scene)
Walkthrough of 46K realistic scene Superior performance on average Again, less inter frame variation Memory consumption high (>1GB)
Walkthrough
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
1 51 101 151 201 251 301 351 401
Frame
Tim
e
VF-RT_64_7
VF-RT_80_5
VF-RT_90_6
VF-RT_95_6
WALD_20
VLF Project
Results (classroom scene)
SHOW CLASSROOM VIDEO
VLF Project
Future work
SIMD extensions for ray bundle intersection Hierarchical multi VLF approach Analytical objects
- spheres- parametric surfaces
Transparency (trivial, but missing)
VLF Project
Publications
All publications can be found here: http://www.cs.ucl.ac.uk/research/vr/Projects/VLF/Media/
Recommended