1 / 10

Physically Based Real-time Ray Tracing

Physically Based Real-time Ray Tracing. Ryan Overbeck. Overview. Ray tracing Broadest success at solving physically based rendering tasks. But is slower than Z-Buffer (for primary visibility) Real-time Ray Tracing Recent algorithmic improvements make real-time ray tracing possible

julio
Télécharger la présentation

Physically Based Real-time Ray Tracing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Physically Based Real-time Ray Tracing Ryan Overbeck

  2. Overview • Ray tracing • Broadest success at solving physically based rendering tasks. • But is slower than Z-Buffer (for primary visibility) • Real-time Ray Tracing • Recent algorithmic improvements make real-time ray tracing possible • Most of these algorithmic improvements have only been demonstrated for primary visibility w. point light shadows • Physically Based Ray Tracing • Uses Path Tracing / Monte-Carlo ray tracing for physical effects • Consistent algorithmic improvements over the years • Very Slow • Currently Real-time and Physically Based ray tracing algorithms don’t work well together

  3. Real-time Ray Tracing • Ray Packets: Shoot 4 or 4x4 (or more) rays at a time • Neighboring rays take similar paths through the scene • Use SIMD (ie. SSE) instructions to perform one instruction on 4 floating point values at once • Use interval arithmetic to use a single test to represent the entire packet • Geometry Proxies: Frustum Traversal, LCTS… • Use bounding geometry to represent a larger group of rays (usually 16x16 – 128x128) • Miscellaneous Improvements • Improved Acceleration Structures, • Geometry Intersection tests, • Multi-threading for multi-core architectures, • …

  4. Physically Based Ray Tracing • Effects • Image anti-aliasing, Motion Blur • Complex Lighting (soft shadows, hard shadows, environment lighting, ambient lighting, inter-reflections…) • Complex Materials (perfect reflection, glossy reflection, subsurface scattering,…) • Film / Lens effects (depth of field, bloom, …) • Tools • Intelligent sampling distributions (Stratified Sampling, Importance Sampling, Low discrepancy sampling, Poisson Disc Sampling, …) • Adaptive / Interpolated Sampling • Image / Film processing (filters, tone mapping,…)

  5. My Goals • Long Term: • Design algorithms to marry real-time ray tracing with physically based ray tracing • Short Term: • Build a Framework within which I can experiment • Where to start? • MLRT – fastest real-time ray tracer • Would need to make it more general • Highly optimized code very difficult to modify • PBRT – Most general Free physically based ray tracer • Would need to make it fast • Very nice design: easy to modify

  6. Progress • Started overhaul of PBRT • Tightened up kd-tree traversal code • Added accelerations for ray vs. triangle intersection • Parallelized PBRT -- multi-core processors • Tile image space (usually 64x64 tiles) • statically assign tiles to threads • Added 4-ray packets for primary rays • Shoot 4 rays at a time • Use SIMD SSE to accelerate ray traversal

  7. Test Setup • 512x512 images • 1 sample/pixel • PBRT low discrepancy sampling for primary samples • 2x2 PBRT box filter for image reconstruction • 3.0GHz Pentium 4 (2 cores)

  8. Test Setup • Scenes

  9. Results

  10. Next Steps • Tighten up samplers and image filtering • These two are adding ~.3 s to 512x512 render time (almost as much as ray casting) • Larger ray packets (esp. 4x4) • Add Frustum Traversal • Move to secondary effects • This will mark the beginning of new research territory

More Related