28.06.2014 Views

Realtime Ray Tracing and Interactive Global Illumination - Scientific ...

Realtime Ray Tracing and Interactive Global Illumination - Scientific ...

Realtime Ray Tracing and Interactive Global Illumination - Scientific ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

28 Chapter 3: A Brief Survey of <strong>Ray</strong> <strong>Tracing</strong> Acceleration Methods<br />

scenes (<strong>and</strong> a reasonably fast ray tracer) it is often faster to trace the primary<br />

rays than first rasterizing the scene.<br />

Summary<br />

From all the just mentioned techniques, shadow caches are the most commonly<br />

used, <strong>and</strong> are still widely used in practice. Also adaptive sampling is<br />

used quite often, especially in the “demo community”, which aims more towards<br />

artistic <strong>and</strong> highly impressive ray tracing demos than for a general ray<br />

tracing engine. However, most of these techniques require special restrictions<br />

(e.g. point lights <strong>and</strong> spot lights only for efficient shadow caching), or easily<br />

break down in practice. As such, the RTRT/OpenRT system (see Part II)<br />

does not use any of these techniques, <strong>and</strong> only concentrates on tracing all<br />

rays as quickly as possible 9 .<br />

3.3 Accelerating <strong>Ray</strong>-Scene Intersection<br />

Apart from trying to reduce the number of rays to be shot for an image,<br />

another obvious method of accelerating ray tracing is to improve the core<br />

ray tracing algorithms such that the rays can be traced faster.<br />

3.3.1 Faster Intersection Tests<br />

Usually a large fraction of the compute time in ray tracing is spent in rayprimitive<br />

intersections. This was already noted in 1980 by Whitted [Whitted80],<br />

who reported 95% of his compute time to be spent on intersection computations.<br />

3.3.1.1 Different Variants of Primitive Intersection Tests<br />

Obviously, the intersection between a ray <strong>and</strong> any kind of primitive can be<br />

computed in multiple ways. Each of these different algorithms has different<br />

properties such as the number of floating point operations vs. integer<br />

operation vs. conditionals, memory consumption, or numerical accuracy).<br />

9 While RTRT/OpenRT does not in general use these techniques, some of them have still<br />

been used in some special applications: For example, shadow caching has been used in the<br />

original “Instant <strong>Global</strong> <strong>Illumination</strong>” system [Wald02b] (see Chapter 13), <strong>and</strong> probabilistic<br />

pruning of the ray tree has been used for visualizing the “Headlight” model [Benthin02]<br />

(see Chapter 11.2)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!