System, method and computer program product for a blending...

Computer graphics processing and selective visual display system – Computer graphics display memory system – Logical operations

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S506000, C345S426000, C345S427000

Reexamination Certificate

active

06353439

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates generally to graphics processors and, more particularly, to a transform module of a graphics pipeline system.
BACKGROUND OF THE INVENTION
Prior Art
FIG. 1
illustrates a general prior art system that implements a pipelined graphics processing system. In this system, data source
10
generates a stream of expanded vertices defining primitives. These vertices are passed, one at a time, through pipelined graphic system
12
via vertex memory
13
for storage purposes. Once the expanded vertices arc received from the vertex memory
13
into the pipelined graphic system
12
, the vertices are transformed and lit by a transformation module
14
and a lighting module
16
, respectively, and further clipped and set-up for being rendered by a rasterizer
18
, thus generating rendered primitives that are then displayed on display device
20
.
During operation, the transform module
14
may be used for receiving vertices in model coordinates and transforming the three dimensional vertices from their model coordinates to the two dimensional window where they will ultimately be displayed. In order to achieve the transformation, standard transform parameters may be employed such as a view port, a viewing matrix, a world matrix, a projection matrix and so forth.
Together, the foregoing parameters allow geometric transformations to express the location of an object relative to another object, rotate, clip and size various objects, as well as change viewing positions, directions, and perspectives in the three dimensional scene. Coordinate transformations that transform the three dimensional vertices from their model coordinates to the two dimensional window where they will be displayed typically involve one or more of translation, rotation and scaling.
Prior art transform systems typically handle scalar and vector values that are generated during the transform process separately. For example, a position attribute, i.e. (X, Y, Z, W), may be processed via a vector operator such as multiplier and/or an adder, thus rendering a scalar value. While a scalar operator may process such scalar value, it is typically not processed again by the vector operator. Until now there have been no attempts to integrate the processing of scalar and vector forms of processed vertex data during graphics pipeline processing.
Yet another process handled by the transform module
14
is blending, or “skinning.” Skinning refers to the process of adding realism to segmented polygonal objects by blending a joint between the objects. Prior Art
FIG. 1A
illustrates a pair of objects
22
before and after skinning is performed.
Conventionally, the skinning process is carried out using a computer program and a general-purpose processor. As such, there have been no attempts to implement skinning on hardware for the purpose of incurring the benefits, i.e. speed, efficiency, etc., associated with dedicated circuitry.
DISCLOSURE OF THE INVENTION
A method, apparatus and article of manufacture are provided for a transform system for graphics processing. Included is an input buffer adapted for being coupled to a vertex attribute buffer for receiving vertex data therefrom. A multiplication logic unit has a first input coupled to an output of the input buffer. Also provided is an arithmetic logic unit having a first input coupled to an output of the multiplication logic unit. Coupled to an output of the arithmetic logic unit is an input of a register unit.
An inverse logic unit is also provided including an input coupled to the output of the arithmetic logic unit for performing an inverse or an inverse square root operation. In one embodiment, a method is provided for handlings null W-attribute values in the inverse logic unit of the transform modulate. Handling null W-attribute values is of particular importance since a set-up module of a rasterizer is incapable of generating edge equations in screen space if the W-attribute is null because a divide by zero produces an useless infinity value. In use, upon receipt of the vertex data, the inverse logic unit of the transform module identifies a value of an W-attribute of the vertex data. If the identified value of the W-attribute is null, a divide operation involving the W-attribute of the vertex data is clamped to a minimum and a maximum exponent. It is this clamped value that the set-tip module of the rasterizer uses to generate the edge equations.
Further included is a conversion module coupled between an output of the inverse logic unit and a second input of the multiplication logic unit. In use, the conversion module serves to convert scalar vertex data to vector vertex data.
Memory is coupled to the multiplication logic unit and the arithmetic logic unit. The memory has stored there in a plurality of constants and variables for being used in conjunction with the input buffer, the multiplication logic unit, the arithmetic logic unit, the register unit, the inverse logic unit and the conversion module for processing the vertex data. Finally, an output converter is coupled to the output of the arithmetic logic unit for being coupled to a lighting module to output the processed vertex data thereto.
In one aspect of the present invention, the transform system may be adapted for handling both scalar and vector components during graphics processing. To accomplish this, vertex data is received in the form of vectors after which vector operations are performed on the vector vertex data. The arithmetic and multiplication logic unit or any other type of vector operation modules may implement such vector operations.
Next, scalar operations may be executed on an output of the vector operations, thereby rendering vertex data in the form of scalars. The inverse logic unit or any other type of scalar operation module may execute the scalar operations. Such scalar vertex data may then be converted to vector vertex data for performing vector operations thereon. The register for performing vector operations thereon also stores an output of the vector operations. As an option, the register may be equipped with a masking function to generate vector vertex data based on the output of the vector operations.
In yet another aspect of the present invention, a technique may be employed for providing a hardware implementation of a blending, or “skinning,” operation during graphics processing in a graphics pipeline. During processing in the pipeline, a plurality of matrices and a plurality of weight values each corresponding with one of the matrices are received. Also received is vertex data to be processed.
A sum of a plurality of products may then be calculated by the multiplication of the vertex data, one of the matrices, and the weight corresponding to the matrix. Such sum of products is then outputted for additional processing.
In one embodiment, the matrices may include model view matrices, and the additional processing may include a lighting operation. In this embodiment, a composite matrix for display purposes may also multiply the sum of products. Still yet, the matrices may include inverse matrices and the vertex data may include a normal vector. In such case, the additional processing may also include a lighting operation.
These and other advantages of the present invention will become apparent upon reading the following detailed description and studying the various figures of the drawings.


REFERENCES:
patent: 5025407 (1991-06-01), Gulley et al.
patent: 5222202 (1993-06-01), Koyamada
patent: 5694143 (1997-12-01), Fielder et al.
patent: 5724561 (1998-03-01), Tarolli et al.
patent: 5801711 (1998-09-01), Koss et al.
patent: 5838337 (1998-11-01), Kimura et al.
patent: 5977977 (1999-11-01), Vainsencher
patent: 6000027 (1999-12-01), Pawate et al.
patent: 6057855 (2000-05-01), Barkans
patent: 6137497 (2000-10-01), Strunk et al.
patent: 6144365 (2000-11-01), Young et al.
patent: 0690430 (1996-03-01), None
patent: 0690430 (1996-03-01), None
patent: 98/28695 (1998-07-01), None
patent: 99/52040 (1999-10-01), None
Marc Olano and Trey Greer; “Triangle Sca

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

System, method and computer program product for a blending... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with System, method and computer program product for a blending..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System, method and computer program product for a blending... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2831689

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