Computer graphics processing and selective visual display system – Computer graphics processing – Graph generating
Reexamination Certificate
1998-04-01
2001-02-20
Powell, Mark R. (Department: 2779)
Computer graphics processing and selective visual display system
Computer graphics processing
Graph generating
C345S156000, C345S182000
Reexamination Certificate
active
06191793
ABSTRACT:
BACKGROUND OF THE INVENTION
Technical Field
The present invention relates generally to real time computer image generation systems, and, more particularly, to means and method for texture map filtering.
Description of the Related Art
In computer image generation systems, texture mapping may be used to achieve realistic image reproduction for objects or features to be displayed. Texture mapping is a technique that applies an image to an object's surface. The general benefit provided by the application of texture mapping is to add realism. Many methods have been employed to accomplish texture mapping. Irrespective of which method one selects, when a texture map is created it will have a certain number of cells in the matrix. The number of cells in the matrix (e.g. 256×256), is the resolution of the texture map. The resolution represents the object at a certain predetermined apparent distance which is known as a level of detail. This “apparent distance” is a function of the size of the field of view, the distance of the viewer to the object and the orientation of the object. As an object moves in relative distance from the viewer a problem occurs in determining the texture color value in that it becomes computationally burdensome to include all of the cells in the texture map that contribute to the individual pixels within the object to be textured. The solution is to store a sequence of texture maps of the same texture pattern to be used at different relative distances from the object to the viewer. This sequence of texture maps is sometimes called a zoom pyramid. The zoom pyramid starts with a high resolution texture map and includes successive maps that are lower resolution versions of the previous map in the pyramid. The zoom pyramid effectively divides the scene to be displayed into a plurality of predetermined range intervals, where each range interval corresponds to a different respective level of detail (LOD). Creating texture maps at different relative distances from the object to the viewer is known as establishing multiple texture levels of detail (LODs). The manner in which the LODs are created is by establishing a base LOD which will be the texture map with the highest resolution, in other words the greatest number and smallest sized cells for a predetermined area. The highest resolution texture map is closest to the observer and is used for applying the texture to an object when the object is near to the viewer. Lower resolution versions are arranged to contain a respective decreasing amount of detail with correspondingly smaller number and larger sized cells for the same area. The lower resolution versions are created by filtering the cell data from the previous map and are used for applying texture as the object moves further from the viewer. In the texture mapping process, a determination must be made of which texture maps in the zoom pyramid to use based on the distance the object appears to be to the viewer or apparent distance. The LOD calculation makes this determination. The LOD calculation is based on a texture cell to pixel size comparison and selects the two consecutive texture maps that have the nearest cell to pixel size correspondence. The resolution of these two maps are of such resolution such that they bracket the object to be textured. Data from each of these two texture LOD maps is retrieved from memory. The data from each map is filtered using a 2D weighting function such as bilinear interpolation. The filtered data from these two texture LOD maps is then blended by linear interpolation depending on the location of the object between the two selected texture LODs. The LOD blending provides a smooth transition between texture LODs when the object is moving in the scene between the distances set for the two selected texture LODs. This technique of filtering in two successive maps and a linear interpolation is commonly referred to as trilinear interpolation and is described in U.S. Pat. No. 4,727,365. Retrieving data with this method has a constant associated cost of eight pixel accesses and between seven and thirteen multiplies per screen pixel.
A simpler method that is often used to save computations, is to only filter the texels in the closer LOD map, LOD N, of the zoom texture pyramid. The bilinearly filtered texture value from the closer map would require only four pixels accesses and less than one half the multiplies per pixel as trilinear interpolation. As the apparent distance to the polygon increases, the LOD map used to obtain the pixel value will jump from LOD N to LOD N+1 at some pre-established threshold distance, at which point the filtering will occur exclusively in LOD N+1. This simplified approach eliminates the step of blending between the two LOD levels, as required in trilinear interpolation. This method, however, while computationally more efficient than trilinear interpolation, produces undesirable visible artifacts for most texture maps as the apparent distance changes. As a consequence, there exists a need for a simplified, computationally inexpensive method of texture map filtering that does not produce associated undesirable visible artifacts.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to provide a method of LOD selection which is computationally efficient and, thereby reduces texture memory bandwidth requirements, while at the same time significantly reduces the visible artifacts over conventional methods
In order to attain the above object, according to the present invention, there is provided a method for minimizing the visible effects of texture Level of Detail (LOD) transitions across a polygon without the need for the more expensive and accurate linear blending between two filtered LODs used in trilinear interpolation. The method of the present invention comprises the steps of: 1) computing a texture LOD value for each pixel covered by a graphics primitive (e.g. polygon), 2) applying a dithering offset value to each computed LOD value resulting in a dithered pixel LOD value, and 3) obtaining texture data from the LOD texture map identified by the dithered pixel LOD value.
In an illustrative embodiment, screen space is comprised of a plurality of spans, wherein each span is further comprised of a grid of pixels, for example, of dimension 4×4. The method of the present invention calculates an LOD value for each pixel covered by a polygon in a span. The method will be applied to those covered pixels in a subsequent span. Further details regarding span processing can be found in U.S. Pat. No. 4,811,245 as well as U.S. Patent Application Serial Number 09/053,589, (ATTY DOCKET 10874) filed concurrently herewith, both of which are incorporated herein in their entirety by reference thereto. The method further requires the creation of a matrix of dither values, which may be stored in a look-up table or equivalent storage device.
Application of a dithering offset to the computed LOD value has the potential effect of pushing some computed texture pixel values to the far texture LOD map (LOD=N+1), and pulling other pixel texture values to the near LOD map (LOD=N). Pursuant to the method of the invention, a dithered offset value is applied, such as by adding, multiplying, etc., to the computed pixel LOD value. The integer result of the application, after roundoff or truncation, identifies either the near or far texture map for filtering. A certain percentage of computed LOD pixel values will be unaffected by the addition of the dithering offset while others will point to a map different than what would have been selected prior to any dither offset application. If a dithering offset value is negative, the change will be to pull the selected LOD map back to the near map. If the dithering offset is a positive number the change will result in the LOD selection being pushed up to the far map.
It is appropriate here to define certain terms. The dithering offset values are the values that are applied to the conventional computed pixel LOD value. The dithering
Manno Steven
Mantor Michael
Piazza Thomas A.
Taylor Ralph Clayton
Good-Johnson Motilewa
Powell Mark R.
Real 3D Inc.
Scully Scott Murphy & Presser
LandOfFree
Method and apparatus for texture level of detail dithering does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Method and apparatus for texture level of detail dithering, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for texture level of detail dithering will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2609840