Auto level of detail texture mapping for a software graphics...

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

C345S428000, C345S581000, C345S589000

Reexamination Certificate

active

06333746

ABSTRACT:

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT
Not applicable.
BACKGROUND OF THE INVENTION
A. Field of the Invention
The present invention relates generally to a graphics system for a personal computer. More particularly, the present invention relates to rendering polygons in a pixel grid. Still more particularly, the present invention relates to an improved method of applying texture to polygons.
B. Background of the Invention
Sophisticated graphics packages have been used for some time in expensive computer aided drafting, design and simulation systems. Increased capabilities of graphic controllers and display systems, combined with standardized graphics languages, have made complex graphics functions available in even the most routine applications. For example, word processors, spread sheets and desktop publishing packages now include relatively sophisticated graphics capabilities. Three-dimensional (3D) displays have become common in games, animation, and multimedia communication and drawing packages.
The availability of sophisticated graphics in PC's has driven a demand for even greater graphic capabilities. To obtain these capabilities, graphic systems must be capable of performing more sophisticated functions in less time to process greater amounts of graphical data required by modern software applications. In particular, there is a continuing need for improvements in software algorithms and hardware implementations to draw three=dimensional objects using full color, shading, texture mapping, and transparency blending.
The development of raster display systems has dramatically reduced the overall cost and increased the capabilities of graphic systems. In a raster display system, a set of orthogonal or horizontal scan lines, each comprising a row of pixels, forms an array or grid of pixels to represent the entire screen area. The screen preferably comprises a cathode ray tube (CRT), LCD display, or the like, capable of scanning the entire pixel grid at a relatively high rate to reduce flicker. The pixel data preferably is stored in a frame buffer comprising dynamic random access memories (DRAM's), or more preferably video RAMs (VRAM's), where each pixel is represented by one or more bits depending upon the desired resolution. In many graphics systems, for example, each pixel is drawn or “rendered” with 24 bits of color information (8 bits for red, 8 bits for green, 8 bits for blue). Typical display systems are capable of drawing screens with multiple colors at a variety of screen resolutions, including resolutions of 640 pixels×480 pixels, 800×600, 1024×768, 1280×1024, or even higher pixel value combinations, depending upon the software drivers and the hardware used.
Typically, a video controller scans and converts the pixel data in the frame buffer to provide control signals for the screen system. In particular, the video controller renders the screen pixels, typically from the top of the screen to the bottom and from left to right, converting pixel data into color intensity values each pixel. In a color graphics system using a CRT, three separate beams are controlled for each of the primary colors, where the intensity of each of the beams is determined by the pixel value corresponding to the respective colors. A similar system is used for LCD displays.
Other improvements have been made in the hardware realm. Graphics processors and accelerators are available with software drivers that interface the host central processing unit (CPU) to the graphics processor. In general, the software driver receives information for drawing objects on the screen, calculates certain basic parameters associated with the objects and provides these to the graphics processor. The software driver then sends a command for the graphics processor to draw the object into the frame buffer. A graphics processor may use interpolation techniques in which the fundamental information for the object to be drawn comprises a set of initial and incremental parameters. As explained below, the graphics processor loads or otherwise receives the initial parameters for rendering a first pixel, and then interpolates the remaining pixels in an object by using the incremented parameters until the object is complete.
An exemplary interpolation method for drawing a typical polygon is shown in
FIG. 1
in which polygon
30
represents a wall extending from the foreground
34
to the background
36
. Polygon
30
can be subdivided into two triangles
32
and
40
. In general, however, a polygon is subdivided into as many triangles as are necessary to represent the polygon. For example, ten thousand triangles or more may be required to create a realistic looking image of a human face. Graphics objects typically are represented with a collection of triangles because triangles are simple geometric shapes that can be characterized with relatively few values.
Referring still to
FIG. 1
, each triangle
32
,
40
may be drawn in two portions, such as portions
47
,
49
of triangle
40
. To render triangle
40
, for example, a software driver receives vertex information (including x,y coordinates of each vertex
41
,
42
,
43
) and identifies a main slope line
45
extending the vertical length (in the y direction) of triangle
40
between vertices
41
and
43
. The other two sides
51
,
53
of triangle
40
are referred to as opposite slopes. The polygon
40
is interpolated using orthogonal (ORTHO) horizontal scan lines of pixels that extend from the main slope
45
to the opposite edges
51
,
53
. ORTHO Scan lines
63
,
65
,
67
represent the first three scan lines for triangle
40
. The vertical or y parameter is used as a reference coordinate, so that the y pixel value is preferably incremented (or decremented depending on whether the triangle is rendered from top to bottom or bottom to top) by one for each scan line. A value for the main slope
45
is calculated as an initial condition and is used to compute the x coordinate of the first pixel in each scan line (i.e., the pixels on of the main slope). The software driver also determines initial and incremental width values for the scan lines and interpolates the width rather than edge walking the opposite slopes. The interpolated width value is loaded into a counter and decremented for each pixel in the current scan line. When the width counter becomes zero or otherwise reaches terminal count, the counter asserts a terminal count signal indicating that the scan line is complete.
Using such interpolation techniques, each triangle
32
,
40
is drawn one row or horizontal scan line of pixels at a time. For each scan line of triangle
40
(such as scan lines
63
,
65
,
67
), pixels are rendered from the main slope
45
to the opposite edges
51
,
53
. In the first scan line
63
, vertex pixel
41
is rendered. In the second scan line
65
, pixels
52
then
53
are rendered. In the third scan line
67
, pixels
54
,
55
,
56
are rendered.
Graphics processors, such as the GD5464 manufactured by Cirrus Logic, are capable of applying texture to polygons through a process referred to as texture mapping. Texture mapping techniques generally apply a bitmapped texture image to a polygon on the screen. A texture map typically is a two dimensional array of texture elements (“texels”) that define a texture such as a brick, a carpet design, the grain of wood or any other texture that might be applied to an object on a computer screen. Referring now to
FIG. 2
, an exemplary brick texture
44
is applied to polygon
30
to create the appearance of a brick wall. The brick texture
44
is represented by a texture map. The texture map used in
FIG. 2
may represent only a single brick which is applied repeatedly to polygon
30
to cover the entire polygon with bricks.
Using standard techniques, the texture map associated with the texture
44
is applied to polygon
30
in such a way to give the appearance of perspective to the brick wall of FIG.
2
. To further improve upon the realism of the brick wall, the bricks tha

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

Auto level of detail texture mapping for a software graphics... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Auto level of detail texture mapping for a software graphics..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Auto level of detail texture mapping for a software graphics... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2596151

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