Depth bounds testing
First Claim
1. A method for rendering a volume within a scene, comprising:
- rendering a set of pixels of the scene to fill a depth buffer with depth values associated with the set of pixels;
setting a depth bounds associated with the volume;
defining a fragment associated with the volume, having a volume depth, and covering at least one subset of pixels of the scene, wherein each subset of pixels has a subset depth value;
for each subset of pixels, discarding at least a portion of the fragment covering the subset of pixels in response to the corresponding subset depth value being outside of the depth bounds associated with the volume; and
for each subset of pixels, processing at least a portion of the fragment covering the subset of pixels in response to the corresponding subset depth value being inside of the depth bounds associated with the volume.
1 Assignment
0 Petitions
Accused Products
Abstract
Lights can be conservatively bounded within a depth range. When image pixels are outside of a light'"'"'s depth range, an associated volume fragment does not have to be rendered. Depth bounds registers can be used to store minimum and maximum depth values for a light. As graphics hardware processes volume fragments overlapping the image, the image'"'"'s depth values are compared with the values in the depth bounds register. If the image'"'"'s depth is outside of the depth range for the light, stencil buffer and illumination operations for this volume fragment are bypassed. This optimization can be performed on a per-pixel basis, or simultaneously on a group of adjacent pixels. The depth bounds are calculated from the light, or from the intersection of the volume with one or more other features. A rendering application uses API functions to set the depth bounds for each light and to activate depth bounds checking.
-
Citations
35 Claims
-
1. A method for rendering a volume within a scene, comprising:
-
rendering a set of pixels of the scene to fill a depth buffer with depth values associated with the set of pixels;
setting a depth bounds associated with the volume;
defining a fragment associated with the volume, having a volume depth, and covering at least one subset of pixels of the scene, wherein each subset of pixels has a subset depth value;
for each subset of pixels, discarding at least a portion of the fragment covering the subset of pixels in response to the corresponding subset depth value being outside of the depth bounds associated with the volume; and
for each subset of pixels, processing at least a portion of the fragment covering the subset of pixels in response to the corresponding subset depth value being inside of the depth bounds associated with the volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A graphics processing system, comprising:
-
a depth buffer configured to store depth values associated with a set of pixels in a scene;
a stencil buffer configured to store stencil values associated with the set of pixels in the scene;
a depth bounds register configured to define a range of depths associated with a volume; and
a graphics pipeline adapted to process a fragment associated with the volume and covering a subset of the pixels in the scene, wherein the graphics pipeline is configured to discard the fragment in response to a depth value associated with the subset of pixels being outside the range of depths defined by the depth bounds register, and further configured to store a value in the stencil buffer in response to the depth value associated with a further subset of the subset of pixels being inside the range of depths defined by the depth bounds register. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. An application programming interface adapted to allow a rendering application to configure the operation of a graphics processing system, the application programming interface comprising:
a function adapted to allow a rendering application to set at least one depth bound value for the graphics processing system. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35)
Specification