Abstract:
The purpose of the invention is to create a method to allow a real person or movable physical object to occlude virtual objects in a augmented reality application using a single tracking data sensor for objects or only head tracking data for a real person. The method involves occluding virtual objects with a real world human in augmented reality. The method comprises creating an orthogonal plane billboard with soft texture edges representing a user's head; creating an orthogonal plane billboard with soft texture edges representing a user's torso; positioning and orienting the head billboard using motion tracker data; positioning and orienting the torso billboard relative to the head billboard; displaying the head and torso billboards in real-time 3-D to correspond to the location of a real person; and mixing the resulting image with a live image of a real person.
Abstract:
A system and method are provided for using information from at least one depth layer and for collecting information about at least one additional depth layer utilizing a graphics pipeline. Initially, constraining depth layers are provided which, in turn, define a plurality of depth constraints. Next, a plurality of tests is performed involving the constraining depth layers for collecting information about at least one additional depth layer. The information relating to the at least one depth layer may then be used to improve processing in the graphics pipeline. By the foregoing multiple tests, information relating to a plurality of depth layers may be collected during each of a plurality of rendering passes. Initially, information relating to the constraining depth layers and associated depth constraints is provided in the aforementioned manner. Thereafter, information relating to at least one additional depth layer is collected during additional rendering passes using multiple tests on each rendering pass. Once collected, such information relating to the constraining depth layers and the information relating to the at least one additional depth layer may be used to further improve processing in the graphics pipeline.
Abstract:
The present invention provides a system and method for eliminating hidden surfaces in 3D graphics that improves rendering performance by decreasing the size of the data stored to or retrieved from the depth buffer when the distance from the camera to the pixel on the surface of the primitive is further than the threshold distance. The threshold distance from the camera is defined such that for such pixels the precision of a linear or quazi-linear depth buffer with a decreased data size is the same as or higher than the precision of a non-linear depth buffer with an original data size. The invention improves the usefulness of linear and quasi-linear depth buffers for 3D applications optimized for non-linear depth buffers. The present invention additionally affords a method for selecting the size of data to be read from the depth buffer before new depth values are computed for the same pixels.
Abstract:
A three-dimensional model is created without carrying out complicated modeling by incorporating elements of a two-dimensional image into the three-dimensional model. A two-dimensional image inputted to a two-dimensional image input section is stored in a two-dimensional image storing section, while information on a predetermined element of the two-dimensional image is extracted in a processing section in relation to three-dimensional information, and thereafter transformed to three-dimensional information. A three-dimensional modeling data producing section adds the three-dimensional information transformed from the element information to modeling data which expresses a three-dimensional shape which is previously prepared, and thereby creates a three-dimensional model. A rendering section subjects the three-dimensional model thus created to bump mapping, texture mapping or the like, and thereafter, a three-dimensional image is displayed by a display section.
Abstract:
Structure, apparatus, and method for performing conservative hidden surface removal in a graphics processor. Culling is divided into two steps, a magnitude comparison content addressable memory cull operation (MCCAM Cull), and a subpixel cull operation. The MCCAM Cull discards primitives that are hidden completely by previously processed geometry. The Subpixel Cull takes the remaining primitives (which are partly or entirely visible), and determines the visible fragments. In one embodiment the method of performing hidden surface removal includes: selecting a current primitive comprising a plurality of stamps; comparing stamps to stamps from previously evaluated primitives; selecting a first stamp as a currently potentially visible stamp (CPVS) based on a relationship of depth states of samples in the first stamp with depth states of samples of previously evaluated stamps; comparing the CPVS to a second stamp; discarding the second stamp when no part of the second stamp would affect a final graphics display image based on the stamps that have been evaluated; discarding the CPVS and making the second stamp the CPVS, when the second stamp hides the CPVS; dispatching the CPVS and making the second stamp the CPVS when both the second stamp and the CPVS are at least partially visible in the final graphics display image; and dispatching the second stamp and the CPVS when the visibility of the second stamp and the CPVS depends on parameters evaluated later in the computer graphics pipeline.
Abstract:
A method, apparatus and article of manufacture are provided for performing rasterization using alternating sense point traversal. Upon receipt of a primitive, i.e. a triangle, a plurality of points are positioned on or near the primitive. Such points define an enclosed convex region and may be located at corners of the convex region. In operation, the points and convex region are moved in an alternating manner for the purpose of identifying an area in the primitive for rendering pixels therein. In particular, the points are moved in a boustrophedonic manner.
Abstract:
An anti-aliasing process without sorting the polygons in depth order to improve the image quality in three-dimensional graphics system. This method comprises extra buffer memory than does a typical three-dimensional graphics display system. The Z buffer stores the depth value of nearest pixel in front Z buffer and depth value of secondary nearest pixels in back Z buffer. The color buffer stores foreground color and background color. A weighting value is used and stored in the frame buffer to blend the foreground color and the background nearest color. The weighting value is associated with each pixel, it indicates the percentage of coverage of a pixel. Every pixel in Z buffer test stage will update the depth of the nearest pixel and the depth of the second nearest in Z-buffer, foreground color and background color in the frame buffer and the weighting value according to the result of depth comparison.
Abstract:
Apparatus and method for a Parallel Query Z-coordinate Buffer are described. The apparatus and method perform a keep/discard decision on screen coordinate geometry before the geometry is converted or rendered into individual display screen pixels by implementing a parallel searching technique within a novel z-coordinate buffer based on a novel magnitude comparison content addressable memory (MCCAM) structure. The MCCAM provides means structure and method for performing simultaneous arithmetic magnitude comparisons on numerical quantities. These arithmetic magnitude comparisons include arithmetic less-than, greater-than, less-than-or-equal to, and greater-than-or-equal-to operations between coordinate values of a selected graphical object and the coordinate values of other objects in the image scene which may or may not occult the selected graphical object. Embodiments of the method and apparatus utilizing variations The structure and method support variations and combinations of bounding box occulting tests, vertex bounding box occulting tests, span occulting tests, and raster-write occulting tests, as well as combinations of these tests are described .
Abstract:
Structure, apparatus, and method for performing conservative hidden surface removal in a graphics processor. Culling is divided into two steps, a magnitude comparison content addressable memory cull operation (MCCAM Cull), and a subpixel cull operation. The MCCAM Cull discards primitives that are hidden completely by previously processed geometry. The Subpixel Cull takes the remaining primitives (which are partly or entirely visible), and determines the visible fragments. In one embodiment the method of performing hidden surface removal includes: selecting a current primitive comprising a plurality of stamps; comparing stamps to stamps from previously evaluated primitives; selecting a first stamp as a currently potentially visible stamp (CPVS) based on a relationship of depth states of samples in the first stamp with depth states of samples of previously evaluated stamps; comparing the CPVS to a second stamp; discarding the second stamp when no part of the second stamp would affect a final graphics display image based on the stamps that have been evaluated; discarding the CPVS and making the second stamp the CPVS, when the second stamp hides the CPVS; dispatching the CPVS and making the second stamp the CPVS when both the second stamp and the CPVS are at least partially visible in the final graphics display image; and dispatching the second stamp and the CPVS when the visibility of the second stamp and the CPVS depends on parameters evaluated later in the computer graphics pipeline.
Abstract:
A method and apparatus for determining and utilizing Z values of fragments in an anti-aliasing video graphics system is described. This method and apparatus are accomplished by sampling the fragment to produce a plurality of samples where a valid sample indicate coverage of a pixel by the fragment at a portion of the pixel corresponding to the valid sample. The Z value of a front-most valid sample of the plurality of samples is then determined. This Z value is preferably determined by determining the Z value at a reference point within the pixel and then ranking the various samples based on their positions and the slopes of the Z value in the horizontal and vertical directions with respect to the reference point. The highest ranked sample that is a valid sample is then selected, and the Z value for that sample is calculated based on the Z value at the reference point, the position of the selected sample with respect to the reference point, and the slopes. Once the Z value of the front-most sample of the plurality of samples has been determined, this Z value is used as the Z value for all of the valid samples within the fragment.