Apparatus and method for texture mapping

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

06373496

ABSTRACT:

TECHNICAL FIELD
The present invention relates generally to texture mapping in graphics systems, and particularly to an apparatus and method of calculating a mipmap level of detail in parallel with texture mapping.
BACKGROUND ART
Texture mapping is a powerful technique for adding realism to a computer-generated scene. In its basic form, texture mapping lays an image (the texture) onto an object in a scene.
Because texture mapping is so useful, it is being provided as a standard rendering technique both in graphics software interfaces and in computer graphics hardware. The wide availability and high-performance of texture mapping makes it a desirable rendering technique for achieving a large number of special effects.
When mapping an image onto an object, the color of the object at each picture element, or pixel, is modified by a corresponding color from the image. In general, obtaining this color from the image conceptually requires several steps. The image is normally stored as a sample array, so a continuous image must first be reconstructed from the samples. Next, the image must be warped to match any distortion (such as caused by perspective) in the projected object being displayed. Then this warped image is filtered to remove high-frequency components that would lead to aliasing in the final step and resampled to obtain the resulting color to apply to the pixel being textured.
In practice, the required pre-filtering is approximated by one of the several methods. One of the most popular is mipmapping (from MIP, multium in pravo, many things in a small space). See L. Williams, “Pyramidal Parametrics”, Proceedings of SIGGRAPH '83, Computer Graphics, vol. 17, no. 3, July 1983, pp. 1-11.
In basic texture mapping, an image is applied to a polygon, such as a triangle (which is called a “primitive”), by assigning texture coordinates to the polygon's vertices. These coordinates index a texture image, and are interpolated across the polygon to determine, at each of the polygon's pixels, a texture image value. The result is that some portion of the texture image is mapped onto the polygon when the polygon is viewed on the screen.
The pixel locations in the screen space are given by X and Y coordinates, and a polygon is rendered based on the geometry of the polygon, the translation, distortion, and rotation of the polygon in the scene being rendered, lighting conditions and information about the appearance of the polygon.
Information about the appearance of the polygon in particular is defined by a texture map with orthogonal indices U and V for the texture space coordinates. The texture image is made up of texture elements, or “texels,” which are analogous to the pixels of the image being rendered to the screen space. The image is mapped to the polygon such that the polygon appears to have the texture image attached to it, like wallpaper on a wall. The values which make up texture maps will also be referred to as texels.
As a polygon is warped, the texture information attached to the polygon is also changed. Because the area of a texture map changes, the size of a single pixel of screen space in texture space varies as the polygon moves in the scene so it is conventional to use textures of varying mipmap levels of detail in place of a single texture map, or mipmap. This allows the mapping of screen space pixels to texture map texels to be carried out efficiently, by using a texture map which has texels of approximately the same size as the area corresponding to a single pixel. In typical mipmaps, a hierarchy of maps is constructed, based on one full resolution map. The full resolution map constitutes the lowest mipmap level map. Each higher mipmap level contains a map in which the texels each represent a 2×2 texel region in the map one mipmap level lower. The highest mipmap level map typically contains only one texel.
In order to use mipmapping, a real-time graphics rendering system must be able to quickly determine the correct mipmap level of detail to use. The mipmap level of detail is generally expressed by the parameter “D”. A D value of zero corresponds to the lowest mipmap level, and each higher integer value of D corresponds to a higher mipmap level. For example, a D value of two would correspond to a map two mipmap levels of detail higher than the zero mipmap level. Each texel in the mipmap level two map represents a 4×4 texel region in the mipmap level zero map. In the past, the determination of D had to be carried out for each pixel drawn to the screen space, since each pixel could correspond to a region of the polygon of a different size. By taking the log
2
of the Jacobian norm, the mipmap level of detail (D) is determined wherein the characteristic (integer) is the mipmap level of detail and the mantissa (fraction) is the blending required or D=log
2
∥J∥.
A conventional method of estimating D is to use the larger of:
D
=
log
2

(
(

U

X
)
2
+
(

U

Y
)
2
)



or



D
=
log
2

(
(

V

X
)
2
+
(

V

Y
)
2
)
(
Equation



1
)
where dU/dX represents the partial derivative of U with respect to X. As the polygon is made to cover less space in the screen space, each pixel will cover more texels of the zero mipmap level map, increasing the value of D.
An equivalent method of estimating D is to use the larger of:
D
=
log
2

(
(

U

X
)
2
+
(

V

X
)
2
)



or



D
=
log
2

(
(

U

Y
)
2
+
(

V

Y
)
2
)
(
Equation



2
)
which is based on a different estimation of log
2
∥J∥.
In order to determine the appropriate texture information for a pixel, the rendering system must determine not only the mipmap level of detail, which indicates which map to use, but also the coordinates of the point in the map which coincides with the pixel. Conventionally, the mapping of pixel coordinates (X,Y) to texture coordinates (U,V) is approximated by equations of the form:
U
=
U
~
W
~



V
=
V
~
W
~



W
~

=
det

Z
screen
(Equation 3-8)
where a
i
, b
i
, and c
i
(i=1,2,3) are constants which define the relation between the pixel coordinates and the map coordinates. These constants are referred to as the “map coordinate setup constants,” because they are calculated once for each polygon (during the “setup” for the polygon) and are then used to calculate the map coordinates U and V given pixels with coordinates of X and Y.
The determination of dU/dX, dU/dY, dV/dX, and dV/dY conventionally is carried out through the use of equations of the form:

U

X
=
a
1
W
~
-
U
~
*
a
3
(
W
~
)
2




U

Y
=
b
1
W
~
-
U
~
*
b
3
(
W
~
)
2




V

X
=
a
2
W
~
-
V
~
*
a
3
(
W
~
)
2




V

Y
=
b
2
W
~
-
V
~
*
b
3
(
W
~
)
2
(Equation 9-12)
The mipmap level of detail, D, is then calculated using equations of the form of either Equation 1 or Equation 2. After U, V, and D are determined for a given pixel, the necessary texture information from the map of mipmap level D is retrieved from the texel at location U, V.
Thus, in the past, there was a high latency in the rendering of a textured graphic image because of the sequential nature of the necessary calculations. The coordinate setup constants would first have to be calculated, then the values of U, V, and W calculated, and finally the mipmap level of detail, D.
With the importance of speed in order to obtain fast, real-time 3D graphics, a faster system for mipmap texturing has been long sought but has eluded those skilled in the art.
DISCLOSURE OF THE INVENTION
The present invention provides a system and method for mipmapping a texture to a computer graphics object on a display for a graphics computer system. It includes a polygon selection mechanism for selecting a polygon from a plurality of polygons defining the object and a texture coordinate determining mechanism for determining the texture coordinates of the

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

Apparatus and method for texture mapping does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Apparatus and method for texture mapping, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Apparatus and method for texture mapping will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2882137

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