A system and method for multiple texture rendering on a primitive using a
fine grain multi-pass at a pixel level. The present invention has hardware
capable of processing one texture and either hardware, software, and/or
firmware capability to hold state information associated with several
textures. The hardware rapidly switches between processing different
textures and allows a very fine grain multi-pass implementation of
multiple texture rendering. In one embodiment, a computer graphics raster
subsystem renders multiple textures on a primitive. A fine grain scan
converter takes in a primitive description with multiple sets of texture
coordinates defined for each vertex. Each set of texture coordinates
defines an independent texture. Each texture is associated with a texture
number. The fine grain scan converter produces a set of texture
coordinates at a given pixel for each of the multiple textures before
moving on to the next pixel. A texture address generator and texture
filter use the texture numbers and the texture coordinates associated with
the texture numbers to produce a filtered texture value for each of the
multiple textures. A recirculating texture blender combines color and
these filtered texture values to produce a final textured color value. The
fine-grain multi-pass technique for rendering multiple textures on a
primitive is faster than a coarse grain multi-pass technique because the
geometry does not need to be sent multiple times from a geometry engine to
a raster subsystem. In addition, the fine-grain multi-pass technique is
cheaper and more efficient than a parallel approach because it does not
require permanent multiple texture units in a hardware connected together
by texture blending units.
Ein System und eine Methode für die mehrfache Beschaffenheit, die auf einem Primitiven mit einem feinen Kornmehrdurchlauf an einem Pixelniveau überträgt. Die anwesende Erfindung hat die Kleinteile, die zur Verarbeitung von von einer Beschaffenheit und entweder Kleinteile, Software fähig sind, und/oder Mikroprogrammaufstellungfähigkeit, um Zustandinformationen zu halten verbunden mit einigen Beschaffenheiten. Die Kleinteile schalten schnell zwischen verarbeitende unterschiedliche Beschaffenheiten und erlauben einem sehr feinen Korn Multidurchgangsimplementierung der mehrfachen Beschaffenheit Übertragung. In einer Verkörperung überträgt ein Computergraphik-Rasteruntersystem mehrfache Beschaffenheiten auf einem Primitiven. Nehmen eines feines Kornscan-Konverters in einer ursprünglichen Beschreibung mit mehrfachen Sätzen Beschaffenheit Koordinaten definiert für jeden Gipfel. Jeder Satz Beschaffenheit Koordinaten definiert eine unabhängige Beschaffenheit. Jede BeschaffenheitIST mit einer Beschaffenheit Zahl verbunden. Der feine Kornscan-Konverter produziert einen Satz Beschaffenheit Koordinaten an einem gegebenen Pixel für jede der mehrfachen Beschaffenheiten, bevor er an auf das folgende Pixel bewegt. Ein Beschaffenheit Adreßgenerator und ein Beschaffenheit Filter verwenden die Beschaffenheit Zahlen und die Beschaffenheit Koordinaten, die mit den Beschaffenheit Zahlen verbunden sind, um einen gefilterten Beschaffenheit Wert für jede der mehrfachen Beschaffenheiten zu produzieren. Eine rezirkulierende Beschaffenheit Mischmaschine kombiniert Farbe und diese gefilterten Beschaffenheit Werte, um einen abschließenden Texturfarbe Wert zu produzieren. Die Feinmultidurchgangstechnik für die Übertragung der mehrfachen Beschaffenheiten auf einem Primitiven ist schneller als eine Grobkornmultidurchgangstechnik, weil die Geometrie nicht braucht, mehrfache Zeiten von einer Geometriemaschine zu einem Rasteruntersystem geschickt zu werden. Zusätzlich ist die Feinmultidurchgangstechnik preiswerter und leistungsfähiger als eine parallele Annäherung, weil sie nicht dauerhafte mehrfache Beschaffenheit Maßeinheiten in Kleinteilen zusammen sind angeschlossen durch Beschaffenheit mischende Maßeinheiten erfordert.