Home | Raytracing Reference | Help
If only direct lighting effects were considered, then the parts of the scene in complete shadow would be pitch-black. Thus many details would be hidden. In the real world, completely dark shadows are seldom found. At least a small amount of light reaches every point on the scene through multiple reflections. To model this effect, a small constant light intensity is ascribed to every surface, ensuring that no surface is rendered as completely dark. This light is known as ambient light. A more advanced model is the radiosity algorithm (or some other global illumination method), which actually follows the interdiffuse reflections and introduces a variable and realistic ambient term.
Antialiasing is the process by which jagged edges of objects in rendered pictures are smoothed. "Jaggies" occur because of subsampling, i.e., the fact that even though the pixel corresponds to a finite non-zero area on the view-plane, only one ray is sent through this area. In the ideal situation, a very large number of spread-out points on this area should be tested and their intensities averaged. Raytracers implement anti-aliasing by dividing the pixel area into a grid and sending a jittered ray through each grid square (known as subpixel). A weighted average of the subpixel intensities is taken as the intensity of the pixel. Often, raytracers use conditional and adaptive subdivision antialiasing procedures. Conditional antialiasing subdivides a pixel only if its intensity differs from that of its neighbours by a large amount. Adaptive subdivision procedures recursively continue this process by further subdividing subpixels if they differ largely from neighbouring subpixels.
The simplest model of a light source is that of a point emitter. This results in shadows with very sharp and well-defined edges. But this model is only an approximation, actual lights have non-zero sizes. The latter produce soft shadows, i.e. shadows with fuzzy edges. To produce soft shadows, an area light is often used. This is, obviously, a light source that covers an area of space, usually of a simple geometric shape. It is ideally modelled with an infinite number of point sources, but infinity is an impossible goal with computers (plus, the infinite rendering time required is unpopular in the current economic climate). A suitable method is to divide the area into m x n sub-areas, and position a point light at the jittered centre of each of these sub-areas. The larger the values of m and n, the more realistic (and slow) is the rendering.
An artifact is a discontinuity or imperfection in the output of a renderer as the result of a flaw in the rendering process. A common source of artifacts is numerical error due to lack of precision and approximation. Artifacts may also be produced because of the nature of the technique. They are often seen when point light sources are used in the radiosity algorithm. The Gouraud shading process sometimes produces dark anomalous streaks called "Mach bands".