Texture alpha discrimination a method and apparatus for...

Computer graphics processing and selective visual display system – Computer graphics processing – Attributes

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06323870

ABSTRACT:

FIELD OF THE INVENTION
This invention generally relates to computer graphics systems; and more specifically, the invention relates to the techniques of real time rendering with texture mapping in the field of computer graphics systems.
BACKGROUND OF THE INVENTION
Texture Mapping
Texture mapping is a commonly employed technique for adding detail in computer graphics rendering to achieve a high degree of realism in the rendered image. Each drawing primitive (i.e. each polygon) is specified with texture coordinates at its vertices which describe corresponding locations within an array of memory locations in a memory storage device, referred to as a texture. As the primitive is rasterized pixel-by-pixel, the texture coordinates are interpolated to arrive at a corresponding texel address within the texture.
The contents of the texture at the interpolated address are fetched from the memory device and are used to affect the color of the pixel value stored in the frame buffer. There are a number of ways that a texel value can affect the color of the pixel stored in the frame buffer. In most cases, the texel value is used to either modulate or replace a luminance or color value interpolated between color or luminance values specified or computed at the vertices of the drawing primitive.
Alpha Blending
In computer graphics and image processing, it often is necessary to combine color values from separate sources into a composite color value. It is a standard practice in the field of computer graphics to represent an image as a set pixels each of which has four distinct values: Red, Green, Blue, and Alpha. Red, Green and Blue are additive primary components in the RGB color space. The alpha channel contains information used to weight the Red, Green, and Blue values when combining them with colors from other sources. Also, the alpha channel is often used to represent the opacity of a material or the amount of pixel area covered by a polygon.
When a translucent or partially covered pixel is to be written to a location in the frame buffer, the incoming value may be combined with the value already stored at the location and the resulting composite color may be stored in the location. The alpha values are used to weight the contribution of the source (incoming) value with the destination (current) value in proportion to each value's opacity or area. Various operating standards, such as Open GL and Direct 3D, allow applications to specify conditions based upon the alpha value of an incoming pixel where a pixel write can be avoided (for example, when Alpha is equal to or nearly zero and the incoming pixel would have little or no effect).
Computation of Alpha From Depth Texture Comparison
A procedure in which depth values are compared against a texture coordinate is disclosed in “Fast Shadows and Lighting Effects Using Texture Mapping”,
Computer Graphics
(SIGGRAPH 1992 Proceedings), Vol. 26, No. 2, July 1992, pages 249-252, by M. Segal, C. Korobkin, R. van WidenFelt, J. Foran, and P. Haeberli. More specifically, this paper details a technique where four depth values fetched from a texture map are compared against a third texture coordinate which is interpolated between values specified at the vertices of the drawing primitive. If the depth texel's value is equal to or greater than the value of the third texture coordinate, then the texels value is replaced with a value of 1.0 otherwise the value is replaced with a value of 0.0. The resulting four texel values are then bilinearly interpolated to arrive at a single value between 0.0 and 1.0 which replaces the incoming pixel fragment's alpha value. Thus the fragment color interpolated between values specified at the vertices is attenuated by the alpha value before it is stored in the frame buffer.
SUMMARY OF THE INVENTION
An object of this invention is to provide a process, referred to as alpha discrimination, that is a method of enhancement to the process of texture mapping and which allows a texture to be selectively applied to incoming pixel fragments.
Another object of this invention is to provide an apparatus, called the alpha discriminator design block, which can be inserted into computer graphics rendering hardware to achieve the effects of alpha discrimination.
Alpha Discrimination
With a preferred embodiment of this invention, the process of aldha discrimination occurs during the rendering of a drawing primitive between the stages of texture memory fetch and texture filter in the traditional graphics pipeline. To enable the process of alpha discrimination, the host application preferably sets a control state variable to a non-zero value. To disable alpha discrimination the host application sets this variable to zero. When the control state variable is set to zero, the process of alpha discrimination merely passes the texel data from the texture memory fetch process to the texture filter process unmodified. When the control state variable is set to a non zero value, the process of alpha discrimination compares the alpha value of each texel fetched from memory against a reference state variable according to criteria specified in the control state variable.
With the embodiment described herein in detail, both the reference and control variables are set by the host application prior to issuing commands to begin rendering the drawing primitives which will be affected by them. If the result of the comparison between the texel's alpha value and the value stored in the reference variable is true, then the bits of the texel specified in the control state variable either retain their original input values or are replaced with ones (depending on whether the control state variable indicates modulation or replacement). Otherwise the bits of the texel specified in the control state variable are cleared. Each modified texel is passed on to the texture filtering process and the alpha discrimination process is complete.
For example, the process of alpha discrimination may be controlled by the host application using two control commands:
SetTexAlphaDiscriminationCtrl (unsigned CtrlVal) and
SetTextureAlphaRef (unsigned RefVal).
SetTextureAlphaRef(unsigned RefVal) sets the reference state variable, which may be identified as TextureAlphaRef, to the value specified in the argument RefVal. TextureAlphaRef will retain this value until the next time SetTextureAlphaRef(unsigned RefVal) is issued by the host application.
SetTexAlphaDiscriminationCtrl (unsigned CtrlVal) sets the control state variable, which may be identified as TexAlphaDiscriminationCtrl, to the value specified by the argument CtrlVal. TexAlphaDiscriminationCtrl will retain this value until the next time SetTexAlphaDiscriminationCtrl (unsigned CtrlVal) is issued by the host application. The TexAlphaDiscriminationCtrl state variable describes the criteria of comparison, which bits of the fetched texel (if any) are to be modified with the results of the alpha channel's compare against the reference value, and how those bits are to be modified.
Alpha Discriminator Design Block
The alpha discriminator design block is an apparatus which may be inserted between the texture memory fetch design block and the texture filter design block of a hardware graphics accelerator. For each texel output provided by the texture memory fetch design block the alpha discriminator has a texel input and a texel output. The alpha discriminator design block has a control word register similar to the TexAlphaDiscriminationCtrl state variable described in the section above and an N-bit reference value register (where N is the number oL bits used to represent alpha in the texel output of the texture memory fetch design block) which is used to hold a reference value similar to the TextureAlphaRef described above.
The control word register conveys the criteria of the comparison, which bits (if any) of the incoming texels are to be modified with the results of the compare, and how those bits are to be modified. If the control word states that no bits are to be modified, then the texel data passes throug

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Texture alpha discrimination a method and apparatus for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Texture alpha discrimination a method and apparatus for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Texture alpha discrimination a method and apparatus for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2584318

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.