USRE44958EExpiredUtilityPatentIndex 41
Primitive culling apparatus and method
Est. expiryNov 18, 2023(expired)· nominal 20-yr term from priority
G06T 15/40G06T 15/20G06T 19/00G06T 17/20G06T 17/00
41
PatentIndex Score
0
Cited by
21
References
23
Claims
Abstract
A method and apparatus for processing a primitive for potential display on a display device (having a plurality of pixels) determines if the primitive intersects at least a predetermined number of pixel fragments on the display device. The predetermined number is no less than one. The method and apparatus then cull the primitive as a function of whether the primitive intersects at least the predetermined number of pixel fragments. If it is culled, the primitive is not raster processed (i.e., not subjected to raster processing, whether or not complete).
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method of processing a primitive, using a graphics processor implemented in either hardware or a combination of hardware and software, for potential display on a display device having a plurality of pixels, the method comprising:
forming, using the graphics processor, a bounding box based defined by a minimum and maximum x values and a minimum and maximum y values of the primitive;
determining, using the graphics processor, if the bounding box bounds at least one pixel fragment;
if the bounding box does not bound the at least one pixel fragment discarding the primitive without further culling processing;
if the bounding box does bound the at least one pixel fragment, determining if the bounding box bounds a predetermined number of pixel fragments;
if the bounding box bound does bound the predetermined number of pixel fragments forwarding the primitive to be further raster processed;
if the bounding box does not bound the predetermined number of pixel fragments determining, using the graphics processor, if the primitive intersects at least a second predetermined number of pixel fragments on the display device, the second predetermined number being no less than one; and
culling the primitive as a function of whether the primitive intersects at least the predetermined number of pixel fragments on the display device, the primitive not being raster processed if culled
if the primitive intersects the second predetermined number of pixel fragments forwarding the primitive to be further raster processed; and
if the primitive does not intersect the second predetermined number of pixel fragments, discarding the primitive without further culling processing.
2. The method as defined by claim 1 wherein a the graphics processor has a raster stage capable of raster processing the primitive, the graphics processor also having a geometry stage capable of forwarding primitive attribute data to the raster stage for raster processing, the steps of determining comprising determining if the primitive intersects at least the second predetermined number of pixel fragments on the display device before forwarding primitive attribute data from the geometry stage to the raster stage.
3. The method as defined by claim 1 wherein a the graphics processor has a raster stage capable of raster processing the primitive, the graphics processor also having a geometry stage capable of forwarding primitive attribute data to the raster stage for raster processing, the step of determining comprising the raster stage determining if the primitive intersects at least the second predetermined number of pixel fragments on the display device.
4. The method as defined by claim 1 wherein the primitive is not culled if the primitive is determined to intersect at least the predetermined number of pixel fragments on the display device.
5. The method as defined by claim 1 wherein the primitive is culled if the primitive is determined to not intersect at least the predetermined number of pixel fragments on the display device.
6. The method as defined by claim 1 wherein determining comprises:
forming a bounding box based upon positional data of the primitive.
7. The method as defined by claim 6 1 further wherein the primitive has an associated equation defining its position on the display device, the method further comprising:
determining if the bounding box bounds more than a prespecified number of pixel fragments; and
if the bounding box does not bound more than the prespecified number of pixel fragments, then using the equation to determine if the primitive intersects at least the predetermined number of pixel fragments.
8. The method as defined by claim 6 wherein the primitive is culled if the bounding box bounds no pixel fragments.
9. An apparatus for processing a primitive for potential display on a display device having a plurality of pixels, the apparatus comprising:
a graphics processor implemented in either hardware or a combination of hardware and software, the graphic processor comprising: a geometry stage capable of performing geometry operations on the primitive, the geometry stage also being capable of forming, using the graphics processor, a bounding box defined by a minimum and maximum x values and a minimum and maximum y values of the primitive, determining, using the graphics processor, if the bounding box bounds at least one pixel fragment, if the bounding box does not bound the at least one pixel fragment, discarding the primitive without further culling processing, if the bounding box does bound the at least one pixel fragment, determining if the primitive intersects bounding box bounds at least a predetermined number of pixel fragments on the display device, the geometry stage being configured to cull the primitive as a function of whether the primitive intersects at least the predetermined number of pixel fragments on the display device, the predetermined number being no less than one; if the bounding box bound does bound the predetermined number of pixel fragments forwarding the primitive to be further raster processed, if the bounding box does not bound the predetermined number of pixel fragments determining, using the graphics processor, if the primitive intersects at least a second predetermined number of pixel fragments, the second predetermined number being no less than one, if the primitive intersects the second predetermined number of pixel fragments forwarding the primitive to be further raster processed, if the primitive does not intersect the second predetermined number of pixel fragments, discarding the primitive without further culling processing; and
a raster stage operatively coupled with the geometry stage, the raster stage being capable of raster processing the primitive if the geometry stage does not cull discard the primitive.
10. The apparatus as defined by claim 9 wherein the primitive has associated attribute data, the geometry stage having an output for forwarding the attribute data to the raster stage if the primitive intersects at least the predetermined number of pixel fragments on the display device.
11. The apparatus as defined by claim 9 wherein the primitive has associated attribute data, further wherein the geometry stage is configured to not forward the attribute data to the raster stage if the primitive is determined to not intersect at least the predetermined number of pixel fragments on the display device.
12. The apparatus as defined by claim 9 wherein the geometry stage comprises:
a bounding box module capable of forming a the bounding box based upon positional data of the primitive.
13. The apparatus as defined by claim 12 further wherein the primitive has an associated equation defining its position on the display device, the geometry stage using the equation to determine whether the primitive intersects at least one pixel fragment if the bounding box bounds fewer than the first predetermined number of pixel fragments.
14. The apparatus as defined by claim 12 wherein the primitive has associated attribute data, further wherein the geometry stage does not forward the attribute data to the raster stage if no pixel fragments are bounded by the bounding box.
15. A computer program product for use on a computer system for processing a primitive for potential display on a display device having a plurality of pixels, the computer program product comprising a non-transitory computer usable readable storage medium having computer readable program code stored thereon, the computer readable program code comprising:
program code for forming a bounding box defined by a minimum and maximum x values and a minimum and maximum y values of the primitive;
first program code for determining if the bounding box bounds at least one pixel fragment;
second program code for discarding the primitive without further culling processing, if the bounding box does not bound the at least one pixel fragment;
third program code for determining if the bounding box bounds a predetermined number of pixel fragments, if the bounding box bounds the at least one pixel fragment;
fourth program code for forwarding the primitive to be further raster processed if the primitive bounds the predetermined number of pixel fragments;
fifth program code for determining if the primitive intersects at least bounding box bounds a second predetermined number of pixel fragments on the display device, the second predetermined number being no less than one; and
program code for culling the primitive as a function of whether the primitive intersects at least the predetermined number of pixel fragments on the display device, the primitive not being raster processed if culled, if the bounding box does not bound the predetermined number of pixel fragments;
sixth program code for forwarding the primitive to the further raster processed if the primitive intersects the second predetermined number of pixel fragments; and
seventh program code for discarding the primitive without further culling processing if the primitive does not intersect the second predetermined number of pixel fragments.
16. The computer program product as defined by claim 15 wherein the primitive is not culled if the primitive is determined to intersect at least the predetermined number of pixel fragments on the display device.
17. The computer program product as defined by claim 15 wherein the primitive is culled if the primitive is determined to not intersect at least the predetermined number of pixel fragments on the display device.
18. The computer program product as defined by claim 15 wherein the program code for determining comprises:
program code for forming a bounding box based upon positional data of the primitive.
19. The computer program product as defined by claim 18 further wherein the primitive has an associated equation defining its position on the display device, the computer program product further comprising:
program code for determining if the bounding box bounds more than a prespecified number of pixel fragments; and
program code for using the equation to determine whether the primitive intersects at least the predetermined number of pixel fragments, the program code for using being executed if the bounding box does not bound more than the prespecified number of pixel fragments.
20. The computer program product as defined by claim 18 wherein the primitive is culled if no pixel fragments are bounded by the bounding box.
21. An apparatus for processing a primitive for potential display on a display device having a plurality of pixels, the apparatus comprising:
a graphics processor implemented in either hardware or a combination of hardware and software, the graphic processor comprising:
a geometry stage capable of performing geometry operations on the primitive, the geometry stage also being capable of forming, using the graphics processor, a bounding box defined by a minimum and maximum x values and a minimum and maximum y values of the primitive, determining, using the graphics processor, if the bounding box bounds at least one pixel fragment, if the bounding box does not bound the at least one pixel fragment, discarding the primitive without further culling processing, if the bounding box does bound the at least one pixel fragment, determining if the bounding box bounds at least a predetermined number of pixel fragments, if the bounding box does bound the predetermined number of pixel fragments, forwarding the primitive to be further raster processed, if the bounding box does not bound the predetermined number of pixel fragments determining, using the graphics processor, if the primitive intersects at least a second predetermined number of pixel fragments, the second predetermined number being no less than one, if the primitive intersects the second predetermined number of pixel fragments, forwarding the primitive to be further raster processed, if the primitive does not intersect the second predetermined number of pixel fragments, discarding the primitive without further culling processing; and
a raster stage operatively coupled with the geometry stage, the raster stage being capable of raster processing the primitive if the geometry stage does not discard the primitive.
22. The apparatus as defined by claim 21 wherein the geometry stage comprises:
a bounding box module capable of forming the bounding box based upon positional data of the primitive.
23. The apparatus as defined by claim 22 further wherein the primitive has an associated equation defining its position on the display device, the geometry stage using the equation to determine whether the primitive intersects at least one pixel fragment if the bounding box bounds fewer than the first number of pixel fragments.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.