Method and system for dynamic texture replication on a...

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

C345S587000, C345S611000

Reexamination Certificate

active

06362828

ABSTRACT:

FIELD OF THE INVENTION
The field of the present invention pertains to computer implemented graphics. More particularly, the present invention relates to a system and method for implementing variable texture replication in a graphics subsystem.
BACKGROUND OF THE INVENTION
Computer graphics are being used today to perform a wide variety of tasks. Many different areas of business, industry, government, education, entertainment, and most recently, the home, are tapping into the enormous and rapidly growing list of applications developed for today's increasingly powerful computer devices.
Graphics have also become a key technology for communicating ideas, data, and trends in most areas of commerce, science, and education. Modern graphics workstations often implement real time user interaction with three dimensional (3D) models and pseudo-realistic images. These workstations typically contain dedicated, special purpose graphics hardware. The progress of semiconductor fabrication technology has made it possible to do real time 3D animation, with color shaded images of complex objects, described by thousands of polygons, on powerful dedicated rendering subsystems. The most recent and most powerful workstations are capable of rendering completely life-like, realistically lighted, 3D objects and structures.
In a typical 3D computer generated object, the surfaces of the 3D object are described by data models. These data models store “primitives” (usually mathematically described polygons and polyhedra) that define the shape of the object, the object attributes, and the connectivity and positioning data describing how the objects fit together. The component polygons and polyhedra connect at common edges defined in terms of common vertices and enclosed volumes. The polygons are textured, Z-buffered, and shaded onto an array of pixels, creating a realistic 3D image.
In a typical graphics computer, most of the actual rendering computation is performed by a graphics subsystem included in the graphics computer. The 3D object data models are “traversed” by a software program (e.g., in response to user input) running on one or more processors in a processor subsystem within the graphics computer. The primitives describing the 3D object are processed by the processor subsystem and sent to the graphics subsystem for rendering. For example, a 3D polyhedra model of an object is sent to the graphics subsystem as contiguous strips of polygons, sent to the graphics subsystem as a graphics data stream (e.g., primitives, rendering commands, instructions, etc.). This graphics data stream provides the graphics subsystem with all the information required to render the 3D object and the resulting scene. Such information includes, for example, specular highlighting, anti-aliasing, depth, transparency, and the like. Using this information, the graphics subsystem performs all the computational processing required to realistically render the 3D object. The hardware of the graphics subsystem is specially tuned to perform such processing quickly and efficiently in comparison to the processor subsystem.
Texture mapping is an important part of the 3D rendering process. In order to portray a more realistic real-world representation, texture mapping is usually applied to the 3D objects of the scene during rendering. Texture mapping refers to techniques for using multi-dimensional (e.g., 2D, 3D, etc.) texture images, or texture maps, for adding surface details to areas or surfaces of these 3D graphical objects. For example, given a featureless solid cube and a texture map defining a wood grain pattern, texture mapping techniques may be used to map the wood grain pattern onto the cube. The resulting image is that of a cube that appears to be made of wood. In another example, vegetation and trees can be added by texture mapping to an otherwise barren terrain model in order to portray a landscape filled with vegetation and trees.
Texture mapping is typically implemented during rasterization steps of the rendering process. For example, during rasterization, a texture element, or texel, is generated from a stored texture image (e.g., within a texture memory) and applied to each fragment of a particular surface. The individual texels represent the color of the texture image to be applied to respective corresponding fragments. A texture mapping process maps a portion of the specified texture image onto each primitive. Texture mapping is accomplished by using the color of the texture image at the location, for example, by overwriting or modifying the fragment's RGBA (Red, Green, Blue, Alpha) color.
The performance of the texture mapping process is highly dependent upon the performance of the underlying hardware. High performance texture mapping requires high power, high bandwidth rendering hardware within the graphics subsystems. One technique for accomplishing this is “pipelining” the graphics subsystem.
In a pipelined architecture, the graphics subsystem is configured as a series of interconnected stages used to render an image. Each stage performs a unique task during each clock cycle, for example, where one stage might be used to scan-convert a pixel; a subsequent stage may be used for color conversion; another stage could be used to perform depth comparisons; this is followed by a texture stage for texturing; etc. The advantage of using a pipelined architecture is that as soon as one stage has completed its task on a pixel, that stage can immediately proceed to work on the next pixel without having to wait for the processing of a prior pixel to complete. Accordingly, pixels flow through the pipeline at a rapid rate.
However, one drawback of a pipelined architecture is that since each stage performs a unique function, the stages are typically constructed from specialized circuit designs. And even though a single pipeline architecture often entails the use of hundreds of such stages, there still exists a finite limit to the speed at which graphics data can proceed through the pipeline.
A more modern architecture involves the use of parallel rendering hardware within the graphics subsystem. To increase performance (e.g., texture mapping speed), rendering components (i.e. multiple sub-pipelines) are implemented to process graphics data in parallel to increase the total aggregate speed of the graphics subsystem. Such a parallel processing environment allows the rendering process to be apportioned among a series of parallel rendering components to achieve a much faster peak performance than possible in the more conventional pipelined architecture. Hence, the most modern graphics subsystem architectures are implemented as parallel processing environments.
With respect to high performance texture mapping, in such a parallel processing environment, a graphics subsystem would typically include multiple parallel “geometry engines” coupled to multiple parallel raster engines. Each geometry engine performs geometry processing on, for example, a specific portion of an image, and sends the resulting graphics data to a corresponding raster engine for fragment processing (e.g., texture mapping, antialiasing, rasterization, etc.). The texture mapping processing is performed in parallel.
However, parallel processing within the graphics subsystem leads to other types of problems. To perform texture mapping in such a parallel environment, each raster engine may need to maintain a copy of the texture (e.g., texels of a texture image). This is required in order to ensure the raster engine is not starved for texture data, as, for example, in a case where raster engines contend for access to a texture map stored in a single shared memory.
One solution is to have large texture memories for every raster engine to accommodate very large textures. The problem with this solution is that it is very expensive. A high performance parallel rendering subsystem requires large texture memories for each raster engine, so that each raster engine has fast access to its own complete copy of the texture image. This implementation is referred to as “sta

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

Method and system for dynamic texture replication on a... 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 system for dynamic texture replication on a..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for dynamic texture replication on a... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2855322

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