Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
First Claim
1. In a graphics system having a memory containing texture data, a method of indirect texture referencing comprising the steps of:
- (a) using indirect texture coordinates to generate a data triplet;
(b) deriving texture coordinates based at least in part on the generated triplet; and
(c) using at least the derived texture coordinates to map predetermined texture data onto a primitive.
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. The graphics pipeline renders and prepares images for display at least in part in response to polygon vertex attribute data and texel color data stored as a texture images in an associated memory. An efficient texturing pipeline arrangement achieves a relatively low chip-footprint by utilizing a single texture coordinate/data processing unit that interleaves the processing of logical direct and indirect texture coordinate data and a texture lookup data feedback path for “recirculating” indirect texture lookup data retrieved from a single texture retrieval unit back to the texture coordinate/data processing unit. Versatile indirect texture referencing is achieved by using the same texture coordinate/data processing unit to transform the recirculated texture lookup data into offsets that may be added to the texture coordinates of a direct texture lookup. A generalized indirect texture API function is provided that supports defining at least four indirect texture referencing operations and allows for selectively associating one of at least eight different texture images with each indirect texture defined. Retrieved indirect texture lookup data is processed as multi-bit binary data triplets of three, four, five, or eight bits. The data triplets are multiplied by a 3×2 texture coordinate offset matrix before being optionally combined with regular non-indirect coordinate data or coordinate data from a previous cycle/stage of processing. Values of the offset matrix elements are variable and may be dynamically defined for each cycle/stage using selected constants. Two additional variable matrix configurations are also defined containing element values obtained from current direct texture coordinates. Circuitry for optionally biasing and scaling retrieved texture data is also provided.
515 Citations
46 Claims
-
1. In a graphics system having a memory containing texture data, a method of indirect texture referencing comprising the steps of:
-
(a) using indirect texture coordinates to generate a data triplet; (b) deriving texture coordinates based at least in part on the generated triplet; and (c) using at least the derived texture coordinates to map predetermined texture data onto a primitive. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. In a 3D videographics system having a memory containing texture data stored in a texture memory, the texture data accessed via either a set of direct texture coordinates or a set of indirect texture coordinates, a method of indirect texture referencing for mapping a predetermined texture onto a polygon comprising the steps of:
-
(a) using a set of indirect texture-coordinates to retrieve a data triplet stored in texture memory; (b) deriving a set of modified texture coordinates based at least in part on the retrieved data triplet; and (c) using the set of modified texture coordinates to reference texture data stored in texture memory corresponding to the predetermined texture. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. In a graphics system having a memory containing texture data, a method of indirect texture referencing comprising the steps of:
-
(a) using a set of indirect texture-coordinates to retrieve offset data from the memory; (b) multiplying the offset data by predetermined values forming elements of a texture offset matrix to produce a set of texture offset coordinates; and (c) using said set of offset texture coordinates for referencing texture data stored in the memory when mapping a predetermined texture to a rendered polygon. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
-
- 39. In a graphics system including a graphics engine that renders and displays images at least in part in response to polygon vertex data and texture data stored in an associated memory, a texture processing subsystem for selectively mapping texture data corresponding to one or more different textures and/or texture characteristics to surfaces of said rendered and displayed images, said texture processing subsystem including a texture coordinate offset matrix arrangement producing a set of offset texture coordinates by multiplying indirect texture data by elements of a matrix, wherein one or more elements of the matrix are a mathematical function of one or more predetermined direct texture coordinates.
- 43. In a graphics system including a graphics engine that renders and displays images at least in part in response to vertex data and texture data stored in an associated memory, a texture processing subsystem for selectively mapping texture data corresponding to one or more different textures and/or texture characteristics to surfaces of said rendered and displayed images, said texture processing subsystem including a texture coordinate offset matrix arrangement for producing a set of offset texture coordinates by multiplying indirect texture data by elements of a matrix, wherein one or more elements of the matrix can be selectively loaded.
Specification