Visible Surface Detection and Z-Buffer Algorithms
Visible Surface Detection Methods
All these algorithms are known as Visible Surface Detection methods.
These methods are also referred to as Hidden Surface Elimination methods.
Visible surface algorithms attempt to determine the lines, edges, surfaces, or volumes that are visible to an observer located at a specific point in space.
Visible surface detection algorithms are classified as:
Object space method
Image space method
Object Space Method
It compares objects and parts of objects to each other within the scene definition to determine which surfaces, as a whole, we should label as visible.
These methods can be used effectively to locate visible surfaces.
Line display algorithms generally use object space methods to identify visible lines in wireframe displays.
Image Space Method
In this method, visibility is decided point by point at each pixel position on the projection plane.
Most visible surface algorithms use image space methods.
Many image-space algorithms can be adapted easily to visible-line algorithms.
Most use sorting and coherence methods to improve performance.
Sorting is used to facilitate depth comparisons by ordering the individual surfaces in a scene according to their distance from the view plane.
Coherence methods are used to take advantage of regularities in a scene.
Depth-Buffer Method (Z-Buffer)
A commonly used image-space approach to detecting visible surfaces is the depth-buffer method, which compares surface depths at each pixel position on the projection plane.
This procedure is also referred to as the Z-buffer method, since object depth is usually measured from the view plane along the z-axis of a viewing system.
Each surface of a scene is processed separately, one point at a time across the surface.
The method is usually applied to scenes containing only polygon surfaces, because depth values can be computed very quickly and the method is easy to implement.
With the object description converted to projection coordinates, each (x, y, z) position on a polygon surface corresponds to the orthographic projection point (x, y) on the view plane.
Therefore, for each pixel position (x, y) on the view plane, object depths can be compared by comparing z-values.
The following figure shows three surfaces at varying distances along the orthographic projection line from position (x, y) in a view plane taken as the XvYv plane. Surface S1 is closest at this position, so its surface intensity value at (x, y) is saved.
with a size of 3.06 KB