TAPESTRY: The Art of Representation and Abstraction
Hidden Lines and Surfaces
What's it all about?
The problem with x-ray vision is seeing everything. A wire-frame image provides us with the ability to see through things, but the real world conveniently blocks some of the light from reaching our eyes. Once again, what the real world does "for free" we need an algorithm to do for us in the digitial one.Hidden line or hidden surface algorithms attempt to remove from the data those elements which would not be seen in the real world.
Conceptual Issues
Obviously you have to have some kind of geometry data before you can do hidden line removal. Somewhat less obviously, the data must explicitly or implicitly define surfaces. After all, the reason you can't see some of the data is that other parts of it get in the way!Since the default condition for data is to be visible, the simplest approach is to only define opaque surfaces. Explicitly transparent surfaces won't be possible in such a system. Anything you want to see through simply isn't created. Thus you don't "build" a window, you build the wall around the window, leaving the window as a void.
By the way, you don't need LIGHT to do hidden-line removal, only "surface" and "opacity".
Important Approaches
CULLING
-
This computationally inexpensive, approach does an imperfect job in most cases, but it can form an effective pre-processor to more complex algorithms. The results are object-data.
DEPTH SORTING
-
A technique dependent on the ubiquity of raster displays and plotters, the image is built by changing the order in which data is processed. Results in object data images.
Z-BUFFERING
-
A raster approach. Whenever a polygon is rasterized into the display memory, the algorithm asks (for each pixel), whether the new polygon surface is closer to the eye than the old one.
Last updated: April, 2014