Home | Raytracing Reference | Help
A height field is a structure usually used for modelling terrain. It is described as a grid of points at user-specified heights above a reference plane. A renderer displays a height field by tesselating the grid into a mesh of triangles or polygons and rendering these. Height fields are useful for modelling landforms, jagged structures etc.
Surfaces not visible from the eye position (or in the case of raytracing, from the ray origin) are known as hidden surfaces. Their invisibility may be due to the fact that they are outside the view volume, or because they are obscured by other surfaces. A major problem in 3D computer graphics is the removal of these hidden surfaces. Often, clipping is applied to eliminate objects outside the view volume. Then, methods such as depth-ordering, z-buffer, BSP tree, or raycasting are applied to display only the visible surfaces.
Note: depth-ordering, z-buffer and BSP tree methods are usually not encountered in raytracing programs. Nevertheless, short descriptions may be necessary. Depth-ordering involves the sorting of surfaces in order of increasing distance from the viewer. Then the surfaces are drawn in a back to front order, so nearer surfaces obscure those at the back. The z-buffer method maintains a depth value for each pixel on the screen: if the depth of a surface point is less than the stored depth at the corresponding pixel, it is displayed and the depth value is updated to the new value. A Binary Space Partitioning (BSP) tree uses a tree structure where every node links to upto two child nodes. Surfaces are tested to see if they are in front of or behind a test plane. The two lists (front and back) form the first two nodes. These lists are further subdivided by more planes, and so on. Finally, the tree is traversed to display the surfaces in back to front order. The efficiency of the structure may be increased by choosing the dividing planes to coincide with plane surfaces in the scene.
For more information on non-raytracing hidden surface removal methods, try searching the Net for the keywords given above, as well as for "scanline" and "painter's algorithm".
A hierarchy is a structure in which parent-child relationships are maintained. The commonest example is that of a family tree (where "parent" and "child" are to be taken literally). In computers, a hierarchy is a tree structure. There is a root node, which links to child nodes. Each child node links to "grandchild" nodes and so on. Hierarchies are commonly encountered in graphics applications, especially in raytracing (each ray spawns reflected and refracted child rays) and in space subdivision methods (such as octree or Bounding Volume Hierarchy).
Highlights are brightly-lit regions seen on surfaces. Good examples are diffuse and Phong highlights.