Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
First Claim
1. A graphics processing system having geometry and lighting processing hardware and an enhanced API vertex attribute description command function for specifying at least Tangent and Binormal object-space surface vectors, wherein the geometry and lighting processing hardware transforms the object-space Tangent and Binormal vectors to eye-space, computes an eye-space light direction vector based a light position and a vertex position, and performs vector dot-product computations between the computed light direction vector and the transformed Tangent and Binormal surface vectors to generate texture coordinate displacements for use in creating an embossed texture effect, and wherein the Tangent and Binormal vectors are scaled by scaling a model view matrix and applying the scaled model view matrix to the Tangent and Binormal vectors.
0 Assignments
0 Petitions
Accused Products
Abstract
A graphics system including a custom graphics and audio processor produces exciting 2D and 3D graphics and surround sound. The system includes a graphics and audio processor including a 3D graphics pipeline and an audio digital signal processor. Emboss style effects are created using fully pipelined hardware including two distinct dot-product computation units that perform a scaled model view matrix multiply without requiring the Normal input vector and which also compute dot-products between the Binormal and Tangent vectors and a light direction vector in parallel. The resulting texture coordinate displacements are provided to texture mapping hardware that performs a texture mapping operation providing texture combining in one pass. The disclosed pipelined arrangement efficiently provides interesting embossed style image effects such as raised and lowered patterns on surfaces.
-
Citations
12 Claims
-
1. A graphics processing system having geometry and lighting processing hardware and an enhanced API vertex attribute description command function for specifying at least Tangent and Binormal object-space surface vectors, wherein the geometry and lighting processing hardware transforms the object-space Tangent and Binormal vectors to eye-space, computes an eye-space light direction vector based a light position and a vertex position, and performs vector dot-product computations between the computed light direction vector and the transformed Tangent and Binormal surface vectors to generate texture coordinate displacements for use in creating an embossed texture effect, and wherein the Tangent and Binormal vectors are scaled by scaling a model view matrix and applying the scaled model view matrix to the Tangent and Binormal vectors.
-
2. In a graphics processing system that renders and displays images at least in part in response to polygon vertex attribute data and texture color data stored in an associated memory, the graphics system including a geometry transform unit comprising hardware for at least computing a coordinate-space transformation and a vector dot-product, a method of implementing embossed-style bump-mapped texture effects in graphics rendering system, comprising the steps of:
-
storing a texture data image in memory, the texture data image comprising color values parameterized by at least two coordinate values representing two orthogonal axes for mapping the image; supplying light position information, texture coordinate information, vertex position information and object-space Normal, Binormal and Tangent vector data per polygon vertex to the geometry transform unit, wherein for each vertex said Binormal and Tangent vector data map respectively, in an object-space coordinate system, to each orthogonal axis of the bump-map image; transforming the object-space Normal, Binormal and Tangent vector data to an eye-space coordinate system; computing a light direction vector from light position and vertex position information; computing a texture coordinate displacement based on a vector dot-product between the light direction vector and each of the Binormal and Tangent eye-space vector components; adding the texture coordinate displacement to eye-space texture coordinates to obtain a set of displaced texture coordinates; using the set of displaced texture coordinates to retrieve texture color data from the stored texture data image; and performing texture subtraction in one pass.
-
-
3. A method of performing embossed-style bump mapping comprising:
-
providing a description of Tangent and Binormal vectors for each of plural vertices of a polygon; providing a light direction vector; computing texture coordinate displacements for each of said vertices in response to said light director vector and said Tangent and Binormal vector; generating texture coordinates in response to said computed texture coordinated displacements; and texture mapping said polygon based on said texture coordinates, including providing a texture combining operation that performs texture subtraction in a single pass. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. In a graphics chip including a logic array, a pipelined arrangement implemented within the logic array that performs embossed-style bump mapping based on Tangent and Binormal vectors for each of plural vertices of a polygon and a light direction vector, said arrangement including:
-
a dot-product computation unit and associated logic circuitry adapted to receive a scaling factor, the dot-product computation unit and associated logic circuitry scaling a model view matrix in response to the scaling factor and applying the scaled model view matrix to the Tangent and Binormal vectors to provide texture coordinate displacements for each of said vertices; and texture mapping and combining circuitry that generates embossing effects in response to said texture coordinate displacements. - View Dependent Claims (10, 11, 12)
-
Specification