In addition to the hybrid Z-Scanline renderer, NuGraf also
incorporates a full-featured, multi-threaded ray tracing renderer capable of producing
physically accurate renderings of very large datasets, all with minimal memory
requirements. Many ray tracing renderer implementations are notorious for being slow and
using vast amounts of memory, but the NuGraf ray tracer has been developed to produce
images in roughly the same amount of time as the NuGraf scanline renderer, and often with
less memory usage (e.g.: when ray traced shadows are enabled instead of shadow maps). In
addition, the ray tracer is fully multi-threaded allowing near-100% speedup for each
additional processor that is present in a single computer.
Fundamental to the ray tracing technique is the ability of the ray tracer to
quickly intersect a ray with a triangle. For every ray sent into a scene the ray must be
intersected with each and every triangle so that the closest intersection distance can be
found - these intersection calculations can consume vast amounts of time for scenes with
hundreds of thousands of triangles in them. To overcome this computational bottleneck the
NuGraf ray tracer has been augmented with cutting-edge acceleration techniques which allow
significantly fewer triangles to be intersected per pixel. It is these acceleration
techniques which make the NuGraf ray tracer faster, more efficient and use less memory
than other ray tracing renderers.
As described previously, ray tracing allow physically accurate images to be created by
tracing virtual light rays throughout a scene. Most importantly, ray tracing allows
accurate secondary illumination to be added to the color of an object, in particular:
Refraction with fresnel
computations. This simulates light that bends as it passes from one medium to another,
such as from air to glass. The NuGraf ray tracer also includes an ideal implementation of
the 'fresnel algorithm' which makes a material more reflective as the angle of
incidence changes . The fresnel effect is a basic necessity when simulating accurate glass
effects.
Reflections. Unlike the Z-Scanline renderer which
can only simulate reflections approximately (using environment mapping), the NuGraf ray
tracer allows physically accurate and recursive reflections to be computed from any point
in space.
Ray traced shadows. The NuGraf ray tracer provides
the added ability to produce shadows using ray tracing in addition to using shadow maps.
This can produce more accurate shadow simulations, and with sharper edges (which is
sometimes desirable).
In addition to its ability to anti-alias images by super-sampling
(as used by the Z-Scanline renderer), the NuGraf ray tracer also allows images to be
quickly anti-aliased via adaptive or stochastic sampling. This technique
allows additional samples to be adaptively taken in areas of high contrast, thus
localizing and minimizing the anti-aliasing process.