Overview of Ray Traced Rendering

A broad-strokes overview of the mechanics of Ray Traced Rendering, including its history, technical definition, and common applications.

History

Ray Traced Rendering is a computerized process based in mathematical equations designed to create an image with effects that make it appear comparable to what we would expect to see in the world, i.e. to create a "realistic" or "photorealistic" image. Today, these qualities are (soft) shadows, reflections (both from mirrors and glossy materials), transparency (e.g. water or glass), interreflections, complex illumination, and realistic materials.

Ray casting render.jpg

Ray Tracing can be traced back to an algorithm presented in 1968 by Arthur Appel, though it was not Ray Tracing as we consider it today. It was called Ray Casting, a reversed process by which rays were traced from the viewpoint, through the view plane (one ray per pixel of the final image) to the closest object in the path of the ray.

Turner whitted.jpg Whitted rendering.jpg

While this process allowed for complex solids to be rendered using a degree of accuracy with respect to light and material, it did not account for three critical properties of the interaction between light an surfaces - reflection, refraction, and shadow. In 1980, Turner Whitted developed a recursive algorithm allowing computers to follow the path of the artificial lights and recreate how the light would bounce around the model, a breakthrough that led directly to the rendering programs we use today.

Photorealistic rendering.jpg

Current research in the field of computer graphics and ray traced rendering is primarily concerned with optimization of these processes to make rendering engines more efficient.

Technical Specification

Ray tracing works by tracing a path from an imagined eye (the view point) through each pixel in a view plane, and then calculating the color of the object that is 'visible' through that pixel

Ray-casting-animation.gif
Shadows-animation.gif

Each ray must be tested for its intersection with the objects in the model or scene (or some subset thereof). Once the nearest object is determined, the algorithm calculates the material properties of the object, including any reflections, refractions, or other effects that may alter the color of the pixel. This may result in multiple rays being traced through the same pixel, as some properties (e.g. certain illumination patterns, or reflective, transparent, or translucent materials) require more analysis than a simple shadow would.

Reflections-refractions-animation.gif

Current research centers around ways to make this process more efficient, as it is often a very computation-heavy endeavor, especially when there are multiple light sources, complex effects are layered on top of each other, or even complex geometries.

Practical Issues

Examples

Resources

VRay on StudioMaven
The StudioMaven page with useful information about VRay, a ray-traced rendering engine associated with (among other software) Rhino.
VRay for Rhino Manual
The official manual.