Apparatus and method for selectively storing depth information of a 3-D image
AssigneeSilicon Graphics, Inc.
InventorsKurt Akeley, James Foran
Life of this patent
Estimating the term…
Abstract
In a computer system for creating images of three-dimensional objects, an apparatus and method for processing depth values representing the relative depths of the objects. The depth values are transformed according to projections in order to give the appearance of depth when the objects are displayed on a two-dimensional computer screen. These transformed depth values are then interpolated using N bits of precision. Next, the depth values are encoded into a format whereby the depth values have less than N bits. These encoded depth values are stored into memory. In displaying the objects, the encoded depth values are read from memory and compared to determine the relative depths of the objects.
Claims22
In an apparatus for displaying objects visually perceived as being three-dimensional, a method of processing depth values representing relative depths of pixels or subpixels of the objects, wherein the method is comprised of the steps of:
- transforming the depth values of vertices corresponding to a primitive to generate transformed depth values, wherein the transformed depth values have N bits of resolution;
- generating intermediate depth values by interpolating at least two of the transformed depth values, wherein the intermediate depth values have N bits of resolution;
- encoding the intermediate depth values into encoded depth values having less than N bits of resolution;
- comparing the encoded depth values to determine whether one object is in front of another object;
- storing the encoded depth values in memory that correspond to the objects or portions of objects that are visible.
An apparatus for rendering a three-dimensional object comprising:
- a memory for storing original Z values representing relative depths;
- a processor coupled to the memory for projecting the original Z values to give the object a perception of depth;
- an interpolator coupled to the processor for generating interpolated Z values by interpolating a plurality of the original Z values;
- an encoder coupled to the interpolator for encoding the interpolated Z values to generate encoded Z values, wherein the encoded Z values have less bits than that of the interpolated Z values;
- a Z buffer coupled to the encoder for storing the encoded Z values;
- a comparator coupled to the Z buffer for determining the relative depths of images based on the encoded Z values.
In a computer system, a method of displaying three-dimensional objects, comprising the steps of:
- specifying a three-dimensional view volume and a projection plane;
- clipping the objects against the view volume;
- projecting the view volume onto the projection plane;
- transforming the objects into a viewport for display;
- interpolating Z values using N bits of data per pixel;
- encoding the Z values into a format having less than N bits of data per pixel;
- storing encoded Z values into a memory;
- reading the encoded Z values from the memory;
- comparing the Z values read from the memory to determine relative depths of the objects;
- storing the Z values in the format having less than N bits of data per pixel.
Dependencies are inferred from the claim text.