1.1.2 What is Ray-Tracing?
Ray-tracing is a rendering technique that calculates an image of a scene by simulating the way rays of light travel
in the real world. However it does its job backwards. In the real world, rays of light are emitted from a light source
and illuminate objects. The light reflects off of the objects or passes through transparent objects. This reflected
light hits our eyes or perhaps a camera lens. Because the vast majority of rays never hit an observer, it would take
forever to trace a scene.
Ray-tracing programs like POV-Ray start with their simulated camera and trace rays backwards out into the scene.
The user specifies the location of the camera, light sources, and objects as well as the surface texture properties of
objects, their interiors (if transparent) and any atmospheric media such as fog, haze, or fire.
For every pixel in the final image one or more viewing rays are shot from the camera, into the scene to see if it
intersects with any of the objects in the scene. These "viewing rays" originate from the viewer, represented
by the camera, and pass through the viewing window (representing the final image).
Every time an object is hit, the color of the surface at that point is calculated. For this purpose rays are sent
backwards to each light source to determine the amount of light coming from the source. These "shadow rays"
are tested to tell whether the surface point lies in shadow or not. If the surface is reflective or transparent new
rays are set up and traced in order to determine the contribution of the reflected and refracted light to the final
Special features like inter-diffuse reflection (radiosity), atmospheric effects and area lights make it necessary
to shoot a lot of additional rays into the scene for every pixel.