Bounded-Error Interactive Ray Tracing
Kavita Bala, Seth Teller and Julie Dorsey


Motivation: Ray tracing produces high quality images, but is slow.

    + High quality imagery
      Arbitrary implicit primitives
      Global illumination effects

Goal: Interactive Ray Tracer

Insights:


Accelerating shading with guaranteed error bounds

High-Level Algorithm

  • Collect radiance samples
  • Store samples in data structure
  • For subsequent pixels, reuse stored samples to approximate radiance
  • Use error predicate to adaptively sample radiance. The user specifies an error bound epsilon that is respected.

  • Ray parameterization

  • Ray tracers compute radiance. Radiance varies along rays in space.
  • Every ray that intersects an object can be parameterized by 4 intercepts. (Why? What are the assumptions for this to be true?)
  • Is this parameterization of two planes sufficient to represent all rays that intersect the object?
    DEMO


    Accelerating visibility/pixel assignment

    Reproject linetree cells from previous frame.

    Detect occlusion using shaft culling.


    Results

    -> ->
    70% of the pixels can be reprojected from the previous frame (Fast Path). 15% of the pixels are interpolated (Accelerated Path). 15% of the pixels are shaded by the standard ray tracer (Slow Path).


    Additional Results

    The first row shows rendered images, while the second row shows color-coded images. Interpolation succeeds in gray-blue regions. Yellow and green correspond to failure due to discontinuities. Magenta corresponds to failure due to non-linearity. Red corresponds to failure due to potential occlusion.


    Page maintained by: Kavita Bala (kaybee@graphics.lcs.mit.edu)
    Last updated: Apr 27 1998