Display system having floating point rasterization and floating point framebuffering
DCFirst Claim
1. A computer system, comprising:
- a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values; and
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer;
wherein the rasterization circuit performs scan conversion on vertices having floating point color values.
10 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A floating point rasterization and frame buffer in a computer system graphics program. The rasterization, fog, lighting, texturing, blending, and antialiasing processes operate on floating point values. In one embodiment, a 16-bit floating point format consisting of one sign bit, ten mantissa bits, and five exponent bits (s10e5), is used to optimize the range and precision afforded by the 16 available bits of information. In other embodiments, the floating point format can be defined in the manner preferred in order to achieve a desired range and precision of the data stored in the frame buffer. The final floating point values corresponding to pixel attributes are stored in a frame buffer and eventually read and drawn for display. The graphics program can operate directly on the data in the frame buffer without losing any of the desired range and precision of the data.
-
Citations
31 Claims
-
1. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values; and
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer;
wherein the rasterization circuit performs scan conversion on vertices having floating point color values.
-
-
2. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values;
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer;
a texture circuit coupled to the rasterization circuit that applies a texture to the primitive, wherein the texture is specified by floating point values; and
a texture memory coupled to the texture circuit that stores a plurality of textures in floating point values.
-
-
3. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values; and
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer;
wherein the floating point format is comprised of sixteen bits in a s10e5 format.
-
-
4. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values;
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer; and
a fog circuit coupled to the rasterization circuit for performing a fog function, wherein the fog function operates on floating point color values.
-
-
5. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values;
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer; and
a blender coupled to the rasterization circuit which blends floating point color values.
-
-
6. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values;
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer; and
logic coupled to the rasterization circuit which performs per-fragment operations on floating point color values.
-
-
7. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on a floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of color values; and
a display screen coupled to the frame buffer for displaying an image according to the color values stored in the frame buffer;
wherein the processor, the rasterization circuit, and the frame buffer are on a single semiconductor chip. - View Dependent Claims (8)
-
-
9. In a computer system, a method for rendering a three-dimensional image for display, comprising the steps of:
-
performing geometric calculations on a plurality of vertices of a plurality of polygons;
scan converting a plurality of pixels according to the vertices, wherein scan conversion is performed on floating point color values;
applying a texture to the image by reading floating point texture values stored in a texture memory;
simulating fog effects, wherein fog is simulated by modifying floating point color values;
drawing the image for display on a display screen coupled to the computer system. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
reading data from the frame buffer;
modifying the data;
writing modified data back to the frame buffer.
-
-
16. The method of claim 10 further comprising the step of modifying color values for lighting, wherein lighting calculations operate on floating point color values.
-
17. In a computer system, a method for operating on data stored in a frame buffer, comprised of:
-
storing the data in the frame buffer in a floating point format;
reading the data from the frame buffer in the floating point format;
operating directly on the data in the floating point format; and
writing the data to the frame buffer in the floating point format;
wherein the steps of writing, storing, and reading the data in the frame buffer in the floating point format are further comprised of a specification of the floating point format, wherein the specification corresponds to a level of range and precision. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A computer system having a floating point frame buffer for storing a plurality of floating point color values;
wherein the floating point color values are written to, read from, and stored in the frame buffer using a specification of the floating point color values that corresponds to a level of range and precision. - View Dependent Claims (23, 24)
-
25. A computer system, comprising:
-
a processor for performing geometric calculations on a plurality of vertices of a primitive;
a rasterization circuit coupled to the processor that rasterizes the primitive according to a rasterization process which operates on an s10e5 floating point format;
a frame buffer coupled to the rasterization circuit for storing a plurality of s10e5 floating point color values;
a display screen coupled to the frame buffer for displaying an image according to the s10e5 color values stored in the frame buffer. - View Dependent Claims (26, 27, 28, 29, 30, 31)
a texture circuit coupled to the rasterization circuit that applies a texture to the primitive, wherein the texture is specified by s10e5 floating point values.
-
-
27. The computer system of claim 25 further comprising a lighting circuit coupled to the rasterization circuit for performing a lighting function, wherein the lighting function executes on s10e5 floating point color values.
-
28. The computer system of claim 25 further comprising a fog circuit coupled to the rasterization circuit for performing a fog function, wherein the fog function operates on s10e5 floating point color values.
-
29. The computer system of claim 25 further comprising an antialiasing circuit coupled to the rasterization circuit which performs an antialiasing algorithm on s10e5 floating point color values.
-
30. The computer system of claim 25 further comprising a blender coupled to the rasterization circuit which blends s10e5 floating point color values.
-
31. The computer system of claim 25 further comprising logic coupled to the rasterization circuit which performs per-fragment operations on s10e5 floating point color values.
Specification