DE19619288A1 - System und Verfahren zur Dreieck-Rasterung mit in zwei Dimensionen verschachtelten Rahmenpuffern - Google Patents
System und Verfahren zur Dreieck-Rasterung mit in zwei Dimensionen verschachtelten RahmenpuffernInfo
- Publication number
- DE19619288A1 DE19619288A1 DE19619288A DE19619288A DE19619288A1 DE 19619288 A1 DE19619288 A1 DE 19619288A1 DE 19619288 A DE19619288 A DE 19619288A DE 19619288 A DE19619288 A DE 19619288A DE 19619288 A1 DE19619288 A1 DE 19619288A1
- Authority
- DE
- Germany
- Prior art keywords
- span
- frame buffer
- data
- span line
- line
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
Die vorliegende Erfindung bezieht sich allgemein auf ein
Rasterungs-System und ein -Verfahren in einem Computergra
phiksystem und insbesondere auf Rahmenpuffer zur Rasterung,
die in zwei Dimensionen verschachtelt sind.
Computergraphiksysteme werden üblicherweise zum Anzeigen
graphischer Darstellungen von Objekten auf einem zweidimen
sionalen Anzeigebildschirm verwendet. Gegenwärtige Computer
graphiksysteme können hochdetaillierte Darstellungen liefern
und werden in einer Vielzahl von Anwendungen verwendet.
Bei typischen Computergraphiksystemen ist ein Objekt, das
auf dem Anzeigebildschirm dargestellt werden soll, in eine
Mehrzahl von Graphikgrundelementen aufgeteilt. Grundelemente
sind elementare Komponenten eines Graphikbildes und können
Punkte, Linien, Vektoren und Polygone, beispielsweise Drei
ecke, einschließen. Typischerweise ist ein Hardware/Soft
ware-Schema implementiert, um die Graphikgrundelemente, die
die Ansicht eines oder mehrerer Objekte, die auf dem Bild
schirm dargestellt werden, darstellen, aufzubereiten oder
auf dem zweidimensionalen Anzeigebildschirm zu zeichnen.
Typischerweise werden die Grundelemente, die das dreidimen
sionale Objekt, das aufbereitet werden soll, definieren, von
einem Hostcomputer geliefert, der jedes Grundelement in Form
von Grundelementdaten definiert. Wenn das Grundelement bei
spielsweise ein Dreieck ist, kann der Hostcomputer das
Grundelement in der Form der x-, y- und z-Koordinaten seiner
Scheitelpunkte, ebenso wie der Farbwerte R, G, B jedes
Scheitelpunkts definieren. Eine Rasterungshardware interpo
liert die Grundelementdaten, um die Anzeigebildschirmpixel,
die eingeschaltet werden, um jedes Grundelement darzustel
len, und die Werte R, G, B für jedes Pixel zu berechnen.
Fig. 1 zeigt die Komponenten einer typischen Rasterungshard
ware. Eine Rahmenpuffersteuerung 1 weist einen Kanten
schrittgeber 3, einen Spannenschrittgeber 5 und eine Spei
chersteuerung 7 auf. Der Kantenschrittgeber 3 bestimmt durch
Interpolation aus den Grundelementdaten die Pixel entlang
jeder Kante eines Grundelements und die entsprechenden Farb
werte. Die Pixel, die durch den Kantenschrittgeber 3 be
stimmt werden, definieren Punkte auf den Enden der Linien
von Pixeln in dem Grundelement. Eine Linie von Pixeln wird
als Spanne bezeichnet. Der Spannenschrittgeber 5 empfängt
die Pixeldaten von dem Kantenschrittgeber für jede Linie von
Pixeln und bestimmt die Farbwerte für jedes Pixel in der Li
nie von Pixeln. Die Pixel- und Farb-Werte werden der Spei
chersteuerung 7 geliefert, die die Informationen in einen
Video-Direktzugriffspeicher (VRAM) 9 schreibt. Eine Anzei
gesteuerung (nicht gezeigt) treibt die Anzeige basierend auf
dem Inhalt des VRAM.
Da der Berechnungsprozeß in dem Kantenschrittgeber 3 und dem
Spannenschrittgeber 5 kompliziert ist, kann der Prozeß lang
sam sein. Die parallele Verwendung von mehr als einer Rah
menpuffersteuerung kann die Verarbeitungsgeschwindigkeit er
höhen. Fig. 2 zeigt zwei parallele Rahmenpuffersteuerungen
1, 2. Jede Rahmenpuffersteuerung 1, 2 weist einen Kanten
schrittgeber 3, 4, einen Spannenschrittgeber 5, 6 und eine
Speichersteuerung 7, 8 auf. Die Speichersteuerung 7, 8 sind
mit separaten VRAMs 9, 10 verbunden. Die Anzeigesteuerung
kombiniert die Pixel, die in beiden VRAMs 9, 10 gespeichert
sind, um die endgültige Anzeige zu erzeugen. Wenn sie paral
lel betrieben werden, kann jede Rahmenpuffersteuerung die
Werte für spezifizierte Linien des Bildschirms (Spannen von
Pixeln) bestimmen. Der Kantenschrittgeber 3, 4 auf jeder
Rahmenpuffersteuerung 1, 2 läßt die nicht-spezifizierten Li
nien von Pixeln aus. Obwohl Fig. 2 zwei Rahmenpuffersteue
rungen zeigt, ist eine beliebige Anzahl möglich. Obwohl die
parallele Verwendung mehrerer Rahmenpuffersteuerungen die
Verarbeitungsgeschwindigkeit erhöhen kann, kann die Zuwei
sung von Spannenlinien zu jeder Rahmenpuffersteuerung inef
fizient sein. Abhängig von der Form und der Ausrichtung ei
nes Grundelements kann die Verarbeitungszeit für die Span
nenlinien in den Rahmenpuffersteuerungen stark variieren.
Beispielsweise kann für ein kurzes, breites Dreieck-Grund
element eine Rahmenpuffersteuerung Abtastlinien aufweisen,
die einen großen Abschnitt des Grundelements an der Basis
abdecken, während eine weitere Rahmenpuffersteuerung Abtast
linien aufweisen kann, die nur einen kleinen Abschnitt an
der Spitze abdecken. Da die Grundelemente gleichzeitig jeder
Rahmenpuffersteuerung geliefert werden, hängt die Verarbei
tungszeit für das gesamte System von der längsten Verarbei
tungszeit in jeder Rahmenpuffersteuerung ab.
Alternativ können Rahmenpuffersteuerungen zugewiesen sein,
um unterschiedliche Grundelemente zu verarbeiten. Da Grund
elemente in einer beliebigen Reihenfolge verarbeitet werden
können, werden jedoch große FIFO-Speicher benötigt, um die
Pixeldaten in die richtigen Positionen umzuordnen und um
überlappende Grundelemente in Ordnung zu bringen.
Die Aufgabe der vorliegenden Erfindung besteht darin, eine
Rahmenpuffersteuerung, ein Rahmenpuffersystem für ein Com
putergraphiksystem und ein Verfahren zum Betreiben einer
Rahmenpuffersteuerung zu schaffen, die verbesserte Verar
beitungszeiten beim Aufbereiten von Grundelementdaten zu
Anzeigebildschirmpixeln für ein Computergraphiksystem lie
fern.
Diese Aufgabe wird durch eine Rahmenpuffersteuerung gemäß
Anspruch 1, ein Rahmenpuffersystem gemäß Anspruch 7 sowie
ein Verfahren zum Betreiben einer Rahmenpuffersteuerung ge
mäß Anspruch 19 gelöst.
Die vorliegende Erfindung schafft mehrere Rahmenpuffersteue
rungen, die in zwei Dimensionen verschachtelt sind, um die
Verarbeitungszeiten zu verbessern. Gemäß einem Aspekt der
vorliegenden Erfindung ist jede der mehreren Rahmenpuffer
steuerungen einem Abschnitt jeder Spannenlinie in der Anzei
ge zugewiesen. Der Abschnitt der Spannenlinie, der einem
Rahmenpuffer zugewiesen ist, kann abhängig von der Spannen
linie variieren, um ferner den Wirkungsgrad der parallelen
Verarbeitung zu verbessern. Bei einem weiteren Aspekt der
Erfindung kann die Anzeige in Kacheln oder Blöcke geteilt
sein. Jede Kachel oder jeder Block ist ferner unterteilt, so
daß jeder Rahmenpuffer die Grundelementdaten verarbeitet, um
Pixel auf einem Abschnitt jeder Spannenlinie in jeder Kachel
zu liefern.
Gemäß einem weiteren Aspekt der Erfindung weist jede Rahmen
puffersteuerung zwei Speichersteuerungen auf. Gemäß diesem
Aspekt der Erfindung liefert die Rahmenpuffersteuerung ab
wechselnd Pixel oder Gruppen von Pixeln zu jeder Speicher
steuerung. Ferner ist jede Speichersteuerung mit einem se
paraten VRAM verbunden.
Gemäß einem weiteren Aspekt der vorliegenden Erfindung weist
der Rahmenpuffer einen Unterspannen-Schrittgeber zwischen
dem Kantenschrittgeber und dem Spannenschrittgeber auf. Der
Unterspannen-Schrittgeber bestimmt Anfangs- und End-Werte
für jeden der Abschnitte der Spanne, der dem Rahmenpuffer
zugewiesen ist. Der Unterspannen-Schrittgeber bestimmt fer
ner die Anfangsfarbwerte für jeden Abschnitt der Spanne.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die bei liegenden Zeich
nungen näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm einer herkömmlichen Rahmenpuffer
steuerung;
Fig. 2 ein Blockdiagramm einer herkömmlichen parallelen
Rahmenpuffersteuerung;
Fig. 3 ein Blockdiagramm eines Ausführungsbeispiels des
gesamten Computergraphiksystems der vorliegenden
Erfindung;
Fig. 4 ein Blockdiagramm eines weiteren Ausführungsbei
spiels des gesamten Computergraphiksystems der vor
liegenden Erfindung;
Fig. 5 eine graphische Darstellung der Rasterung eines
Grundelements;
Fig. 6 eine weitere graphische Darstellung der Rasterung
eines Grundelements;
Fig. 7 ein Diagramm, das verschachtelte Rahmenpuffersteue
rungen zeigt;
Fig. 8 eine weitere Darstellung verschachtelter Rahmenpuf
fersteuerungen;
Fig. 9 eine Darstellung verschachtelter Speichersteuerun
gen;
Fig. 10 ein Blockdiagramm eines Ausführungsbeispiels der
Rahmenpuffersteuerung gemäß der vorliegenden Erfin
dung;
Fig. 11 ein Blockflußdiagramm des Betriebs der Rahmenpuf
fersteuerung der vorliegenden Erfindung;
Fig. 12 ein Blockflußdiagramm des Betriebs des Unterspan
nen-Schrittgebers der vorliegenden Erfindung; und
Fig. 13 eine Darstellung der Unterspannen-Anfangs-, End-
und Sprung-Werte.
Fig. 3 ist ein Blockdiagramm eines Ausführungsbeispiels ei
nes Graphiksystems der vorliegenden Erfindung, das parallele
Rahmenpuffersteuerungen aufweist. Es sollte offensichtlich
sein, daß die veranschaulichende Implementierung, die ge
zeigt ist, bezüglich der Anzahl von Platinen und Chips, der
Art und Weise, auf die dieselben partitioniert sind, der
Busbreiten und der Datenübertragungsraten nur exemplarisch
ist. Zahlreiche andere Implementierungen können verwendet
werden. Wie gezeigt ist, weist das System eine Eingangspla
tine 11, eine Texturabbildungsplatine 12 und eine Rahmenpuf
ferplatine 14 auf. Die Eingangsplatine kommuniziert über ei
nen 52-Bit-Bus 16 mit einem Hostcomputer 15. Die Eingangs
platine empfängt Grundelemente, die aufbereitet werden sol
len, über den Bus 16 von dem Hostcomputer. Die Grundelemente
sind durch x-, y-, z-Scheitelpunkt-Koordinatendaten, Farbda
ten R, G, B und Textur-Koordinaten S, T spezifiziert, alle
für Abschnitte der Grundelemente, beispielsweise für die
Scheitelpunkte, wenn das Grundelement ein Dreieck ist.
Daten, die die Grundelemente in drei Dimensionen darstellen,
werden dann durch die Eingangsplatine 11 zu der Texturab
bildungsplatine 12 und der Rahmenpufferplatine 14 über einen
85-Bit-Bus 18 geliefert. Die Texturabbildungsplatine inter
poliert die empfangenen Grundelementdaten, um die Bild
schirmanzeigepixel, die das Grundelement darstellen werden,
zu berechnen, und bestimmt entsprechende resultierende Tex
turdaten für jedes Grundelementpixel. Die resultierenden
Texturdaten werden über fünf 11-Bit-Busse 28, die in Fig. 3
als ein einzelner Bus gezeigt sind, um die Figur klarer zu
machen, zu der Rahmenpufferplatine geliefert. Obwohl bei dem
Ausführungsbeispiel von Fig. 3 eine Texturabbildung darge
stellt ist, ist dieselbe für die vorliegende Erfindung nicht
erforderlich.
Die Rahmenpufferplatine 14 interpoliert die Grundelementda
ten, die von der Eingangsplatine empfangen werden, eben
falls, um die Pixel auf dem Anzeigebildschirm, die jedes
Grundelement darstellen werden, zu berechnen, und um Objekt
farbwerte für jedes Pixel zu bestimmen. Die Rahmenpufferpla
tine kombiniert dann auf einer Basis Pixel-um-Pixel die Ob
jektfarbwerte mit den resultierenden Texturdaten, die von
der Texturabbildungsplatine geliefert werden, um resultie
rende Werte R, G, B des Bildes für jedes Pixel zu erzeugen.
R-, G-, B-Farbsteuersignale für jedes Pixel werden jeweils
über R-, G-, B-Leitungen 29 geliefert, um die Pixel auf dem
Anzeigebildschirm (nicht gezeigt) zu steuern, um ein resul
tierendes Bild auf dem Anzeigebildschirm darzustellen, das
die Grundelemente, auf die eine Textur abgebildet ist, dar
stellt.
Die Eingangsplatine 11, die Texturabbildungsplatine 12 und
die Rahmenpufferplatine 14 werden jeweils Pipeline-artig
betrieben und arbeiten auf mehreren Grundelementen gleich
zeitig. Obwohl die Texturabbildungs- und die Rahmenpuffer-
Platine gleichzeitig auf Grundelementen arbeiten, die durch
die Eingangsplatine geliefert werden, fährt die Eingangs
platine fort, neue Grundelemente zu bearbeiten und dieselben
zu liefern, bis die Pipelines 12 und 14 voll werden.
Die Eingangsplatine 11 weist einen Verteilerchip 30, drei
Dreidimensional-(3D)Geometriebeschleunigerchips 32A, 32B und
32C, einen Zweidimensional-(2D-)Geometriebeschleunigerchip
34 und einen Konzentratorchip 36 auf. Der Verteilerchip 30
empfängt die x-, y-, z-Koordinaten- und die Farb-Grundele
mentdaten über den Bus 16 von dem Hostcomputer und verteilt
die 3-D-Grundelementdaten gleichmäßig unter den 3-D-Geome
triebeschleunigerchips 32A, 32B und 32C. Auf diese Weise ist
die Systembandbreite erhöht, da gleichzeitig auf drei Grup
pen von Grundelementen gearbeitet wird. Daten werden über
einen 40-Bit-Bus 38A zu den 3-D-Geometriebeschleunigerchips
32A und 32B und über einen 40-Bit-Bus 38B zu einem Chip 32C
geliefert. Beide Busse 38A und 38B übertragen Daten mit ei
ner Rate von 60 Megahertz und liefern eine ausreichende
Bandbreite, um zwei 3-D-Geometriebeschleunigerchips zu un
terstützen. 2-D-Grundelementdaten werden über einen 44-Bit-
Bus 40 mit einer Rate von 40 Megahertz zu den 2-D-Geometrie
beschleunigerchips 34 geliefert.
Jeder 3-D-Geometriebeschleunigerchip transformiert die x-,
y- und z-Koordinaten, die die empfangenen Grundelemente de
finieren, in entsprechende Bildschirmraumkoordinaten, be
stimmt R-, G-, B-Werte des Objekts und S-, T-Werte der Tex
tur für die Bildschirmraumkoordinaten, zerlegt Grundelement
vierecke in Dreiecke und berechnet eine Dreieckebenenglei
chung, um jedes Dreieck zu definieren. Jeder 3-D-Geometrie
beschleunigerchip führt ferner Sichtschnittoperationen
durch, um eine genaue Bildschirmanzeige des resultierenden
Bilds sicherzustellen, wenn mehrere Fenster in dem Bild
schirm angezeigt werden, oder wenn ein Abschnitt eines
Grundelements sich über das Sichtvolumen, das auf dem Anzei
gebildschirm dargestellt ist, hinaus erstreckt. Ausgangsda
ten von den 3-D-Geometriebeschleunigerchips 32A, 32B bzw.
32C werden über 44-Bit-Busse 42A, 42B und 42C mit einer Rate
von 60 Megahertz zu dem Konzentratorchip 36 geliefert. Der
Zweidimensional-Geometrie-Beschleunigerchip 34 liefert fer
ner Ausgangsdaten über einen 46-Bit-Bus 44 mit einer Rate
von 45 Megahertz zu dem Konzentratorchip 36. Der Konzentra
torchip 36 kombiniert die 3-D-Grundelementausgangsdaten, die
von den 3-D-Geometriebeschleunigerchips 32A bis C empfangen
werden, sortiert die Grundelemente in die ursprüngliche Rei
henfolge um, die dieselben vor der Verteilung durch den Ver
teilerchip 30 aufwiesen, und liefert die kombinierten Grund
elementausgangsdaten über den Bus 18 zu der Texturabbil
dungs- und der Rahmenpuffer-Platine.
Die Texturabbildungsplatine 12 weit einen Texturabbildungs
chip 46 und einen Lokalspeicher 48 auf, der vorzugsweise als
ein Cache-Speicher angeordnet ist. Bei einem bevorzugten
Ausführungsbeispiel der Erfindung ist der Lokalspeicher aus
einer Mehrzahl von SDRAM-Chips (SDRAM = synchronous dynamic
random access memory = synchroner dynamischer Direktzu
griffsspeicher) gebildet. Der Lokalspeicher 48 speichert
Textur-MIP-Tabellendaten, die den Grundelementen zugeordnet
sind, die in der Rahmenpufferplatine aufbereitet werden. Die
Textur-MIP-Tabellendaten werden aus einem Hauptspeicher 17
des Hostcomputers 15 über einen Bus 40 durch den 2-D-Geome
triebeschleunigerchip 34 und über einen 24-Bit-Bus 24 herun
tergeladen.
Der Texturabbildungschip 46 empfängt nacheinander Grundele
mentdaten über den Bus 18, welche die Grundelemente darstel
len, die auf dem Anzeigebildschirm aufbereitet werden sol
len. Wie oben erläutert wurde, weisen die Grundelemente, die
von den 3-D-Geometriebeschleunigerchips 32A bis C geliefert
werden, Punkte, Linien und Dreiecke auf. Die Texturabbil
dungsplatine führt keine Texturabbildung von Punkten oder
Linien durch und arbeitet nur auf Dreieck-Grundelementen.
Die Daten, die die Dreieck-Grundelemente darstellen, weisen
die Objektpixelkoordinaten x, y, z für zumindest einen
Scheitelpunkt, die Objektfarbwerte R, G, B für den zumindest
einen Scheitelpunkt, die Koordinaten S, T, der Abschnitte
der Texturtabelle, die dem zumindest einen Scheitelpunkt
entsprechen, und die Ebenengleichung des Dreiecks auf. Der
Texturabbildungschip 46 ignoriert die Objektpixelkoordinate
z und die Objektfarbwerte R, G, B. Der Chip 46 interpoliert
die Pixelkoordinaten x, y und interpoliert die Koordinaten s
und T, die jedem x-, y-Bildschirmanzeigepixel entsprechen,
das das Grundelement darstellt. Für jedes Pixel greift der
Texturabbildungschip aus dem Cache-Speicher auf den Ab
schnitt der Textur-MIP-Tabelle zu, der demselben entspricht,
und berechnet resultierende Texturdaten für das Pixel, die
einen gewichteten Durchschnitt mehrerer Texel enthalten kön
nen.
Die resultierenden Texturdaten für jedes Pixel werden über
fünf Busse 28 durch den Texturabbildungschip 46 zu der Rah
menpufferplatine geliefert. Die fünf Busse 28 sind jeweils
mit fünf Rahmenpuffersteuerungs-Chips 50A, 50B, 50C, 50D und
50E gekoppelt, die auf der Rahmenpufferplatine vorgesehen
sind, und liefern resultierende Texturdaten parallel zu den
Rahmenpuffersteuerungs-Chips. Die Rahmenpuffersteuerungs-
Chips 50A bis E sind jeweils mit Gruppen von zugeordneten
VRAM-Chips (VRAM = video random access memory = Videodirekt
zugriffsspeicher) 51A-E gekoppelt. Die Rahmenpufferplatine
weist ferner vier Videoformatierchips 52A, 52B, 52C und 52D
und einen RAMDAW 54 (RAMDAW = Direktzugriffsspeicher-Digi
tal/Analog-Wandler) auf. Die Rahmenpuffersteuerungs-Chips
steuern unterschiedliche, nicht-überlappende Segmente des
Anzeigebildschirms. Jeder Rahmenpuffersteuerungs-Chip emp
fängt Grundelementdaten von der Eingangsplatine über den Bus
18 und resultierende Texturabbildungsdaten von der Texturab
bildungsplatine über dem Bus 28. Die Rahmenpuffersteue
rungs-Chips interpolieren die Grundelementdaten, um die
Bildschirmanzeige-Pixelkoordinaten in ihren jeweiligen Seg
menten, die das Grundelement darstellen, und die entspre
chenden Objektfarbwerte R, G, B für jede Pixelkoordinate zu
berechnen. Für diejenigen Grundelemente (d. h. Dreiecke), für
die resultierende Texturdaten von der Texturabbildungsplati
ne geliefert werden, kombinieren die Rahmenpuffersteue
rungs-Chips auf einer Basis Pixel-um-Pixel die Objektfarb
werte und die resultierenden Texturdaten, um endgültige Wer
te R, G, B für jedes Pixel, das auf dem Anzeigebildschirm
angezeigt werden soll, zu erzeugen.
Die Art und Weise, auf die die Objekt- und Textur-Farbwerte
kombiniert werden, kann auf eine Anzahl von unterschiedli
chen Arten gesteuert werden. Beispielsweise können in einem
Ersetzungsmodus die Objektfarbwerte einfach durch die Tex
turfarbwerte ersetzt werden, so daß die Texturfarbwerte beim
Aufbereiten des Pixels verwendet werden. Alternativ können
in einem Modulationsmodus die Objekt- und Textur-Farbwerte
miteinander multipliziert werden, um die endgültigen Werte
R, G, B für das Pixel zu erzeugen. Außerdem kann ein Farb
steuerwort für jedes Texel gespeichert werden, das ein Ver
hältnis spezifiziert, das die Art und Weise definiert, auf
die die entsprechenden Texturfarbwerte mit den Objektfarb
werten kombiniert werden sollen. Ein resultierendes Farb
steuerwort kann für die resultierenden Texeldaten, die jedem
Pixel entsprechen, bestimmt werden und über den Bus 28 zu
den Rahmenpuffersteuerungs-Chips geliefert werden, so daß
die Steuerungschips das Verhältnis, das durch das entspre
chende resultierende Steuerwort spezifiziert ist, verwenden
können, um die endgültigen Werte R, G, B für jedes Pixel zu
bestimmen.
Die resultierenden Bildvideodaten, die durch die Rahmenpuf
fersteuerungs-Chips 50A bis E, einschließlich der Werte R,
G, B für jedes Pixel, erzeugt werden, werden in den entspre
chenden VRAM-Chips 51A-E gespeichert. Jede Gruppe von VRAM-
Chips 51A-E weist acht VRAM-Chips auf, derart, daß 40 VRAM-
Chips auf der Rahmenpufferplatine angeordnet sind. Jeder der
Videoformatierchips 52A-D ist mit einem unterschiedlichen
Satz von zehn VRAM-Chips verbunden und empfängt Daten von
demselben. Die Videodaten werden seriell aus den VRAM-Chips
geschoben und jeweils über 64-Bit-Busse 58A, 58B, 58C und
58D mit einer Rate von 27 Megahertz zu den vier Videoforma
tierchips 52A, 52B, 52C und 52D geliefert. Die Videoforma
tierchips formatieren die Videodaten, so daß dieselben durch
den RAMDAW gehandhabt werden können, und liefern die forma
tierten Daten über 32-Bit-Busse 60A, 60B, 60C und 60D mit
einer Rate von 33 Megahertz zu dem RAMDAW 54. Der RMMDAW 54
wiederum wandelt die digitalen Farbdaten in analoge R-, G-,
B-Farbsteuersignale um und liefert die R-, G-, B-Steuersig
nale für jedes Pixel zu einer Bildschirmanzeige (nicht ge
zeigt) entlang von R-, G-, B-Steuerleitungen 29.
Bei einem Ausführungsbeispiel der Erfindung ist die Hardware
auf der Texturabbildungsplatine 12 und der Rahmenpufferpla
tine 14 dupliziert, so daß bestimmte Grundelementaufberei
tungsaufgaben parallel auf mehreren Grundelementen durchge
führt werden können, wodurch die Bandbreite des Systems er
höht wird. Ein Beispiel eines solchen alternativen Ausfüh
rungsbeispiels der vorliegenden Erfindung ist in Fig. 4 ge
zeigt, welche ein Blockdiagramm eines Computergraphiksystems
der vorliegenden Erfindung ist, wobei ein bestimmter Teil
der Hardware dupliziert ist. Das System von Fig. 4 weist
vier 3-D-Geometriebeschleunigerchips 32A, 32B, 32C und 32D,
zwei Texturabbildungschips 46A und 46B, die jeweils Cache-
Speichern 48A und 48B zugeordnet sind, und zehn Rahmenpuf
ferchips 50A-50J auf, von denen jeder eine zugeordnete Grup
pe von VRAM-Chips aufweist. Der Betrieb des Systems von Fig.
4 ist ähnlich dem des Systems von Fig. 3, der oben beschrie
ben wurde. Die Duplizierung der Hardware bei dem Ausfüh
rungsbeispiel von Fig. 4 ermöglicht eine erhöhte Systemband
breite, da bestimmte Grundelementaufbereitungsoperationen
parallel auf mehreren Grundelementen durchgeführt werden
können.
Fig. 5 zeigt den Rasterungsprozeß für ein Grundelement, der
in den Rahmenpuffern durchgeführt wird. Grundelemente können
Punkte, Linien oder Dreiecke einschließen. Gemäß dem Gesamt
system der vorliegenden Erfindung sind die elementaren
Grundelemente Dreiecke. Die Grundelementinformationen werden
durch drei Scheitelpunkte 101, 102, 103 geliefert. Die In
formationen über jeden Scheitelpunkt weisen Koordinatenwerte
x, y, z und Farbwerte R, G, B auf. Die Scheitelpunktinforma
tionen für die drei Scheitelpunkte werden verwendet, um eine
Ebenengleichung für das Grundelement zu bestimmen. Ein Farb
gradient und ein z-Gradient werden aus der Ebenengleichung
bestimmt und beim Bestimmen der Pixeldaten verwendet. Bei
dem Rasterungsprozeß werden die Kanten 110, 120, 130 (e₁,
e₂, e₃) des Dreiecks bestimmt, wobei ferner die Kante mit
dem längsten y-Wert 110 bestimmt wird. Bei dem Rasterungs
prozeß werden die Pixel entlang jeder Kante bestimmt. Ver
schiedene Verfahren können verwendet werden, um die Pixel
entlang jeder Kante zu bestimmen. Bei einem Verfahren werden
die Pixel durch das Interpolieren zwischen den Scheitelpunk
ten 101, 103 entlang der Kante 110 für jede Pixelreihe oder
Spannenlinie interpoliert, um die Pixel zu bestimmen, die am
nächsten an der Kante 110 sind. Gemäß einem weiteren Ausfüh
rungsbeispiel werden Pixel ausgewählt, um stets innerhalb
des Grundelements zu sein. Dies kann erreicht werden, indem
x- und y-Werte interpoliert werden, um eine mathematische
Position für jede Kante an jeder Spannenlinie zu bestimmen.
Pixel werden dann ausgewählt, um größer als der Kantenwert
für linke Kanten und geringer als der Kantenwert für eine
rechte Kante zu sein. Spezifische Regeln werden benötigt, um
zu bestimmen, ob ein Pixel als innerhalb eines Grundelements
befindlich betrachtet werden kann, wenn dasselbe direkt auf
einer Kante liegt. Durch die Verwendung von Pixeln innerhalb
von Kanten werden keine Pixel überschrieben, wenn benachbar
te Grundelemente verarbeitet werden.
Eine oder mehrere Reihen von Pixel werden als eine Spannen
linie bezeichnet. Die Farbwerte R, G, B für die Kantenpixel
111, 112 werden ebenfalls durch Interpolation der Werte an
den Scheitelpunkten 101, 103 bestimmt. In gleicher Weise
werden Pixel 121, 122 entlang der gegenüberliegenden Kante
des Grundmusters entlang der gleichen Spannenlinien be
stimmt. Dann werden entlang jeder Spannenlinie die Farbwerte
für die Pixel basierend auf den Farbwerten für die Punkte
entlang jeder Kante bestimmt.
Fig. 6 ist eine detailliertere graphische Darstellung des
Rasterungsprozesses. Wie in Fig. 6 dargestellt ist, bilden
Pixel des Anzeigebildschirms ein Gitter von Punkten mit ent
sprechenden Farbwerten. Daher werden die Pixel innerhalb des
Grundelements auf jeder Spannenlinie des Gitters bestimmt.
Beispielsweise entsprechen die Pixel 102, 111-113 den er
sten vier Spannenlinien für die Kante 110. Das Pixel 102 ist
das dem Scheitelpunkt 101, der das Grundelement definiert,
nächstliegende Pixel.
Die Pixel 141-143 auf jeder Spannenlinie zwischen den Kan
ten werden basierend auf den Pixeln 112, 113, 122, 123 auf
jeder den Kanten nächstliegenden Spannenlinie bestimmt.
Gemäß der vorliegenden Erfindung weisen die Rahmenpuffer
steuerungen zum Rastern der Grundelemente mehrere in zwei
Dimensionen verschachtelte Rahmenpuffersteuerungen auf, die
Abschnitten des Pixelgitters zugewiesen sind. Wie in Fig. 7
dargestellt ist, ist der Anzeigebildschirm 200 in Kacheln
210-213 geteilt. Gemäß einem Ausführungsbeispiel der Er
findung ist jede Kachel acht Pixel × achtzig Pixel groß. Jede
Spannenlinie 220, 230, 240, 250 umfaßt einen Abschnitt jeder
Kachel über die Breite des Bildschirms. Das Ausführungsbei
spiel, das in Fig. 3 gezeigt ist, weist fünf Rahmenpuffer
steuerungen auf. Daher ist jede Abtastlinie in der Kachel in
fünf Abschnitte 221-225 unterteilt. Jeder Rahmenpuffer ist
für die Verarbeitung einem Abschnitt jeder Spannenlinie in
der Kachel zugewiesen. Da Grundelemente eine beliebige Posi
tion, Ausrichtung und Größe aufweisen können, können sie ei
nen beliebigen Abschnitt einer oder mehrerer Kacheln be
decken. Daher können den Rahmenpuffersteuerungen Blöcke zu
gewiesen werden, die durch jede Kachel hindurch verstreut
sind, um die Verarbeitungseffizienz zu verbessern. Die Menge
der Verarbeitungsdaten in der Steuerung ist über mehrere
Grundelemente abgeglichen. Tatsächlich wird ein einzelnes
Grundelement wahrscheinlich nicht alle Rahmenpuffersteuerun
gen verwenden. FIFO-Speicher in den Rahmenpuffersteuerungen
können für eine Pipeline-Verarbeitung verwendet werden, so
daß die Gesamtverarbeitung über die Rahmenpuffersteuerungen
näherungsweise konstant ist. Die Rahmenpuffersteuerungs-Zu
weisungen sind auf jede Kachel in dem Bildschirm anwendbar.
Fig. 7 zeigt Zuweisungen für die fünf Rahmenpuffersteuerun
gen des Ausführungsbeispiels, das in Fig. 3 gezeigt ist.
Fig. 8 offenbart Rahmenpuffersteuerungs-Kachelzuweisungen,
die dem zweiten Ausführungsbeispiel des Systems, wie es in
Fig. 4 gezeigt ist, entsprechen. Bei diesem Ausführungsbei
spiel sind zehn Rahmenpuffer für einen verbesserten Paral
lelismus und eine verbesserte Geschwindigkeit verwendet. Bei
diesem Ausführungsbeispiel ist jede Kachel 300 sechzehn Pi
xel × achtzig Pixel groß und bedeckt Abschnitte von acht Ab
tastlinien, von denen jede zwei Reihen von Pixeln aufweist.
Jede Kachel ist in fünf Spalten 321-325 unterteilt. Jeder
Rahmenpuffersteuerung ist ein Block in jeder zweiten Span
nenlinie der Kachel zugewiesen, so daß die Blöcke, die durch
jede Rahmenpuffersteuerung verarbeitet werden, durch die ge
samte Kachel verteilt sind. Durch das Zuweisen von Blöcken
in abwechselnden Reihen ist das Verhalten jedes Kanten
schrittgebers verbessert, da derselbe Linien auslassen kann,
in denen sich kein zugewiesener Block befindet. Ein Muster
zum Zuweisen der Rahmenpuffersteuerungen ist in Fig. 8 ge
zeigt.
Rahmenpuffer sind in zwei Dimensionen verschachtelt, um die
Bandbreite für eine Bildschirmauffrischung zu erhöhen. Indem
die Speichersteuerungen entlang einer Spannenlinie ver
schachtelt sind, ist die erforderliche Bandbreite, die pro
Speichersteuerung notwendig ist: (totale Bandbreite)/(Anzahl
der Speichersteuerungen). Ferner ist für große Polygone,
große gefüllte Flächen und Blockübertragungen das Verhalten
zum Schreiben von Pixeln entlang der Abtastlinie aufgrund
des Verschachtelns der Rahmenpuffersteuerungen, die auf
Spannenlinien verschachtelt sind, verbessert. Das Verhalten
beim Verarbeiten kleiner Dreiecke und Vektoren, hauptsäch
lich in der y-Richtung ist durch das Verschachteln der Rah
menpuffersteuerungen in der y-Richtung verbessert.
Fig. 10 ist ein Blockdiagramm einer Rahmenpuffersteuerung
gemäß der vorliegenden Erfindung. Die Rahmenpuffersteuerung
ist als ein Rahmenpuffersteuerungs-Chip 50A gebildet und
weist einen Kantenschrittgeber 500, einen Unterspannen-
Schrittgeber 510, einen Spannenschrittgeber 520 und zwei
Speichersteuerungen 530, 531 auf. Jede der Speichersteuerun
gen 530, 531 ist wiederum mit einem VRAM 540, 541 verbunden.
Die zwei VRAMs 540, 541, die mit der Rahmenpuffersteuerung
verbunden sind, bilden den VRAM 51A für den Rahmenpuffer
steuerungs-Chip, wie in Fig. 3 gezeigt ist. Wie oben erläu
tert wurde, kann jeder VRAM mehrere VRAM-Chips aufweisen.
Zwei Speichersteuerungen 530, 531 sind verwendet, um die
Verarbeitungsgeschwindigkeit zu erhöhen. Um die Verarbeitung
zu beschleunigen, werden die Daten, die den Speichersteue
rungen geliefert werden, durch die Rahmenpuffersteuerung
verschachtelt. Die Rahmenpuffersteuerung liefert abwechselnd
zwei benachbarte Pixel von Daten auf einer ersten und dann
einer zweiten Pixelleitung einer Spannenlinie zu jeder der
Speichersteuerungen. Wie in Fig. 9 dargestellt ist, ist je
der Datenblock von der Rahmenpuffersteuerung zwei Pixel ×
sechzehn Pixel groß. Daher werden bis zu acht 2×2-Unter
blöcke von Pixeln abwechselnd eine Linie und ein Pixel ein
zeln zu den Speichersteuerungen für jeden Datenblock gesen
det. Die Zuweisung von Pixeln zu einer Speichersteuerung in
2×2-Unterblöcken ist für z-Daten-Zugriffe vorteilhaft. Die
Speichersteuerungen weisen jeweils einen Cache für z-Daten
auf. z-Daten sind allgemein in 2×2-Blöcken organisiert. Ein
Block von z-Daten wird für eine spätere Verwendung in den
Cache gelesen, wobei aufeinanderfolgende Pixel der Speiche
rungssteuerung zugewiesen werden. Selbstverständlich können
andere Prozeduren, um Pixel jeder der Speichersteuerungen
zuzuweisen, verwendet werden.
Der Kantenschrittgeber 500, der Unterspannen-Schrittgeber
510 und der Spannenschrittgeber 520 wandeln die ankommenden
Grundelementdaten in die Ausgabepixeldaten um. Wie oben er
läutert wurde, weisen die Grundelementdaten Werte für drei
Scheitelpunkte eines Dreiecks und Farbwerte R, G, B für die
gleichen drei Scheitelpunkte auf. Der Kantenschrittgeber 500
arbeitet auf eine ähnliche Art und Weise wie ein Kanten
schrittgeber eines herkömmlichen Rahmenpuffers, wie in Fig.
1 gezeigt ist. Derselbe bestimmt durch Interpolation die Pi
xel auf jeder Pixellinie, die die Kanten des Grundelements
definieren. Für das Fünf-Rahmenpuffersteuerungs-System, das
in Fig. 3 dargestellt ist, verarbeitet jede Rahmenpuffer
steuerung Daten für jede Spannenlinie, während jeder ent
sprechende Kantenschrittgeber auf eine ähnliche Art und Wei
se wie ein Kantenschrittgeber in einer Rahmenpuffersteuerung
mit nicht-paralleler Verarbeitung (Fig. 1) arbeitet. Wenn 10
Rahmenpuffersteuerungen verwendet sind, wie bei dem Ausfüh
rungsbeispiel von Fig. 4, verarbeitet jede Rahmenpuffer
steuerung Daten auf alternierenden Spannenlinien, wie in
Fig. 8 dargestellt ist. In diesem Fall arbeiten die Kanten
schrittgeber 500 der Rahmenpuffersteuerungen ähnlich wie die
Kantenschrittgeber in herkömmlichen Rahmenpuffersteuerungen
mit paralleler Verarbeitung, wie in Fig. 2 dargestellt ist.
Jeder Kantenschrittgeber 500 liefert Pixeldaten für Punkte
entlang der Kante in alternierenden Spannenlinien von zwei
Pixeln.
Der Kantenschrittgeber 500 liefert die Kantenpixeldaten zu
dem Unterspannen-Schrittgeber 510. Die Kantenpixelinforma
tionen können den y-Wert der Spannenlinie, die x-Werte jeder
Kante, die Farbwerte R, G, B der ersten Kante und einen
Farbgradienten für die Spanne aufweisen. Der Unterspannen-
Schrittgeber 500 identifiziert Anfangs-, End- und Sprung-
Werte für einen Block, der der Rahmenpuffersteuerung in je
der Kachel entlang der Spannenlinie zugewiesen ist. Die An
fangs- und End-Werte zeigen die Pixel-Werte in dem Grundele
ment in den entsprechenden Blöcken an, die der Rahmenpuffer
steuerung zugewiesen sind. Fig. 13 zeigt die Beziehung zwi
schen den Anfangs- und End-Werten für Unterspannen. Wenn ein
Block der Spannenlinie, die der Rahmenpuffersteuerung zuge
wiesen ist, gesamt in dem Grundelement liegt (FB3), wären
die Anfangs- und End-Werte die Grenzen dieses Blockes. Wenn
eine Kante des Grundelements durch einen Block der Spannen
linie, die der Rahmenpuffersteuerung zugewiesen ist, läuft
(FB2, FB4), kann sich der Anfangs- oder End-Wert auch auf
die Position der Kante in diesem Block beziehen. Der
Sprung-Wert stellt den Abstand zwischen dem Anfang eines
Blocks und der Anfangskante dar und kann verwendet werden,
um die Farbe, die dem Pixel an der Anfangsposition des
Blocks entspricht, zu bestimmen.
Die Anfangs-, End- und Sprung-Werte werden einem Spannen
schrittgeber 520 geliefert, der die Pixeldaten erzeugt. Zwi
schen dem Unterspannen-Schrittgeber und dem Spannenschritt
geber kann ein FIFO-Speicher (nicht gezeigt) angeordnet
sein. Der FIFO-Speicher hat eine Pipeline-Verarbeitung von
Grundelementen zur Folge, was Verarbeitungszeiten für die
Rahmenpuffersteuerungen vergleichmäßigt. Basierend auf den
Anfangs-, End- und Sprung-Werten bestimmt der Spannen
schrittgeber 520 alle Pixel in allen Blöcken der Spannenli
nie, die der Rahmenpuffersteuerung zugeordnet ist. Der Span
nenschrittgeber 520 gibt die Pixeldaten Pixel für Pixel zu
den Speichersteuerungen 530, 531 aus.
Die Operation der Rahmenpuffersteuerung ist in dem Block
flußdiagramm von Fig. 11 dargestellt. In einem Schritt 602
werden die Grundelementdaten empfangen. Basierend auf den
Grundelementdaten werden in einem Schritt 604 die Kanten e₁,
e₂, e₃ bestimmt. Die Kanten werden bestimmt, so daß die er
ste Kante e₁ die Kante des Grundelements ist, die den größ
ten y-Bereich überspannt. In einem Schritt 606 werden Koor
dinaten- und Farb-Daten für die Schrittgebung entlang einer
Kante bestimmt. Diese Koordinaten- und Farb-Daten könnten
einen y-Wert des oberen Scheitelpunkts der Kante e₁ (101 in
Fig. 5), den y-Wert des untersten Scheitelpunkts auf der
Kante e₁ (103 in Fig. 5), den x-Wert des obersten Scheitel
punkts, die Steigung in x von e₁, den x-Wert und die Stei
gung für e₂ oder e₃, die Farbwerte R, G, B des obersten
Scheitelpunkts, den Farbgradienten entlang e₁ und einen
Spannen-Farbgradienten für jede Spannenlinie aufweisen. Um
sich schrittweise entlang e₁ zu bewegen, bestimmt der Kan
tenschrittgeber iterativ den x-Wert von e₁ (Schritt 612),
den x-Wert von e₂ oder e₃, abhängig von der Spannenlinie
(Schritt 616), den y-Wert der Spannenlinie (Schritt 602) und
die Spannen-Anfangsfarbe (Schritt 626). Der y-Wert definiert
die Spannenlinie, die x-Werte definieren die Anfangs- und
End-Werte des Grundelements in der Spannenlinie, und der
Farbwert definiert die Anfangsfarbe für diese Spannenlinie.
Ferner wird ein Spannen-Farbgradient 627 bestimmt. Der Span
nen-Farbgradient wird verwendet, um die Farbe an dem Anfang
jedes Blocks und die Farbe für jedes Pixel in einem Block zu
bestimmen. Bei jeder Iteration wird der y-Wert mit dem letz
ten y-Wert verglichen (Schritt 621) um zu bestimmen, ob die
Kantenschrittgebung beendet werden soll (Schritt 622).
Der Unterspannen-Schrittgeber empfängt die X-Werte für e₁,
e₂ und e₃ und erzeugt Anfangs-, End- und Sprung-Werte für
jeden Block der Spannenlinie, die dieser Rahmenpuffersteue
rung zugewiesen ist (Schritt 700). Der Sprungwert wird mit
dem Spannen-Farbgradienten multipliziert (Schritt 640) und
zu der Anfangsfarbe 633 addiert (im Schritt 642), um den An
fangsfarbwert für jeden Block der Spannenlinie zu liefern.
Der Anfangs-, der End- und der Anfangsfarb-Wert werden zu
einem Spannenschrittgeber geliefert, der dann die Pixeldaten
zwischen den Anfangs- und End-Werten unter Verwendung des
anfänglichen Farb- und Spannenfarb-Gradienten erzeugt, um
die Werte und Farben zu bestimmen.
Die Operation des Unterspannengenerators ist in dem Block
flußdiagramm von Fig. 12 dargestellt. Die x-Werte für e₁, e₂
und e₃ werden in einem Schritt 710 verglichen, um die Rich
tung der Schrittgebung in der Spanne zu bestimmen. Der Span
nenschrittgeber bewegt sich schrittweise stets von e₁ zu e₂
oder e₃. Wenn der x-Wert für e₁ größer als der x-Wert für
e₂, e₃ ist, werden die Unterspannen-Anfangs- und End-Werte
und die Schrittgebungsrichtung rückwärts eingestellt
(Schritt 715). Der x-Wert von e₁ wird der Spannenlinienan
fang 711, und der x-Wert von e₂, e₃ wird das Spannenlinien
ende 712 für das Grundelement in dieser Spannenlinie.
Der Spannenlinien-Anfangswert wird dann im Schritt 720 modu
liert, um eine Kachelnummer, einen Block und einen Versatz
für den Spannenlinienanfang zu bestimmen. Die Kachel ist die
Kachel in der Reihe der Spannenlinie, in der sich der Span
nenlinien-Anfangswert befindet. Der Block ist die Spalte
221-225 in der Kachel, in der sich der Spannenlinien-Anfangs
wert befindet. Der Versatzwert ist die Pixelposition in den
sechzehn Pixeln des Blocks, an der sich der Spannenlinien-
Anfangswert befindet. In der Praxis ist der Anfangswert ein
digitaler binärer Wert. Folglich können die niedrigsten vier
Bits des Anfangswerts als der Versatz verwendet werden. Die
übrigen Bits werden um vier Bits nach links geschoben, was
den Anfangswert durch sechzehn teilt (die Breite eines
Blocks). Danach wird eine MOD-Funktion mit einem Operanden
von 5 (der Anzahl der Blöcke in einer Kachel) auf die ver
schobenen Bits angewendet. Die MOD-Funktion liefert ein Er
gebnis und einen Rest. Das Ergebnis stellt die Kachelnummer
dar, während der Rest die Blocknummer darstellt.
Um den Unterspannen-Anfangswert für den ersten Block, der
der Rahmenpuffersteuerung zugewiesen ist, zu bestimmen, wird
der Block in einem Schritt 725 mit dem zugewiesenen Block
für die Rahmenpuffersteuerung in dieser Abtastlinie vergli
chen (gemäß der Einstellung entsprechend den Mustern in den
Fig. 7 und 8). Wenn der Block des Anfangswerts kleiner ist
als der zugewiesene Block, dann befindet sich der zugewiese
ne Block vollständig in dem Grundelement (FB3 in Fig. 13)
und wird zum nächsten Schritt ausgegeben. Wenn der Block
größer als der zugewiesene Block ist, dann befindet sich der
zugewiesene Block vollständig außerhalb des Grundelements
(FB1 in Fig. 13) und die Kachelnummer wird um 1 erhöht
(Schritt 726). Wenn der Block gleich dem zugewiesenen Block
ist, dann liegt die Kante in dem zugewiesenen Block (FB2 in
Fig. 13) und der Versatzwert wird zu dem nächsten Schritt
(Schritt 724) geleitet. In einem Schritt 750 wird der Anfang
der ersten Unterspanne basierend auf der eingestellten Ka
chelnummer, dem zugewiesenen Block und dem Versatz bestimmt.
Bei dem offenbarten Ausführungsbeispiel, das Kacheln von
achtzig Pixeln Breite und Rahmenpufferpositionen von sechzehn
Pixeln Breite aufweist, wäre der Anfangswert gleich folgen
der Gleichung:
Kachel × 80 + Block × 16 + Versatz (1)
Der Endwert für die Unterspanne wird durch Addieren von 15
(der Breite des Blocks) zu dem Anfangswert bestimmt. Wenn e₁
größer als e₂, e₃ ist (Schritt 715), wird der Endwert durch
Subtrahieren von 15 von dem Anfangswert bestimmt.
Der gleiche Prozeß wird verwendet, um den Endwert für die
letzte Unterspanne zu bestimmen (Schritte 730, 734, 735,
736, 751). Der Spannen-Endwert wird moduliert, um die Ka
chel, den Block und den Versatz für das Ende zu bestimmen.
Der Block wird dann mit dem zugewiesenen Block und der Ka
chel verglichen, und Versatzwerte werden geeignet einge
stellt.
Jede Unterspanne in der Spannenlinie kann bestimmt werden,
indem iterativ 80 (die Breite einer Kachel) zu den anfängli
chen Anfangs- (Schritt 760) und End- (Schritt 765) -Werten
addiert wird. Wenn e₁ größer als e₂, e₃ ist, wird 80 von dem
anfänglichen Anfangswert subtrahiert, um sich schrittweise
rückwärts zu bewegen. Wenn anfänglich ein Versatzwert ver
wendet wurde, da eine Kante durch den zugewiesenen Block
verläuft, würde der Versatzwert bei nachfolgenden Iteratio
nen zum Bestimmen von Unterspannen selbstverständlich igno
riert werden. Statt des Addierens (oder Subtrahierens) von
80 von dem Anfangswert und des Subtrahierens eines Versatz
wertes, wenn ein solcher vorliegt, können nachfolgende Un
terspannen-Anfangswerte durch das Erhöhen (oder Erniedrigen)
der Kachelnummer, das Einstellen des Versatzwertes auf Null
und das Neuberechnen des Anfangswertes gemäß der Gleichung
(1) bestimmt werden.
Der Endwert für die Unterspanne wird bei jeder Iteration mit
dem endgültigen Endwert verglichen, um die letzte Unterspan
ne in der Spannenlinie zu bestimmen. Der Sprungwert wird als
der Unterschied zwischen dem Anfangswert der Unterspanne und
dem anfänglichen x-Wert (Schritt 770) am Anfang der Spanne
für das Grundelement bestimmt.
Wie in den Fig. 2 und 3 dargestellt ist, sendet das Graphik
system der vorliegenden Erfindung Texturabbildungsinforma
tionen zu den Rahmenpuffern. Texeldaten, die Werte R, G, B
und Alpha für die Pixel aufweisen, werden von der Textur
abbildungsplatine 12 zu allen Rahmenpuffersteuerungen
50A-50E gesendet. Da Pro-Pixel-Texeldaten geliefert werden, müs
sen die Texeldaten nicht durch den Kantenschrittgeber 500,
den Unterspannen-Schrittgeber 510 oder den Spannenschrittge
ber 520 laufen und können mit den Pixeldaten kombiniert und
zu den Speichersteuerungen geliefert werden. Wie oben erläu
tert wurde, können verschiedene Verfahren verwendet werden,
um die Grundelement-Pixeldaten und die Texeldaten zu kombi
nieren.
Der Schaltungsaufbau, der hierin gezeigt und beschrieben
ist, ist nur zu beispielhaften Zwecken angegeben. Der Schal
tungsaufbau ist vorzugsweise in einer kundenspezifischen in
tegrierten Schaltung großer Stückzahl unter Verwendung einer
logischen Synthesesoftware, die kommerziell erhältlich ist,
beispielsweise von Synopsys, implementiert. Die logische
Synthesesoftware optimiert und übersetzt Schaltungsbeschrei
bungen, die in Hochpegelsprachen, beispielsweise Veralog,
geschrieben sind, in logische Gatter. Der Schaltungsaufbau
kann unter Verwendung eines CMOS-Prozesses, der 1-Mikrome
ter-FETs erzeugt, die bei 5 Volt arbeiten, eines CMOS-Pro
zesses, der Bauelemente mit einer gezogenen Gatelänge von
0,6 Mikrometer erzeugt, die bei 3,3 Volt arbeiten, oder ei
nes beliebigen anderen geeigneten Verfahrens zum Implemen
tieren digitaler Schaltungen implementiert sein. Da die Ein
gabe in die logische Synthesesoftware funktionell und nicht
strukturell ist, können sich die tatsächlichen Schaltungen,
die durch die logische Synthesesoftware erzeugt werden, von
den hierin offenbarten unterscheiden.
Claims (20)
1. Rahmenpuffersteuerung (50A) mit folgenden Merkmalen:
einem Kantenschrittgeber (500), der Grundelementdaten empfängt und eine Reihe von Spannenliniendaten erzeugt;
einem Unterspannen-Schrittgeber (510), der die Reihe von Spannenliniendaten empfängt und basierend auf allen Spannenliniendaten der Reihe eine Reihe von Unterspan nendaten erzeugt; und
einem Spannenschrittgeber (520), der jede Reihe von Un terspannendaten empfängt und entsprechend den Unterspan nendaten Pixeldaten erzeugt.
einem Kantenschrittgeber (500), der Grundelementdaten empfängt und eine Reihe von Spannenliniendaten erzeugt;
einem Unterspannen-Schrittgeber (510), der die Reihe von Spannenliniendaten empfängt und basierend auf allen Spannenliniendaten der Reihe eine Reihe von Unterspan nendaten erzeugt; und
einem Spannenschrittgeber (520), der jede Reihe von Un terspannendaten empfängt und entsprechend den Unterspan nendaten Pixeldaten erzeugt.
2. Rahmenpuffersteuerung (50A) gemäß Anspruch 1, bei der
die Unterspannendaten einen Anfangswert, einen Endwert
und einen Farbanfangswert für Abschnitte einer Spannen
linie aufweisen.
3. Rahmenpuffersteuerung (50A) gemäß Anspruch 2, bei der
die Abschnitte einer Spannenlinie, die durch die Unter
spannendaten definiert sind, basierend auf der Spannen
linie variieren.
4. Rahmenpuffersteuerung (50A) gemäß Anspruch 3, bei der
die Abschnitte der Spannenlinie für jede Spannenlinie
vorbestimmt sind.
5. Rahmenpuffersteuerung (50A) gemäß einem der Ansprüche 1
bis 4, die ferner folgende Merkmale aufweist:
zumindest einen Speicher (540, 541) zum Speichern von Pixeldaten; und
zumindest eine Speichersteuerung (530, 531), die die Pi xeldaten von dem Spannenschrittgeber (520) empfängt und die Pixeldaten in dem zumindest einen Speicher (540, 541) speichert.
zumindest einen Speicher (540, 541) zum Speichern von Pixeldaten; und
zumindest eine Speichersteuerung (530, 531), die die Pi xeldaten von dem Spannenschrittgeber (520) empfängt und die Pixeldaten in dem zumindest einen Speicher (540, 541) speichert.
6. Rahmenpuffersteuerung (50A) gemäß einem der Ansprüche 1
bis 5, bei der die Spannenliniendaten einen Spannenli
nien-Anfangswert, einen Spannenlinien-Endwert, einen
Spannenlinien-Farbwert und einen Spannenlinien-Farbgra
dientenwert aufweisen.
7. Rahmenpuffersystem (14) für ein Computergraphiksystem
mit folgenden Merkmalen:
einer Mehrzahl von Rahmenpuffersteuerungen (50A, 50B), die Grundelementdaten von dem Computergraphiksystem empfangen, wobei jede Rahmenpuffersteuerung folgende Merkmale aufweist:
einen Kantenschrittgeber (500) zum schrittweisen Be wegen entlang von Spannenlinien einer Kante des Grund elements und zum Erzeugen von Spannenliniendaten ent sprechend den Spannenlinien;
einen Unterspannen-Schrittgeber (510), der die Span nenliniendaten, die jeder Spannenlinie entsprechen, empfängt und eine Reihe von Unterspannenliniendaten, die Abschnitte von Spannenlinien, die den Spannenli niendaten entsprechen, darstellen, erzeugt; und
einen Spannenschrittgeber (520), der die Reihe von Unterspannendaten empfängt und Pixeldaten für das Grundelement in den Abschnitten der Spannenlinien, die durch die Unterspannendaten dargestellt sind, erzeugt.
einer Mehrzahl von Rahmenpuffersteuerungen (50A, 50B), die Grundelementdaten von dem Computergraphiksystem empfangen, wobei jede Rahmenpuffersteuerung folgende Merkmale aufweist:
einen Kantenschrittgeber (500) zum schrittweisen Be wegen entlang von Spannenlinien einer Kante des Grund elements und zum Erzeugen von Spannenliniendaten ent sprechend den Spannenlinien;
einen Unterspannen-Schrittgeber (510), der die Span nenliniendaten, die jeder Spannenlinie entsprechen, empfängt und eine Reihe von Unterspannenliniendaten, die Abschnitte von Spannenlinien, die den Spannenli niendaten entsprechen, darstellen, erzeugt; und
einen Spannenschrittgeber (520), der die Reihe von Unterspannendaten empfängt und Pixeldaten für das Grundelement in den Abschnitten der Spannenlinien, die durch die Unterspannendaten dargestellt sind, erzeugt.
8. Rahmenpuffersystem gemäß Anspruch 7, bei dem der Kanten
schrittgeber (500) jeder Rahmenpuffersteuerung (50A,
50B) Spannenliniendaten entsprechend jeder Spannenlinie
erzeugt.
9. Rahmenpuffersystem gemäß Anspruch 7, bei dem der Kanten
schrittgeber (500) jeder Rahmenpuffersteuerung (50A,
50B) Spannenliniendaten entsprechend vorbestimmter Span
nenlinien erzeugt.
10. Rahmenpuffersystem gemäß Anspruch 9, bei dem die vorbe
stimmten Spannenlinien alternierende Spannenlinien sind.
11. Rahmenpuffersystem gemäß Anspruch 7, das ferner zumin
dest einen Speicher (51A, 51B) zum Speichern der Pixel
daten aufweist.
12. Rahmenpuffersystem gemäß Anspruch 11, bei dem jede Rah
menpuffersteuerung (50A, 50B) zumindest eine Speicher
steuerung (530, 531) zum Schreiben von Pixeldaten in den
zumindest einen Speicher (540, 541) aufweist.
13. Rahmenpuffersystem gemäß Anspruch 11, bei dem der zumin
dest eine Speicher (51A, 51B) eine Mehrzahl von Spei
chern aufweist, die der Mehrzahl von Rahmenpuffersteue
rungen (50A, 50B) zugeordnet sind.
14. Rahmenpuffersystem gemäß Anspruch 12, bei dem der zumin
dest eine Speicher (540, 541) eine Mehrzahl von Spei
chern aufweist, die jeder der Mehrzahl von Rahmenpuffer
steuerungen (50A, 50B) zugeordnet sind, wobei die zumin
dest eine Speichersteuerung (530, 531) eine Mehrzahl von
Speichersteuerungen für jede Rahmenpuffersteuerung auf
weist, und wobei alternierende Abschnitte der Pixeldaten
zur Speicherung in einem entsprechenden Speicher zu je
der der Mehrzahl von Speichersteuerungen (530, 531) für
jede Rahmenpuffersteuerung geliefert werden.
15. Rahmenpuffersystem gemäß Anspruch 7, bei dem die Unter
spannendaten einen Anfangswert, einen Endwert und einen
Farbanfangswert für Abschnitte einer Spannenlinie auf
weisen.
16. Rahmenpuffersystem gemäß Anspruch 15, bei dem die Ab
schnitte einer Spannenlinie, die durch die Unterspannen
daten definiert sind, basierend auf der Spannenlinie va
riieren.
17. Rahmenpuffersystem gemäß Anspruch 15, bei dem die Ab
schnitte der Spannenlinie für jede Spannenlinie vorbe
stimmt sind.
18. Rahmenpuffersystem gemäß Anspruch 7, bei dem eine gesam
te Spannenlinie in Abschnitte der Spannenlinie geteilt
ist, die durch eine der Mehrzahl von Speicherpuffer
steuerungen (50A, 50B) abgedeckt sind.
19. Verfahren des Betreibens einer Rahmenpuffersteuerung
(50A, 50B) mit folgenden Schritten:
Umwandeln (750) von Grundelementdaten in Spannenanfangs- und Spannenend-Werte für jede Spannenlinie in dem Grund muster;
Unterteilen (760, 765) jeder Spannenlinie zwischen dem Spannenanfangs- und dem Spannenend-Wert in eine Mehrzahl von Unterspannenabschnitten; und
Erzeugen von Pixeldaten, die zumindest einem der Unter spannenabschnitte in jeder Spannenlinie entsprechen.
Umwandeln (750) von Grundelementdaten in Spannenanfangs- und Spannenend-Werte für jede Spannenlinie in dem Grund muster;
Unterteilen (760, 765) jeder Spannenlinie zwischen dem Spannenanfangs- und dem Spannenend-Wert in eine Mehrzahl von Unterspannenabschnitten; und
Erzeugen von Pixeldaten, die zumindest einem der Unter spannenabschnitte in jeder Spannenlinie entsprechen.
20. Verfahren gemäß Anspruch 19, das ferner den Schritt des
Bestimmens der Mehrzahl von Unterspannenabschnitten ba
sierend auf der Spannenlinie aufweist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US48864295A | 1995-06-08 | 1995-06-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19619288A1 true DE19619288A1 (de) | 1996-12-12 |
Family
ID=23940519
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19619288A Withdrawn DE19619288A1 (de) | 1995-06-08 | 1996-05-13 | System und Verfahren zur Dreieck-Rasterung mit in zwei Dimensionen verschachtelten Rahmenpuffern |
Country Status (5)
Country | Link |
---|---|
US (1) | US5982384A (de) |
JP (1) | JPH0916144A (de) |
DE (1) | DE19619288A1 (de) |
FR (1) | FR2735267B1 (de) |
GB (1) | GB2302002B (de) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6525722B1 (en) | 1995-08-04 | 2003-02-25 | Sun Microsystems, Inc. | Geometry compression for regular and irregular mesh structures |
US6215500B1 (en) | 1995-08-04 | 2001-04-10 | Sun Microsystems, Inc. | Compression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object |
US5793371A (en) | 1995-08-04 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for geometric compression of three-dimensional graphics data |
US6747644B1 (en) | 1995-08-04 | 2004-06-08 | Sun Microsystems, Inc. | Decompression of surface normals in three-dimensional graphics data |
US6256041B1 (en) | 1995-08-04 | 2001-07-03 | Sun Microsystems, Inc. | Decompression of three-dimensional geometry data representing a regularly tiled surface portion of a graphical object |
US5842004A (en) | 1995-08-04 | 1998-11-24 | Sun Microsystems, Inc. | Method and apparatus for decompression of compressed geometric three-dimensional graphics data |
US5760783A (en) * | 1995-11-06 | 1998-06-02 | Silicon Graphics, Inc. | Method and system for providing texture using a selected portion of a texture map |
JPH10334269A (ja) * | 1997-06-03 | 1998-12-18 | Sega Enterp Ltd | 画像処理装置、画像処理方法、及び画像処理プログラムを記録した記録媒体 |
US7554510B1 (en) * | 1998-03-02 | 2009-06-30 | Ati Technologies Ulc | Method and apparatus for configuring multiple displays associated with a computing system |
US6072505A (en) * | 1998-04-01 | 2000-06-06 | Real 3D, Inc. | Method and apparatus to efficiently interpolate polygon attributes in two dimensions at a prescribed clock rate |
US6611272B1 (en) * | 1998-07-02 | 2003-08-26 | Microsoft Corporation | Method and apparatus for rasterizing in a hierarchical tile order |
US7224364B1 (en) * | 1999-02-03 | 2007-05-29 | Ati International Srl | Optimal initial rasterization starting point |
US6795072B1 (en) | 1999-08-12 | 2004-09-21 | Broadcom Corporation | Method and system for rendering macropixels in a graphical image |
US6504542B1 (en) * | 1999-12-06 | 2003-01-07 | Nvidia Corporation | Method, apparatus and article of manufacture for area rasterization using sense points |
US6801203B1 (en) * | 1999-12-22 | 2004-10-05 | Microsoft Corporation | Efficient graphics pipeline with a pixel cache and data pre-fetching |
US6823525B1 (en) * | 2000-01-21 | 2004-11-23 | Ati Technologies Inc. | Method for displaying single monitor applications on multiple monitors driven by a personal computer |
US20050052459A1 (en) * | 2000-06-07 | 2005-03-10 | Lewis Michael C. | Method and system for rendering macropixels in a graphical image |
US6556203B1 (en) * | 2000-06-30 | 2003-04-29 | Intel Corporation | Tile-based digital differential analyzer rasterization |
US6636218B1 (en) * | 2000-06-30 | 2003-10-21 | Intel Corporation | Title-based digital differential analyzer rasterization |
US6961803B1 (en) | 2001-08-08 | 2005-11-01 | Pasternak Solutions Llc | Sliced crossbar architecture with no inter-slice communication |
DE60205856D1 (de) * | 2002-03-11 | 2005-10-06 | Sgs Thomson Microelectronics | Verfahren und Vorrichtung zur Auswertung, ob ein Bildpunkt innerhalb eines Dreiecks liegt |
US7038697B2 (en) * | 2003-02-25 | 2006-05-02 | Microsoft Corporation | Color gradient paths |
US7936362B2 (en) * | 2004-07-30 | 2011-05-03 | Hewlett-Packard Development Company L.P. | System and method for spreading a non-periodic signal for a spatial light modulator |
US9009441B2 (en) | 2012-06-04 | 2015-04-14 | Qualcomm Incorporated | Memory channel selection in a multi-channel memory |
US9299124B2 (en) * | 2012-06-07 | 2016-03-29 | Qualcomm Incorporated | Padding for multi-channel memory |
US10410081B2 (en) | 2014-12-23 | 2019-09-10 | Intel Corporation | Method and apparatus for a high throughput rasterizer |
US10269154B2 (en) * | 2015-12-21 | 2019-04-23 | Intel Corporation | Rasterization based on partial spans |
US10482577B2 (en) * | 2016-07-27 | 2019-11-19 | Adobe Inc. | Dynamic spread anti-aliasing |
US10388060B2 (en) * | 2017-08-28 | 2019-08-20 | Futurewei Technologies, Inc. | System and method for multi-view rendering |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB464907A (en) * | 1936-11-09 | 1937-04-27 | Clarke Chapman Ltd | An improvement relating to hoisting and like means |
US5222204A (en) * | 1990-03-14 | 1993-06-22 | Hewlett-Packard Company | Pixel interpolation in perspective space |
JP3071229B2 (ja) * | 1990-04-09 | 2000-07-31 | 株式会社リコー | 図形処理装置 |
GB2245806A (en) * | 1990-06-29 | 1992-01-08 | Philips Electronic Associated | Generating an image |
EP0464907B1 (de) * | 1990-06-29 | 1996-10-09 | Philips Electronics Uk Limited | Bilderzeugung |
US5293480A (en) * | 1990-08-06 | 1994-03-08 | At&T Bell Laboratories | High resolution graphics system architecture |
GB2251770B (en) * | 1991-01-09 | 1995-01-11 | Du Pont Pixel Systems | Graphics accelerator system with polygon traversal operation |
GB2251773B (en) * | 1991-01-09 | 1995-01-18 | Du Pont Pixel Systems | Graphics accelerator system with line drawing and tracking operations |
JP2712912B2 (ja) * | 1991-08-23 | 1998-02-16 | 日本電気株式会社 | エッジリスト作成装置 |
US5307449A (en) * | 1991-12-20 | 1994-04-26 | Apple Computer, Inc. | Method and apparatus for simultaneously rendering multiple scanlines |
US5404448A (en) * | 1992-08-12 | 1995-04-04 | International Business Machines Corporation | Multi-pixel access memory system |
US5446836A (en) * | 1992-10-30 | 1995-08-29 | Seiko Epson Corporation | Polygon rasterization |
EP0631252B1 (de) * | 1993-06-23 | 2002-06-26 | Sun Microsystems, Inc. | Zeichnungsverarbeitungsgerät für drei-dimensionalen graphischen Hoch-Leistungsbeschleuniger |
US5528738A (en) * | 1993-10-06 | 1996-06-18 | Silicon Graphics, Inc. | Method and apparatus for antialiasing raster scanned, polygonal shaped images |
US5598517A (en) * | 1995-01-10 | 1997-01-28 | Evans & Sutherland Computer Corp. | Computer graphics pixel rendering system with multi-level scanning |
-
1996
- 1996-03-05 FR FR9602740A patent/FR2735267B1/fr not_active Expired - Fee Related
- 1996-05-13 DE DE19619288A patent/DE19619288A1/de not_active Withdrawn
- 1996-06-05 GB GB9611742A patent/GB2302002B/en not_active Expired - Fee Related
- 1996-06-10 JP JP8147638A patent/JPH0916144A/ja active Pending
- 1996-09-17 US US08/715,167 patent/US5982384A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2735267B1 (fr) | 1999-04-30 |
FR2735267A1 (fr) | 1996-12-13 |
US5982384A (en) | 1999-11-09 |
GB2302002B (en) | 2000-06-21 |
JPH0916144A (ja) | 1997-01-17 |
GB9611742D0 (en) | 1996-08-07 |
GB2302002A (en) | 1996-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19619288A1 (de) | System und Verfahren zur Dreieck-Rasterung mit in zwei Dimensionen verschachtelten Rahmenpuffern | |
DE69130123T2 (de) | Anzeigegerät und Verfahren zum Betreiben eines solchen Geräts | |
DE69122557T2 (de) | Bilderzeugung | |
DE3853393T2 (de) | Verfahren und Vorrichtung zur zweidimensionalen Bilderstellung. | |
DE68927471T2 (de) | Verfahren zur Schattierung eines graphischen Bildes | |
DE3750784T2 (de) | Generation eines intrapolierten charakteristischen Wertes zur Anzeige. | |
DE69424716T2 (de) | Verfahren und Vorrichtung zur adaptiven Steuerung der Texturabbildung | |
DE69130545T2 (de) | System zur Erzeugung einer texturierten Perspektivsicht | |
DE19827726B4 (de) | Verfahren und Vorrichtung zum Liefern von Polygonpixelunterabtastinformationen unter Verwendung einer Inkrementaleinrichtung | |
DE3854543T2 (de) | Prioritätsverwaltung eines Tiefendatenpuffers für Echtzeitrechnersysteme zur Bilderzeugung. | |
DE68919024T2 (de) | Verfahren und Prozessor zur Abtastumsetzung. | |
DE3855231T2 (de) | Prioritätsauflösungssystem zwischen Polygonen mit Antialiasing | |
DE10053439B4 (de) | Grafik-Beschleuniger mit Interpolationsfunktion | |
DE69130132T2 (de) | Verfahren zur Erzeugung von Adressen zu texturierten, in RIP Maps gespeicherten graphischen Primitiven | |
DE69032932T2 (de) | System und Verfahren zum unverfälschten Polygonenzeichnen | |
EP1227444B1 (de) | Verfahren zur Rasterisierung eines Graphikgrundelements | |
DE69331031T2 (de) | Vorrichtung zur parallelen Bilderzeugung | |
DE69127516T2 (de) | Verfahren und Gerät zur Bilderzeugung | |
DE69331486T2 (de) | Bilddatenverarbeitung | |
DE69609534T2 (de) | Rechnerbasierte 3D-Darstellungsverfahren und -System | |
DE3022454A1 (de) | Optisches abbildesystem mit computererzeugtem bild fuer einen bodenfesten flugsimulator | |
DE3315148C2 (de) | ||
DE102005050846A1 (de) | Perspektiveneditierwerkzeuge für 2-D Bilder | |
DE69230774T2 (de) | Anti-aliasing Tiefenpuffer | |
DE69606177T2 (de) | Verfahren und gerät zur texturabbildung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ON | Later submitted papers | ||
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD CO. (N.D.GES.D.STAATES DELAWARE), |
|
8127 | New person/name/address of the applicant |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8130 | Withdrawal |