Patent ID: 8094151

Claim:
A method for performing depth peeling when rendering a graphics scene, the method comprising: performing a plurality of rendering operations across a plurality of objects in the graphics scene, wherein each rendering operation generates a first set of pixels, and each pixel is associated with one of the objects and resides at a different depth within the graphics scene; after each rendering operation, performing a first depth test to produce a second set of pixels, wherein the depth of each pixel in the first set of pixels is compared to a first reference depth to determine whether the depth of the pixel is greater than that the first reference depth, performing a second depth test for each pixel in the second set of pixels to produce a first surviving pixel, wherein the depth of each pixel in the second set of pixels is compared to a first active depth to determine whether the depth of the pixel is less than the first active depth, performing a third depth test to produce a third set of pixels, wherein the depth of each pixel in the first set of pixels is compared to a second reference depth to determine whether the depth of the pixel is less than that the second reference depth, and performing a fourth depth test for each pixel in the third set of pixels to produce a second surviving pixel, wherein the depth of each pixel in the third set of pixels is compared to a second active depth to determine whether the depth of the pixel is greater than the second active depth; after the first rendering operation but prior to the second rendering operation, storing the first surviving pixel in a first color buffer, and storing the second surviving pixel in a second color buffer; and after each rendering operation subsequent to the first rendering operation but prior to the next rendering operation, storing the first surviving pixel in a third color buffer, storing the second surviving pixel in a fourth color buffer, blending the first surviving pixel in the first color buffer with the first surviving pixel in the third color buffer to generate a blended pixel in the first color buffer, and blending the second surviving pixel in the second color buffer with the second surviving pixel in the fourth color buffer to generate a blended pixel in the second color buffer.