The Ray Engine

Nathan A. Carr, Jesse D. Hall and John C. Hart

University of Illinois

Download

RayEngine-gh02.pdf

Citation

Carr, Nathan A., Jesse D. Hall and John C. Hart. The Ray Engine. Proc. Graphics Hardware 2002, Sep. 2002.

Abstract

Assisted by recent advances in programmable graphics hardware, fast rasterization-based techniques have made significant progress in photorealistic rendering, but still only render a subset of the effects possible with ray tracing. We are closing this gap with the implementation of ray-triangle intersection as a pixel shader on existing hardware. This GPU ray-intersection implementation reconfigures the geometry engine into a ray engine that efficiently intersects caches of rays for a wide variety of host-based rendering tasks, including ray tracing, path tracing, form factor computation, photon mapping, subsurface scattering and general visibility processing.

Figures

Teapot showing cracks due to numerical precision

Figure 1: What is wrong with this environment-mapped picture? (1) The boat does not meet its reflection, (2) the boat is reflected in the water behind it, and (3) some aliasing can be seen in the reflection.

Figure 4: Leaky teapot, due to the low precision implementation on PS1.4 pixel shaders used to test the performance of ray-triangle intersection. Our simulations using the precision available on upcoming hardware are indistinguishable from software renderings.

 

Figure 6(a): Teapot Cornell box ray traced classically.

Figure 6(b): Teapot Cornell box ray traced Monte-Carlo.

Figure 6(c): Office scene.

Figure 6(d): Soda Hall dataset, side view.

Figure 6(e): Soda Hall dataset, top view.