A hardware assisted system and method for computing a visibility ordering of a set of primitives and rendering the set of primitives is described, comprising the steps of and means for locating primitives potentially in a layer and removing occluded primitives from the layer. The hardware assisted locating step further includes the steps of initializing hardware buffers, initializing a layer number, assigning the layer number to each primitive, extracting a subset of the primitives from the set of primitives assigned to the layer number, and storing the subset of primitives in a color buffer. The hardware assisted removing step further includes the steps of reading the color buffer to locate all primitives of the layer number, traversing a pixel array of the subset of primitives to obtain primitive ids and depth complexities, testing depth complexity for each primitive using a stencil buffer, removing those primitives from the layer number if the depth complexity greater than one, re-inserting the primitives with a depth complexity greater than one back into the set of primitives, rendering the primitives of the layer number, incrementing the layer number, determining if any primitives have been extracted from the set of primitives in the layer number, halting execution if no primitives have been removed from the layer number, and repeating all of the above steps.
展开▼