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
|
 |
 |
- Slow expensive computation
Ray tracing is traditionally regarded as an offline computation
For each pixel of an image the ray tracer determines:
Visibility (pixel assignment)
Goal: Interactive Ray Tracer
Insights:
+ Large amount of coherence (spatial and temporal) to be exploited.
+ Visibility and shading can be separated out and independently accelerated.
+ User would like to trade performance for quality.
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
+ Exploits temporal coherence for smooth movements of view point
 |
 |
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
Page maintained by: Kavita
Bala (kaybee@graphics.lcs.mit.edu)
Last updated: Apr 27 1998