Controlling a real-time rendering engine using a list-based control mechanism
A system and method for controlling a real-time rendering engine includes a control program for defining in regions of system memory a block header and a list of flow-control instructions.
Latest Cagent Technologies, Inc. Patents:
- Resolution enhancement for video display using multi-line interpolation
- Peripheral card security and configuration interface
- Method and apparatus for managing snoop requests using snoop advisory cells
- Inverse Z-buffer and video display system having list-based control mechanism for time-deferred instructing of 3D rendering engine that also responds to supervisory immediate commands
- Multiple sequence MPEG decoder
Claims
1. A method for controlling a real-time rendering engine comprising the steps of:
- defining in a first region of system memory, a block header comprising
- an instructions count field for storing the number of instructions within a block;
- an instruction identification field for defining the format of the corresponding instructions;
- a hardware version number field for identifying the supported hardware version level; and
- enable/bypass fields for programmably enabling or bypassing rendering functions;
- where the block header is to be processed before the corresponding instructions; and
- defining in a second region of said memory, flow-control instructions.
2. The method of claim 1, further comprising the step of defining in the block header a vertex replace-mode field for controlling automatic generation of `strip` and `fan` forms of triangle chains.
3. The method of claim 1, wherein said flow-control instructions comprise time-deferred vertex-based draw lists.
4. The method of claim 1, wherein said flow-control instructions comprise `immediate` instructions for issuing commands to the rendering engine on a non-time-deferred basis.
5. A computer-readable memory device encoded with a block header for controlling a real-time rendering engine, comprising:
- an instructions count field for storing the number of instructions within a block;
- an instruction identification field for defining the format of the corresponding instructions;
- a hardware version number field for identifying the supported hardware version level; and
- enable/bypass fields for programmably enabling or bypassing rendering functions.
6. The computer-readable memory device of claim 5, further comprising a list of flow-control instructions.
7. The computer-readable memory device of claim 5, wherein the flow-control instructions comprise time-deferred vertex-based draw lists.
8. The computer-readable memory device of claim 5, wherein said flow-control instructions comprise `immediate` instructions for issuing commands to the rendering engine on a non-time-deferred basis.
9. The computer-readable memory device of claim 5, wherein the block header comprises a vertex replace-mode field for controlling automatic generation of `strip` and `fan` forms of triangle chains.
10. A system for controlling a real-time rendering engine comprising:
- a central processing unit (CPU);
- coupled to the CPU, a memory comprising a control program for defining in a first region of system memory, a block header comprising:
- an instructions count field for storing the number of instructions within a block;
- an instruction identification field for defining the format of the corresponding instructions;
- a hardware version number field for identifying the supported hardware version level; and
- enable/bypass fields for programmably enabling or bypassing rendering functions;
- coupled to the CPU, a memory comprising a control program for defining in a second region of system memory, flow-control instructions.
4291380 | September 22, 1981 | Rohner |
4492956 | January 8, 1985 | Collmeyer et al. |
4496944 | January 29, 1985 | Collmeyer et al. |
4760390 | July 26, 1988 | Maine et al. |
4930092 | May 29, 1990 | Reilly |
5051737 | September 24, 1991 | Akeley et al. |
5097427 | March 17, 1992 | Lathrop et al. |
5113490 | May 12, 1992 | Winget |
5224208 | June 29, 1993 | Miller, Jr. et al. |
5315698 | May 24, 1994 | Case et al. |
5533176 | July 2, 1996 | Best et al. |
5596691 | January 21, 1997 | Good et al. |
5604843 | February 18, 1997 | Shaw et al. |
- Wasson, Gregory, "Graphic traffic: file-conversion tricks" (Tutorial), Computer Shopper, v12, N5, p. 676(6), May, 1992. Grunin, Lori, "The image crusaders: 12 screen capture & conversion utilities", PC Magazine, v12, N7, p. 221(23), Apr. 13, 1993. Vaughn-Nichols, S., et al., "Graphical voodoo", (Tutorial) Computer Shopper, v14, N10, p. 610(3), Oct., 1994. Simone, Luisa, "Vector file-conversion utilities", PC Magazine, v10, N2, p. 243(11), Jan. 29, 1991. Graef, Gerald L., :A Close Look at GIF, TIFF and Other Attempts at a Universal Image Format", Byte Magazine, vol. 14, No. 9, p. 305, Sep., 1989. Prosise, Jeff, "Understanding Modelview Transformations in OpenGL for Windows NT," Microsoft Systems Journal, vol. 10, No. 2, p. 19(18), Feb.,1995. Blinn, James F., "A Trip down the Graphics Pipeline: the Homogeneous Perspective Transform," IEEE Computer Graphics and Applications, vol. 13, No. 3, May, 1993, pp. 75-80. Blinn, James F., "Hyperbolic Interpolation," IEEE Computer Graphics and Applications, vol. 12, No. 4, Jul., 1992, pp. 89-94. M.F. Deering & S.R. Nelson; Leo: A System for Cost Effective 3D Shaded Graphics; Sun Microsystems Computer Corporation ACM, S. ggraph `93` Annual Conference, pp. 101-108, 1993.
Type: Grant
Filed: May 10, 1995
Date of Patent: Aug 25, 1998
Assignee: Cagent Technologies, Inc. (Redwood City, CA)
Inventors: Adrian Sfarti (Sunnyvale, CA), Nicholas Robert Baker (Sunnyvale, CA), Robert William Laker (Fremont, CA), Adam Craig Malamy (Palo Alto, CA)
Primary Examiner: Phu K. Nguyen
Assistant Examiner: Rudolph Buchel
Law Firm: Fenwick & West LLP
Application Number: 8/438,860
International Classification: G06T 1500;