MCIS 625: Computer Graphics
Winter 2004

WEEK 9

Instructor: Dr. Michael Laszlo


Assignment

  1. Please review my slide set on slide set on visible-surface determination techniques, also known as hidden-surface removal.
  2. Optional reading assignment: Chapter 11 of Foley, vanDam, et al.
  3. There is no additional assignment this week.

Visible-Surface Determination
When you wish to render an image from a 3D scene model, you often follow what is sometimes called the synthetic camera framework: You locate a virtual viewer in the world and specify various view settings. These include the viewer's position, the direction in which he's pointing, his orientation (or twist), and his field of view. Jointly, these settings determine a view volume in space, whose contents are the portion of the scene to be rendered. When these are set, you "take a picture."

Assuming the 3D scene consists of colored opaque surfaces, it is not enough to simply project all the surfaces contained within the view volume into the image plane. Were we to do this, the resulting image would be a nonsensical tangle of colored patches. Rather, it is necessary to render only those surfaces that are not hidden from view by other surfaces. In contrast, the surfaces that lie behind other surfaces are covered (or partially covered) by those nearer surfaces and should not be visible. This process of removing those surfaces that are covered and should not be visible is known as hidden-surface removal. Alternatively, to place emphasis on the problem of finding those surfaces and parts of surfaces that are visible, the process is also known as visible-surface determination.

In the real world, we get hidden-surface removal for free. Look up from your monitor and you see the walls of the room you're in, and these walls occlude or hide whatever surfaces lie beyond. Hidden-surface removal is achieved by the nature of light, and the way that light interacts with the surfaces in the world. Unfortunately, in the computer, hidden-surface removal is not free. The computations required to carry it out are generally quite CPU-intensive.

There exist numerous algorithms for performing hidden-surface removal. They are broadly classified as either image-precision or object-precision algorithms. Image-precision techniques ask the question: For each pixel in the image, what color should that pixel be? To answer this question, you can imagine casting a ray or projector into the scene, through the pixel. The object that the ray pierces first (if any) is the object closest to the viewer, and this object determines the pixel's color. We do this for every pixel.

Object-precision techniques ask the question: For each object in the scene, which portion(s) of the object are visible? Object-precision generally work by comparing objects to one another, while eliminating surfaces that prove to be hidden and keeping track of those that are not.

Image-precision techniques are typically performed at the resolution of the display device. This means that the technique must be performed repeatedly whenever a scene is rendered into multiple display devices. However, image-precision techniques tend to be more efficient and simpler than object-precision techniques, and they can generally be carried out through parallel processing. In contrast, object-precision hidden-surface removal is carried out independent of any display device. The output of such techniques takes the form of a mathematical description of visible surfaces that can then be rendered to any display device, regardless of resolution.


[ Home | Course | Syllabus ]