Physically based real time ray tracing
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Physically Based Real-time Ray Tracing PowerPoint PPT Presentation


  • 204 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Physically based real time ray tracing

Physically Based Real-time Ray Tracing

Ryan Overbeck


Overview

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


Real time ray tracing

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,


Physically based ray tracing

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,…)


My goals

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


Progress

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


Test setup

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)


Test setup1

Test Setup

  • Scenes


Results

Results


Next steps

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


  • Login