1) Initialize the area.
2) Create list of polygons by sorting them with their z values of vertices. Eliminate disjoint polygons (polygons which are outside the area).
3) Find relationship of each polygon.
4) Perform visibility decision test:
a) If all polygons are disjoint, fill area with background color.
b) If there is only one contained polygon, fill entire area with background color and fill part of polygon contained in area with color of polygon.
c) If there is a single surrounding polygon but not contained then fill area with color of surrounding polygon.
d) If area of the pixel (x,y) and if neither of a to d applies compute z coordinate at pixel (x,y) of polygons. Set pixel to the color of polygon which is closer to view.
5) If none of above is true, then subdivide the area and Go to Step 2.
1) Extra memory is not needed.
2) Parallel computers can be used for a swift process.