Fragment visibility pretest system and methodology for improved performance of a graphics system
First Claim
1. A computer graphics system for processing graphics information to be rendered on a display, the system including a graphics library and graphics hardware together defining a graphics pipeline, the system adapted to execute a graphics application program invoking operations in the graphics pipeline through an application program interface provided by the graphics library, the graphics pipeline comprising:
- a fragment operations processing stage including;
a visibility pretest module, located operationally at a first operational position in said fragment operations processing stage, configured to perform predetermined per-fragment operations to determine whether a fragment will be visible or non-visible on the display screen.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for processing graphics information in a computer graphics system for processing graphics information to be rendered on a display screen are provided. The computer graphics system includes a graphics library and graphics hardware together defining a graphics pipeline, and a graphics application program invoking operations in the graphics pipeline through an application program interface provided by the graphics library. The graphics pipeline includes a visibility pretest module, located at a first operational position in the graphics pipeline, configured to determine whether a pixel will be visible or non-visible on the display screen. The pipeline also includes one or more time-intensive modules operationally located at a second position in the graphics pipeline subsequent said first operational position; and a process controller configured to prevent said one or more time-intensive modules from performing operations related to said non-visible pixels. Advantageously, the present invention enables the graphics system to selectively perform graphics pipeline operations which are related to pixels which are ultimately displayed on the display. The processing associated with performing operations on non-displayed pixels is avoided thereby providing the graphics system with significant performance enhancements.
136 Citations
28 Claims
-
1. A computer graphics system for processing graphics information to be rendered on a display, the system including a graphics library and graphics hardware together defining a graphics pipeline, the system adapted to execute a graphics application program invoking operations in the graphics pipeline through an application program interface provided by the graphics library, the graphics pipeline comprising:
a fragment operations processing stage including; a visibility pretest module, located operationally at a first operational position in said fragment operations processing stage, configured to perform predetermined per-fragment operations to determine whether a fragment will be visible or non-visible on the display screen. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A fragment operations processing system for reducing th time necessary to render an image in a computer graphics system operationally coupled to a display device, comprising:
-
one or more per-fragment operations modules; a visibility pretest module constructed and arranged to pretest a fragment to determine whether the fragment will be displayed on the display device, wherein said visibility pretest module is operationally performed prior to performance of said one or more per-fragment operations modules, wherein each said one or more per-fragment operations modules does not process fragments identified by said visibility pretest module as a fragment that will not be displayed on the display device. - View Dependent Claims (18, 19, 20)
-
-
21. A method for determining whether to perform certain per-fragment operations in a fragment processing stage of a graphics pipeline, the method comprising the steps of:
-
determining whether each fragment to be processed by the fragment processing stage is to be rendered on a display device operationally coupled to the graphics pipeline; and preventing performance of predetermined per-fragment operations based upon whether said determining step determines that the fragment is not to be rendered to the display device.
-
-
22. The method of 21, wherein said determining step comprises:
performing a depth test for each fragment received by said fragment processing operation stage.
-
23. The method of 22, wherein said determining step further comprises:
performing a stencil test for each fragment received by said fragment processing operation stage.
-
24. The method of 23, wherein said determining step further comprises:
performing a stipple test for each fragment received by said fragment processing operation stage.
-
25. The method of 21, wherein said determining step comprises:
performing a stencil test for each fragment received by said fragment processing operation stage.
-
26. The method of 21, wherein said determining step comprises:
performing a stipple test for each fragment received by said fragment processing operation stage.
-
27. The method of 21, wherein said predetermined per-fragment operations comprises:
one or more computationally-expensive fragment operation modules.
-
28. The method of 21, wherein said predetermined per-fragment operations comprises:
a texel generation module configured to generate a texel for each fragment.
Specification