Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system |
| In accordance with the present invention, a dispatcher for a non-uniform memory access computer ... |
|
Radio communication system using frequency hopping, and method of controlling same |
| An object of the present invention is to provide a method through which notification is given of ... |
|
Call admission control system for wireless ATM networks |
| The present invention addresses the foregoing needs by providing a call admission control protocol, ... |
|
Vehicle tracker, mileage-time monitor and calibrator |
| These needs are met by the invention, which provides a vehicle location determination system, ... |
|
Multipoint digital simultaneous voice and data system |
| The present invention facilitates the sharing of data and the exchange of voice information over a ... |
|
Speaker identifier for multi-party conference |
| A multi-party conferencing method and system in accordance with our invention identify the ... |
|
|
Graphics system using clip bits to decide acceptance, rejection, clipping
| Details |
Inventors: Morse, Wayne; Deering, Michael F.; Lavelle, Mike; Kubalska, Ewa; Pan, Huang; Nelson, Scott R.;
Assignee: Sun Microsystems, Inc. (Palo Alto, CA)
Primary Examiner: Brier; Jeffery
Assistant Examiner: Yang; Ryan
Attorney, Agent or Firm: Conley, Rose & Tayon PC, Hood; Jeffrey C.
A method and computer graphics system for clip testing using clip bits stored in a general-purpose register for each vertex of a geometric primitive. In one embodiment, a rendering unit or other processor sets bits in a clip bits register for each vertex of a geometric primitive. Each bit indicates whether the vertex is inside or outside of a clipping boundary with respect to a particular clipping plane. A frame buffer controller or other graphics processor performs clip testing on the entire geometric primitive by performing Boolean operations on the clip bits. The frame buffer controller may trivially accept or trivially reject the primitive based on the clip testing. If the primitive cannot be trivially rejected or trivially accepted, then the frame buffer controller sends an interrupt to the rendering unit. The rendering unit reads an exception register to determine that the reason for the interrupt is the need to clip the primitive. The rendering unit reads the vertices from the frame buffer controller, clips the primitive, and sends the new vertices to the frame buffer controller. The frame buffer controller clears the interrupt and resumes its graphics processing. |
|
DETAILED DESCRIPTION The present invention comprises a computer graphics system which employs an improved method of clip testing using one clip register per vertex and/or using multiple processing units. In one embodiment, the graphics system may include multiple processing units such as one or more rendering units and/or one or more frame buffer controllers. The frame buffer controller may be comprised in a conventional frame buffer or a super-sampled frame buffer (i. e. , a sample buffer). The graphics system processes graphical data for display on a display device. A display screen of the display device displays the contents of a viewport which is defined by a regular clipping boundary. In one embodiment, six planes, that is, two opposing planes for three dimensions, may define the regular clipping boundary. An additional guard band clipping boundary may encompass two dimensions and may therefore be defined by four planes. In one embodiment, clip testing is the task of determining whether a geometric primitive is to be clipped or not clipped. Three possible outcomes of clip testing are trivial rejection, trivial acceptance, and the need to clip. Trivial rejection is the determination that a geometric primitive lies wholly outside the viewport and should therefore be discarded. Trivial acceptance is the determination that a geometric primitive lies wholly inside the viewport and is therefore to be kept for further processing. If a geometric primitive is not trivially rejected or trivially accepted, then it is clipped. In one embodiment, a processor such as a rendering unit tests the vertices of a geometric primitive against the various planes of the clipping boundary and sets the bits in one or more clip bits registers accordingly. The rendering unit sets the bits in the clip bits register on a per-vertex basis: that is, without analyzing the relationship of the geometric primitive as a whole to the clipping boundary. In one embodiment, the clip bits register (also referred to as a clip register) is a general-purpose, 32-bit status register which may contain clip bits information for a vertex of a geometric primitive
|
|