DE19709220A1 - System und Verfahren für eine beschleunigte Verdeckungsauslese - Google Patents
System und Verfahren für eine beschleunigte VerdeckungsausleseInfo
- Publication number
- DE19709220A1 DE19709220A1 DE19709220A DE19709220A DE19709220A1 DE 19709220 A1 DE19709220 A1 DE 19709220A1 DE 19709220 A DE19709220 A DE 19709220A DE 19709220 A DE19709220 A DE 19709220A DE 19709220 A1 DE19709220 A1 DE 19709220A1
- Authority
- DE
- Germany
- Prior art keywords
- depth
- circuit
- pixel
- color
- buffer
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
- G06T15/405—Hidden part removal using Z-buffer
Description
Die vorliegende Erfindung bezieht sich allgemein auf ein
System und ein Verfahren zur Verdeckungsauslese (auch
"Occlusion Culling" genannt) und insbesondere auf ein System
und ein Verfahren zum Beschleunigen der Verdeckungsauslese
bei einem Graphikcomputer.
Ein Graphikcomputer wird üblicherweise verwendet, um
dreidimensionale Darstellungen eines Objekts auf einem zwei
dimensionalen Anzeigebildschirm darzustellen. Bei einem
typischen Graphikcomputer wird ein aufzubereitendes Objekt
in eine Vielzahl von Graphikgrundelementen aufgeteilt. Die
Graphikgrundelemente sind Grundkomponenten eines Graphikbil
des und können durch Geometrien eines Punktes, einer Linie,
eines Vektors oder eines Polygons, wie z. B. eines Dreiecks,
definiert sein. Die Graphikgrundelemente werden durch eine
Graphikpipeline gespeist, wo verschiedene Verarbeitungstypen
auftreten, wonach sie auf einer Anzeige aufbereitet werden.
Ein Beispiel einer typischen Graphikpipeline 10 ist in Fig.
1 gezeigt und umfaßt eine Transformationseinheit 12 zum Um
wandeln von Eingabegrundelementdaten von einem Koordinaten
raum zu einem anderen Koordinatenraum. Eine Licht/Schatten-
Einheit 13 legt eine Beleuchtung und eine flache oder weiche
Schattierung an die transformierten Graphikgrundelemente an,
und dieselbe kann zusätzlich eine Texturabbildungsfähigkeit
für den Graphikcomputer schaffen. Eine Abschneideeinheit
schneidet Grundelemente auf ein Betrachtungsvolumen zu und
kann ferner die Grundelemente bezüglich einer oder mehrerer
beliebiger Abschneideebenen zuschneiden. An der Abschneide
einheit 14 werden die Grundelementdaten derart modifiziert,
daß nur der Abschnitt des Grundelements, welcher innerhalb
des Betrachtungsvolumens liegt, sichtbar wird. Eine Perspek
tiventeilungseinheit 15 teilt alle Koordinaten durch w, um
die Daten von homogenen zu dreidimensionalen Koordinaten zu
transformieren. Um eine perspektivische Projektion zu schaf
fen, werden die Koordinaten ferner an der Perspektiventei
lungseinheit 15 durch die Tiefenkomponente geteilt, derart,
daß Objekte, die weiter weg sind, kleiner erscheinen. Bei
einer Abtastumwandlungseinheit 15 werden Scheitel-Koordina
ten und -Attribute in Pixelfarben und Tiefen umgewandelt.
Die Datenausgabe aus der Graphikpipeline 10 umfaßt solche
Dinge, wie Pixel-Koordinaten oder Adressen x und y, eine
Pixeltiefe z und eine Farbe r, g, b und a oder einen Farb
index. Es sollte offensichtlich sein, daß die Graphikpipe
line 10 lediglich beispielhaft die Operationen zeigt, die
von einem typischen Graphikcomputer durchgeführt werden, und
daß die Operationen eines speziellen Graphikcomputers von
den beschriebenen abweichen können.
Die Ausgabe der Graphikpipeline 10 wird typischerweise zu
einem Rahmenpuffer geleitet, welcher einen Farbpuffer und
einen Tiefenpuffer aufweist. Eine Steuerung, die dem
Rahmenpuffer zugeordnet ist, vergleicht die ankommenden
Pixeldaten mit den angezeigten Pixeldaten und steuert die
Speicherung der ankommenden Pixeldaten dementsprechend.
Genauer gesagt wird die Tiefenkomponente z für jedes
ankommende Pixel mit der Tiefenkomponente z für das gerade
angezeigte Pixel bei der gleichen Adresse x und y vergli
chen. Wenn die ankommenden Pixeldaten an dieser Adresse den
Tiefentest gegen die gegenwärtig angezeigten Pixeldaten be
stehen, dann wird die Steuerung den Farbpuffer und den Tie
fenpuffer freigeben, um die Daten für dieses ankommende
Pixel zu speichern. Der Vergleich der gegenwärtigen Tiefe
und der ankommenden Tiefe wird für jedes Pixel durchgeführt,
derart, daß die Daten, die den verdeckten Pixeln zugeordnet
sind, nicht in dem Farbe- und dem Tiefenpuffer gespeichert
werden.
Die herkömmlichen Graphikcomputer haben den Nachteil, daß
sie relativ langsam sind. In dem Rahmenpuffer oder Bild
speicher muß für jedes Pixel in einem Grundelement sein
Tiefenwert z mit dem Tiefenwert für das gegenwärtig ange
zeigte Pixel verglichen werden. Da jedes Grundelement
Tausende von Pixeln haben kann, wird eine relativ große
Menge an Verarbeitungszeit aufgewendet, um die sichtbaren
Pixel zu bestimmen, und um die Tiefen- und Farb-Daten, die
diesen Pixeln zugeordnet sind, zu speichern. Es besteht in
der Industrie daher ein Bedarf, die Geschwindigkeit eines
Graphikcomputers zu erhöhen.
Die Geschwindigkeit eines Graphikcomputers wird ebenfalls
sehr stark beeinträchtigt, da schließlich nicht alle Grund
elemente aufbereitet werden. So kann bezüglich eines Bei
spiels eines Automobils das Automobil eine hierarchische
Datenstruktur haben, mit unterschiedlichen Gruppen für
Dinge, wie z. B. Körperplatten, den Motor, den Antriebszug,
das Innere, die Elektrik, die Räder, usw. Bestimmte dieser
Datenstrukturen, wie z. B. der Motor, können komplex sein
und können potentiell aus Tausenden oder Millionen von
Graphikgrundelementen bestehen, welche zusammengruppiert und
aufbereitet werden. Wenn das Automobil von oben bei ge
schlossener Motorhaube angezeigt wird, könnte ein typischer
Graphikcomputer eine große Menge an Zeit zum Verarbeiten der
Vielzahl von Grundelementen für den Motor aufwenden, was
schließlich darin resultiert, daß nicht ein einziges Grund
element für den Motor angezeigt wird. Auf ähnliche Weise
können andere Abschnitte des Automobils, wie z. B. die Räder
oder der Antriebszug, vollständig verdeckt sein. Die Menge
an Zeit, die zum Verarbeiten aller dieser verdeckten Grund
elemente aufgewendet wird, verringert die Geschwindigkeit
und den Wirkungsgrad des Graphikcomputers stark. Es besteht
daher ein Bedarf nach einem Graphikcomputer, welcher schnell
eine große Anzahl von Graphikgrundelementen aufbereiten
kann.
Die Aufgabe der vorliegenden Erfindung besteht darin, die
Verarbeitungszeit eines Graphikcomputers zu reduzieren, in
dem bestimmt wird, ob ein Graphikgrundelement vollständig
verdeckt ist.
Diese Aufgabe wird durch eine Verdeckungsausleseschaltung
gemäß Anspruch 1 gelöst.
Ein Vorteil der vorliegenden Erfindung besteht darin, daß
sie ein System und ein Verfahren zur Verwendung in einem
Graphikcomputer schafft, welcher schnell Graphikgrundele
mente aufbereiten und anzeigen kann.
Zusätzliche Vorteile und neue Merkmale der Erfindung werden
in der nachfolgenden Beschreibung dargelegt und werden Fach
leuten beim Lesen dieser Beschreibung und beim Ausführen der
Erfindung offensichtlich werden.
Um die vorhergehenden und weitere Ziele zu erreichen, umfaßt
eine Verdeckungsausleseschaltung zur Verwendung bei einem
Graphikcomputer und gemäß einem bevorzugten Ausführungsbei
spiel der vorliegenden Erfindung einen Zentralprozessor,
eine Tiefenvergleichsschaltung, eine Logikschaltung, einen
Tiefenpuffer und einen Farbpuffer. Der Zentralprozessor lie
fert die Graphikgrundelemente, die aufbereitet werden sol
len, und verwaltet bestimmte Operationen der Verdeckungsaus
leseschaltung. Die Tiefenvergleichsschaltung ist konfigu
riert, um ein Graphikgrundelement von dem Zentralprozessor
zu empfangen, und um einen ankommenden Tiefenwert für jede
Adresse in dem Graphikgrundelement mit einem gegenwärtigen
Tiefenwert für ein aufbereitetes Pixel bei einer entspre
chenden Adresse zu vergleichen. Basierend auf dem Vergleich
erzeugt die Tiefenvergleichsschaltung ein Ergebnissignal mit
einem ersten logischen Wert, wenn der ankommende Tiefenwert
sichtbar ist, und mit einem zweiten logischen Wert, wenn der
ankommende Tiefenwert durch das aufbereitete Pixel verdeckt
ist. Die Logikschaltung ist konfiguriert, um das Ergebnis
signal der Tiefenvergleichsschaltung zu empfangen, und um
ein Tiefenvergleichssignal zu erzeugen. Die Logikschaltung
wird das Tiefenvergleichssignal auf dem ersten logischen
Wert beim Empfang eines Ergebnissignals mit dem ersten
logischen Wert zwischenspeichern. Wenn der erste logische
Pegel von der Logikschaltung nach der Verarbeitung eines
Satzes von Graphikgrundelementen nicht zwischengespeichert
ist, dann zeigt dies an, daß alle Grundelemente dieser
Gruppe durch vorher aufbereitete Grundelemente vollständig
verdeckt sind. Schließlich ist der Tiefenpuffer vorgesehen,
um Tiefenwerte der Graphikgrundelemente zu speichern, wäh
rend der Farbpuffer vorgesehen ist, um Farbwerte der Gra
phikgrundelemente zu speichern.
Demgemäß speichert der Zentralprozessor Farbwerte und Tie
fenwerte eines Pixel, wenn die Logikschaltung den ersten
logischen Wert für das Pixel zwischenspeichert. Andererseits
speichert der Zentralprozessor nicht die Tiefenwerte in dem
Tiefenpuffer oder die Farbwerte in dem Farbpuffer, wenn die
Logikschaltung den ersten logischen Wert für das Pixel nicht
zwischenspeichert, da das Pixel in diesem Fall verdeckt ist.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung
werden nachfolgend bezugnehmend auf die beiliegenden Zeich
nungen detaillierter erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm einer Graphikpipeline;
Fig. 2 ein Blockdiagramm eines Graphikcomputers;
Fig. 3 ein schematisches Diagramm einer Verdeckungsaus
leseschaltung gemäß einem bevorzugten Ausführungs
beispiel der vorliegenden Erfindung; und
Fig. 4 ein Flußdiagramm eines Verfahrens zum Verdeckungs
auslesen gemäß einem bevorzugten Ausführungsbei
spiel der vorliegenden Erfindung.
In Fig. 2 ist ein Graphikcomputer 20 gemäß einem bevorzugten
Ausführungsbeispiel der vorliegenden Erfindung gezeigt, wo
bei derselbe einen Hostcomputer 22 aufweist, der mit einer
Graphikbeschleunigungsplatine 24 verbunden ist. Der Haupt
computer 22 liefert der Graphikbeschleunigungsplatine 24
Graphikgrundelemente, und, wie es aus der nachfolgenden Be
schreibung ersichtlich ist, steuert derselbe ferner bestimm
te Operationen innerhalb der Graphikbeschleunigungsplatine
24.
Die Graphikbeschleunigungsplatine 24 führt die Funktionen
einer typischen Graphikpipeline, wie z. B. der Graphikpipe
line 10 in Fig. 1, durch und umfaßt im allgemeinen eine Geo
metriebeschleunigungsplatine 26 und eine Rasterisierungs
platine 28. Der Betrieb der Geometriebeschleunigungsplatine
26 bildet keinen Teil der vorliegenden Erfindung, und es
kann jede geeignete Geometriebeschleunigungsplatine 26 ver
wendet werden. Die Rasterisierungsplatine 28 umfaßt einen
Rahmenpuffer, welcher sowohl einen Farbpuffer als auch einen
Tiefenpuffer aufweist. Die Rasterisierungsplatine 28 führt
die Funktion des Umwandelns von Graphikgrundelementen in
einzelne Pixel zur Anzeige auf einem Anzeigegerät durch.
Dieser Prozeß ist in der Industrie als Abtastumwandlung oder
Rasterisierung bekannt. Es sollte offensichtlich sein, daß
der Graphikcomputer 20 nicht auf das in der Zeichnung ge
zeigte Beispiel begrenzt ist, sondern daß derselbe zusätz
lich andere Elemente, wie z. B. eine Texturabbildungsplati
ne, enthalten kann.
Eine Verdeckungsausleseschaltung 30 gemäß einem bevorzugten
Ausführungsbeispiel der Erfindung ist in Fig. 3 gezeigt. Im
allgemeinen empfängt die Verdeckungsausleseschaltung 30 Pi
xeldaten, die Pixelkoordinaten x und y, Tiefenwerte z und
Farbdaten r, b, g und a oder einen Farbindex aufweisen, wo
bei dieselbe bei den Pixeln, die nicht vollständig verdeckt
sind, die Tiefenwerte z in einem Tiefenpuffer 39 und die
Farbdaten r, b, g und a oder einen Farbindex in einem Farb
puffer 38 speichert.
Insbesondere werden die Eingangsdaten zu einer Tiefenver
gleichsschaltung 33 geleitet. Die Tiefenvergleichsschaltung
33 vergleicht den Wert z der ankommenden Pixeldaten mit dem
Wert z des gegenwärtigen Pixels, der in dem Tiefenpuffer 39
gespeichert ist. Die Ausgabe der Tiefenvergleichsspannung 33
ist ein logischer Wert von 1, wenn der ankommende Pixelwert
z den Tiefenvergleich gegenüber dem Wert z des gegenwärtigen
Pixels besteht, und derselbe ist sonst ein logischer Wert
von 0. Die Ausgabe der Tiefenvergleichsschaltung 33 wird zu
einem Eingang einer ODER-Schaltung 34 geleitet, wobei die
Ausgabe der ODER-Schaltung 34 in einem Tiefenvergleichser
gebnisregister 35 gespeichert wird. Der in dem Tiefenver
gleichsergebnisregister 35 gespeicherte Wert wird zurück in
einen zweiten Eingang der ODER-Schaltung 34 geleitet.
Die Eingangspixeldaten werden ebenfalls einer Farbmaske 36
und sowohl dem Tiefenpuffer 39 als auch dem Farbpuffer 38
zugeführt. Die Koordinaten x und y der ankommenden Pixel
daten werden einem Adreßeingang sowohl des Tiefenpuffers 39
als auch des Farbpuffers 38 zugeführt. Wenn ein Tiefenmas
kenschalter 37 geschlossen ist, werden die Werte z für die
ankommenden Pixeldaten dem Tiefenpuffer 39 zugeführt. Wenn
die Farbmaskenschaltung 36 freigegeben ist, werden auf ähn
liche Weise die Farbdaten einem Eingang des Farbpuffers 38
zugeführt. An dieser Stelle ist es der Anmerkung wert, daß
die Farbmaskenschaltung 36 beliebige oder alle der Farbdaten
r, g, b und a oder der Farbindexdaten unabhängig freigeben
oder sperren kann, die als eine Eingabe in den Farbpuffer 38
zugeführt werden.
Eine Steuerleitung erstreckt sich von dem Ausgang der
Tiefenvergleichsschaltung 33 zu den Schreiben-Freigabe-
Eingängen des Tiefenpuffers 39 und des Farbpuffers 38. Wenn
das Ausgangssignal der Tiefenvergleichsschaltung 33 ein lo
gischer Wert von 1 ist, wird die logische 1 den Schreiben-
Freigabe-Eingängen des Tiefenpuffers 39 und des Farbpuffers
38 zugeführt, um ein Schreiben von Daten in den Tiefen- und
den Farbpuffer 39, 38 zu ermöglichen. Wenn das Ausgangs
signal der Tiefenvergleichsschaltung 33 ein logischer Wert
von 0 ist, bleiben die Schreiben-Freigabe-Eingänge des Tie
fenpuffers 39 und des Farbpuffers 38 gesperrt.
Die Schaltung 33 kann beispielsweise in einer Schnittstelle
OpenGL (OpenGL ist eine eingetragene Marke) betrieben wer
den, wodurch Softwarebefehle auf eine bekannte Art und Weise
verwendet werden, um Hardwareschalter zu schließen oder zu
öffnen, indem spezifische Bits gesetzt oder gelöscht werden.
Wie es in Fig. 3 gezeigt ist, verwendet die Schaltung 30 ei
nen Schnittstellenbefehl DepthMask, um die Position des
Schalters 37 zu steuern, und um somit das Schreiben von
Pixeldaten z in dem Tiefenpuffer 39 zu steuern, und dieselbe
verwendet einen Schnittstellenbefehl ColorMask, um das
Schreiben von Farbdaten in den Farbpuffer 38 zu steuern. Die
Schaltung 30 umfaßt zusätzlich einen Schnittstellenbefehl
DepthFunc, welcher den Betriebsmodus für die Tiefenver
gleichsschaltung 33 steuert. Während die Schaltung 33 typi
scherweise die ankommenden Pixeldaten z mit den gegenwärti
gen Pixeldaten z unter Verwendung einer Funktion, die wahr
ist, wenn die ankommenden Pixeldaten z vor den gegenwärtigen
Pixeldaten z sind, vergleicht, kann der Befehl DepthFunc den
Vergleich ändern, um Funktionen, wie z. B. "hinter", "gleich
zu", "niemals bestehen", "immer bestehen", usw., durchzufüh
ren. In der Tat existieren viel mehr Funktionen für
DepthFunc, die zum Ausführen bei der vorliegenden Erfindung
geeignet sein werden. Ferner sollte offensichtlich sein, daß
die Erfindung nicht durch diese spezielle Softwareimplemen
tation begrenzt ist, sondern daß sie, wie es für Fachleute
offensichtlich ist, in anderer Software oder in Hardware im
plementiert sein kann.
Die Verdeckungsausleseschaltung 30 ist vorzugsweise in einer
Kombination von Hardware und Software implementiert. Be
stimmte Merkmale der Schaltung 30 sind andererseits vorzugs
weise in Hardware implementiert. Die logische ODER-Schaltung
24 umfaßt beispielsweise eine Halbleiterschaltung, das Tie
fenvergleichsergebnisregister 35 umfaßt ein Halbleiterregi
ster, und der Tiefen- und der Farbpuffer 39 und 38 umfassen
eine herkömmliche Tiefen- und eine Farbpufferspeicherschal
tung. Es sollte offensichtlich sein, daß nicht alle der ge
nannten Komponenten in Hardware, sondern alternativ eben
falls in Software implementiert sein können.
Nachfolgend wird der Betrieb der Verdeckungsausleseschaltung
30 bezugnehmend auf ein Flußdiagramm 40, das in Fig. 4 ge
zeigt ist, beschrieben. In einem Schritt 41 wird das Tiefen
vergleichsergebnisregister 35 gelöscht, derart, daß es einen
logischen Wert von 0 speichert. Der Hostcomputer 22 tastet
in einem Schritt 42 die Graphikgrundelementdaten eines Ob
jekts, das aufbereitet werden soll, ab und bestimmt ein Be
grenzungsvolumen für das Objekt, das Graphikgrundelemente
aufweist, die das Objekt umgeben. Die Art und Weise, auf die
der Hostcomputer 22 das Begrenzungsvolumen bestimmt, bildet
keinen Teil der vorliegenden Erfindung, weshalb jede belie
bige Art und Weise verwendet werden kann. Der Hostcomputer
22 kann beispielsweise die Graphikgrundelementdaten für den
maximalen und minimalen Wert entlang der x-Achse, den maxi
malen und minimalen Wert entlang der y-Achse und den maxima
len und den minimalen Wert entlang der z-Achse abtasten.
Diese sechs Werte können dann verwendet werden, um einen
Würfel zu bilden, welcher das Graphikgrundelement vollstän
dig umgibt, da ein Würfel nicht das minimale Begrenzungs
volumen ist, kann der Hostcomputer 22 alternativ ein Begren
zungsvolumen mit einer anderen Form oder ein Begrenzungsvo
lumen, das durch mehr als eine Form definiert ist, verwen
den.
Anschließend werden in einem Schritt 43 die Graphikgrundele
mentdaten der Grundelemente, die das begrenzte Volumen defi
nieren, von dem Hostcomputer 22 in die Verdeckungsauslese
schaltung 30 eingegeben. In einem Schritt 44 wird das
Schreiben für sowohl den Farbpuffer 38 als auch den Tiefen
puffer 39 gesperrt, derart, daß keine Daten zu entweder dem
Farbpuffer 38 oder dem Tiefenpuffer 39 geschrieben werden
können, bis die Tiefenvergleichsschaltung 33 einen logischen
Wert von 1 zu den Schreiben-Freigabe-Eingängen des Farbpuf
fers 38 oder des Tiefenpuffers 39 gemäß der vorliegenden Er
findung liefert.
Die Verdeckungsausleseschaltung 30 vergleicht in einem
Schritt 45 die Tiefe jedes Pixels der Graphikgrundelemente,
die das Begrenzungsvolumen definieren, mit den bereits auf
bereiteten Grundelementen. In diesem Schritt ist der Tiefen
maskenschalter 37 offen, um das Speichern irgendwelcher
z-Pixeldaten in dem Tiefenpuffer 39 zu sperren, wobei die
Farbmaskenschaltung 36 deaktiviert ist, um das Speichern
beliebiger Farbdaten in dem Farbpuffer 38 zu sperren. Die
Werte z für die ankommenden Pixeldaten werden der Tiefen
vergleichsschaltung 33 zugeführt, wobei ihre zugeordneten
Koordinaten x und y dem Tiefenpuffer 39, um die gegenwärti
gen Pixeldaten zu adressieren, zugeführt werden. Der Wert z
für jedes ankommende Pixel wird gegenüber dem gegenwärtigen
Wert z an der gleichen Adresse x und y in dem Tiefenpuffer
verglichen. Wenn die ankommenden Pixel nicht die gegenwär
tige Tiefenvergleichsfunktion bestehen, dann wird die Tie
fenvergleichsschaltung 33 eine logische 0 ausgeben, welche
in die ODER-Schaltung 34 eingespeist wird. Wenn andererseits
das ankommende Pixel die gegenwärtige Tiefenvergleichsfunk
tion besteht, dann wird die Tiefenvergleichsschaltung 33
eine logische 1 ausgeben, welche in die ODER-Schaltung 34
eingespeist wird. Aufgrund der Rückkopplung von dem Tiefen
vergleichsergebnisregister 35 zu der ODER-Schaltung 34 wird
der in dem Tiefenvergleichsergebnisregister 35 gespeicherte
Wert ein logischer Wert von 1 bleiben, und zwar nach dem
erstmaligen Auftreten eines Pixels, welches nicht verdeckt
ist.
In einem Schritt 46 liest, nachdem die Pixelwerte z für die
Graphikgrundelemente, die das gesamte Begrenzungsvolumen
definieren, mit den gegenwärtigen Pixelwerten z verglichen
worden sind, der Hostcomputer 22 als nächstes den Wert, der
in dem Tiefenvergleichsergebnisregister 35 gespeichert ist.
In einem Schritt 47 bestimmt der Hostcomputer 22, ob der
gespeicherte Wert ein logischer Wert von 1 ist.
Wenn der in dem Register 35 gespeicherte Wert einen logi
schen Wert von 1 aufweist, dann zeigt dies an, daß zumindest
ein Pixel aus den Grundelementen, die das begrenzte Volumen
bilden, die Tiefenvergleichsfunktion besteht. Somit werden
in einem Schritt 48 alle Grundelemente, die von dem begrenz
ten Volumen umgeben werden, aufbereitet.
Der Schritt 48 stellt das herkömmliche Verfahren zum Ver
gleichen jedes Pixels in dem Grundelement mit dem gegenwär
tigen Pixel bei der gleichen Adresse und zum Bestimmen, ob
dieses Pixel sichtbar ist, dar. Während des Schritts 48 läßt
die Farbmaskenschaltung 36 die Farbdaten zu dem Farbpuffer
38, wobei der Tiefenschalter 37 geschlossen ist, derart, daß
die Tiefenwerte z zu dem Tiefenpuffer 39 gelangen. Für jedes
Pixel, das sichtbar ist, weist das Ausgangssignal der
Tiefenvergleichsschaltung 33 einen logischen Wert von 1 auf,
und dasselbe wird zu den Schreiben-Freigabe-Eingängen des
Farb- und des Tiefenpuffers 38 und 39 geleitet, um das
Schreiben der Farbdaten bzw. der Tiefendaten zu erlauben.
Nachdem die Daten für jedes Pixel in dem ankommenden Gra
phikgrundelement durch die Verdeckungsausleseschaltung 30
verarbeitet worden ist, wiederholt das Verfahren 40 den
Prozeß durch Rücksprung zu dem Schritt 41 und durch Löschen
des Ergebnisregisters 35, wie es gezeigt wurde. Nach dem
Schritt 48 bereitet der Hostcomputer 22 in einem Schritt 49
die r-, g-, b- und a- oder die Index-Farbdaten und den
Tiefenwert z für jedes sichtbare Pixel auf.
Wenn andererseits der in dem Register 35 gespeicherte Wert
kein logischer Wert von 1 ist, sondern ein logischer Wert
von 0 ist, dann bestimmt der Hostcomputer 22 in einem
Schritt 47, daß jedes Pixel von den Grundelementen, die das
begrenzte Volumen definieren, verdeckt ist, und daß kein
einziges Pixel des Objekts sichtbar sein wird. In einer
solchen Situation können alle Grundelemente, die von dem
Begrenzungsvolumen begrenzt (oder umgeben) sind, auf
triviale Art und Weise zurückgewiesen werden, und es ist
keine weitere Verarbeitung für dieselben erforderlich. Somit
wird die Leistung des Graphikcomputers 20 gesteigert, da
derselbe nicht die Grundelemente eines Objekts aufbereiten
muß, das vollständig verdeckt ist, wie es durch die
Verdeckungsausleseschaltung 30 bestimmt wird.
Somit kann die Geschwindigkeit des Graphikcomputers 20
mittels der vorliegenden Erfindung wesentlich erhöht werden.
Während früher die Speicherung in dem Farb- und dem Tiefen
puffer 38 und 39 für jedes Pixel in jedem Graphikgrundele
ment freigegeben oder gesperrt worden ist, vermeidet die
vorliegende Erfindung diese unnütze Verarbeitungszeit durch
schnelles Bestimmen, ob eine ganze Gruppe von Graphikgrund
elementen durch die gegenwärtig aufbereiteten Grundelemente
verdeckt sein wird. Die Bestimmung eines Begrenzungsvolumens
für ein ankommendes Graphikgrundelement und der Vergleich
der Graphikgrundelemente, die das Begrenzungsvolumen de
finieren, mit den gegenwärtig aufbereiteten Grundelementen
können viel schneller als das herkömmliche Verfahren des
Aufbereitens jedes Pixels in den ankommenden Graphikgrund
elementen durchgeführt werden. Der Wirkungsgrad und die Ge
schwindigkeit eines Graphikcomputers werden daher wesentlich
verbessert.
Der Wirkungsgrad und die Geschwindigkeit eines Graphikcom
puters werden ebenfalls verbessert, da die Verdeckungsaus
leseschaltung 30 bestimmen kann, ob eine gesamte Gruppierung
von Graphikgrundelementen verdeckt ist. Bei dem Beispiel des
Automobils können die Graphikgrundelemente derart gruppiert
sein, daß die Körperplatten die erste anzuzeigende Gruppe
ist. Da jedes Pixel in jedem der Vielzahl von Graphikgrund
elementen für den Motor verarbeitet wird, kann der Host
computer 22 ein Begrenzungsvolumen für den Motor bestimmen
und dieses Begrenzungsvolumen durch die Verdeckungsausle
seschaltung 30 leiten. Wenn der in dem Ergebnisregister 35
gespeicherte Wert eine logische 0 ist, dann bestimmt der
Hostcomputer 22, daß der ganze Motor verdeckt ist, und daß
der Motor nicht aufbereitet werden muß. Durch Vermeiden
einer sehr komplexen Graphikgruppierung von möglicherweise
Tausenden von Grundelementen kann der Graphikcomputer 20
gemäß der Erfindung die Menge an Verarbeitung wesentlich
reduzieren und somit die Geschwindigkeit und den Wirkungs
grad des Graphikcomputers 20 wesentlich verbessern.
Claims (10)
1. Verdeckungsausleseschaltung (30) zur Verwendung bei ei
nem Graphikcomputer (20), mit folgenden Merkmalen:
einem Zentralprozessor (22);
einer Tiefenvergleichsschaltung (33) zum Empfangen eines Graphikgrundelements von dem Zentralprozessor (22) und zum Vergleichen eines ankommenden Tiefenwerts (z) für jede Adresse in dem Graphikgrundelement mit einem gegen wärtigen Tiefenwert für ein aufbereitetes Pixel bei ei ner entsprechenden Adresse, wobei die Tiefenvergleichs schaltung (33) ein Ergebnissignal mit einem ersten logi schen Wert, wenn der ankommende Tiefenwert eine Tiefen vergleichsfunktion besteht, und mit einem zweiten logi schen Wert erzeugt, wenn der ankommende Tiefenwert die Tiefenvergleichsfunktion nicht besteht;
einer Logikschaltung (34) zum Empfangen des Ergebnis signals der Tiefenvergleichsschaltung (33) und zum Erzeugen eines Tiefenvergleichssignals, wobei die Logik schaltung (34) das Tiefenvergleichssignal bei dem ersten logischen Wert beim Empfang des Ergebnissignals mit dem ersten logischen Wert zwischenspeichert;
einem Tiefenpuffer (39) zum Speichern von Tiefenwerten des Graphikgrundelements;
einem Farbpuffer (38) zum Speichern von Farbwerten des Graphikgrundelements; und
wobei der Zentralprozessor (22) die Farbwerte in dem Farbpuffer und die Tiefenwerte in dem Tiefenpuffer (39) speichert, wenn die Logikschaltung (34) den ersten logischen Wert für das Graphikgrundelement zwischen speichert.
einem Zentralprozessor (22);
einer Tiefenvergleichsschaltung (33) zum Empfangen eines Graphikgrundelements von dem Zentralprozessor (22) und zum Vergleichen eines ankommenden Tiefenwerts (z) für jede Adresse in dem Graphikgrundelement mit einem gegen wärtigen Tiefenwert für ein aufbereitetes Pixel bei ei ner entsprechenden Adresse, wobei die Tiefenvergleichs schaltung (33) ein Ergebnissignal mit einem ersten logi schen Wert, wenn der ankommende Tiefenwert eine Tiefen vergleichsfunktion besteht, und mit einem zweiten logi schen Wert erzeugt, wenn der ankommende Tiefenwert die Tiefenvergleichsfunktion nicht besteht;
einer Logikschaltung (34) zum Empfangen des Ergebnis signals der Tiefenvergleichsschaltung (33) und zum Erzeugen eines Tiefenvergleichssignals, wobei die Logik schaltung (34) das Tiefenvergleichssignal bei dem ersten logischen Wert beim Empfang des Ergebnissignals mit dem ersten logischen Wert zwischenspeichert;
einem Tiefenpuffer (39) zum Speichern von Tiefenwerten des Graphikgrundelements;
einem Farbpuffer (38) zum Speichern von Farbwerten des Graphikgrundelements; und
wobei der Zentralprozessor (22) die Farbwerte in dem Farbpuffer und die Tiefenwerte in dem Tiefenpuffer (39) speichert, wenn die Logikschaltung (34) den ersten logischen Wert für das Graphikgrundelement zwischen speichert.
2. Verdeckungsausleseschaltung gemäß Anspruch 1,
bei der die Logikschaltung (34) eine logische
ODER-Funktion (34) mit einem Ausgang zu einem Tiefenver
gleichsergebnisregister (35) aufweist, wobei dieselbe
ferner Eingänge von der Tiefenvergleichsschaltung (33)
und dem Tiefenvergleichsergebnisregister (35) aufweist.
3. Verdeckungsausleseschaltung gemäß Anspruch 1 oder 2, die
ferner folgendes Merkmal aufweist:
eine Farbmaskenschaltung (36) zum Speichern der Farbwer te und zum Senden der Farbwerte zu dem Farbpuffer (38), wenn der erste logische Wert von der Logikschaltung zwi schengespeichert wird.
eine Farbmaskenschaltung (36) zum Speichern der Farbwer te und zum Senden der Farbwerte zu dem Farbpuffer (38), wenn der erste logische Wert von der Logikschaltung zwi schengespeichert wird.
4. Verdeckungsausleseschaltung gemäß einem der vorhergehen
den Ansprüche,
bei der jede Adresse des Graphikgrundelements einem Pi xel in dem Graphikgrundelement entspricht, und
bei der die Tiefenvergleichsfunktion eine Bestimmung umfaßt, ob das Pixel des Graphikgrundelements vor dem aufbereiteten Pixel ist.
bei der jede Adresse des Graphikgrundelements einem Pi xel in dem Graphikgrundelement entspricht, und
bei der die Tiefenvergleichsfunktion eine Bestimmung umfaßt, ob das Pixel des Graphikgrundelements vor dem aufbereiteten Pixel ist.
5. Verdeckungsausleseschaltung gemäß einem der Ansprüche 1
bis 3,
bei der jede Adresse des Graphikgrundelements einem Pi xel in dem Graphikgrundelement entspricht; und
bei der die Tiefenvergleichsfunktion eine Bestimmung aufweist, ob das Pixel des Graphikgrundelements hinter dem aufbereiteten Pixel ist.
bei der jede Adresse des Graphikgrundelements einem Pi xel in dem Graphikgrundelement entspricht; und
bei der die Tiefenvergleichsfunktion eine Bestimmung aufweist, ob das Pixel des Graphikgrundelements hinter dem aufbereiteten Pixel ist.
6. Verdeckungsausleseschaltung gemäß einem der Ansprüche 1
bis 3,
bei der jede Adresse des Graphikgrundelements einem Pi xel in dem Graphikgrundelement entspricht, und
bei der die Tiefenvergleichsfunktion eine Bestimmung um faßt, ob das Pixel des Graphikgrundelements gleich dem aufbereiteten Pixel ist.
bei der jede Adresse des Graphikgrundelements einem Pi xel in dem Graphikgrundelement entspricht, und
bei der die Tiefenvergleichsfunktion eine Bestimmung um faßt, ob das Pixel des Graphikgrundelements gleich dem aufbereiteten Pixel ist.
7. Verdeckungsausleseschaltung gemäß einem der vorhergehen
den Ansprüche,
die ferner eine Schalteinrichtung (37) zum Freigeben und
Sperren einer Speicherung des ankommenden Tiefenwerts in
dem Tiefenpuffer basierend darauf, ob der erste logische
Wert von der Logikschaltung zwischengespeichert ist,
aufweist.
8. Verdeckungsausleseschaltung gemäß einem der vorhergehen
den Ansprüche,
bei der die Tiefenvergleichsschaltung (33) den gegen
wärtigen Tiefenwert von dem Tiefenpuffer (39) empfängt.
9. Verdeckungsausleseschaltung gemäß einem der vorhergehen
den Ansprüche,
bei der der Zentralprozessor (22) ein Begrenzungsvolumen
für die Graphikgrundelemente bestimmt.
10. Verdeckungsausleseschaltung gemäß einem der Ansprüche 3
bis 9,
bei der die Farbmaskenschaltung (39) Komponenten von
Farbdaten, die dem Farbdatenpuffer (38) zugeführt wer
den, selektiv sperren kann.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US690433 | 1991-04-24 | ||
US08/690,433 US5751291A (en) | 1996-07-26 | 1996-07-26 | System and method for accelerated occlusion culling |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19709220A1 true DE19709220A1 (de) | 1998-01-29 |
DE19709220B4 DE19709220B4 (de) | 2004-12-02 |
Family
ID=24772435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19709220A Expired - Fee Related DE19709220B4 (de) | 1996-07-26 | 1997-03-06 | System und Verfahren für eine beschleunigte Verdeckungsauslese |
Country Status (3)
Country | Link |
---|---|
US (2) | US5751291A (de) |
JP (1) | JPH1079044A (de) |
DE (1) | DE19709220B4 (de) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6195105B1 (en) * | 1998-03-24 | 2001-02-27 | Ati Technologies, Inc. | Method and apparatus for improved concurrent video graphic processing |
US6246415B1 (en) * | 1998-04-30 | 2001-06-12 | Silicon Graphics, Inc. | Method and apparatus for culling polygons |
US6456285B2 (en) * | 1998-05-06 | 2002-09-24 | Microsoft Corporation | Occlusion culling for complex transparent scenes in computer generated graphics |
US6359629B1 (en) | 1998-07-06 | 2002-03-19 | Silicon Graphics, Inc. | Backface primitives culling |
US6646639B1 (en) | 1998-07-22 | 2003-11-11 | Nvidia Corporation | Modified method and apparatus for improved occlusion culling in graphics systems |
US7068272B1 (en) | 2000-05-31 | 2006-06-27 | Nvidia Corporation | System, method and article of manufacture for Z-value and stencil culling prior to rendering in a computer graphics processing pipeline |
US6771264B1 (en) * | 1998-08-20 | 2004-08-03 | Apple Computer, Inc. | Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor |
AU5688199A (en) | 1998-08-20 | 2000-03-14 | Raycer, Inc. | System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline |
US6727900B1 (en) * | 1998-09-07 | 2004-04-27 | Renesas Technology Corp. | Semiconductor integrated circuit device |
JP4240343B2 (ja) * | 1998-12-19 | 2009-03-18 | 株式会社セガ | 画像生成装置および画像生成方法 |
US6342884B1 (en) * | 1999-02-03 | 2002-01-29 | Isurftv | Method and apparatus for using a general three-dimensional (3D) graphics pipeline for cost effective digital image and video editing, transformation, and representation |
JP3350473B2 (ja) | 1999-03-17 | 2002-11-25 | 富士通株式会社 | オクルージョンカリングを行う3次元グラフィックス描画装置および方法 |
US6476806B1 (en) | 1999-04-16 | 2002-11-05 | Hewlett-Packard Company | Method and apparatus for performing occlusion testing while exploiting frame to frame temporal coherence |
US6727899B2 (en) | 1999-04-16 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | System and method for occlusion culling graphical data |
US6414680B1 (en) | 1999-04-21 | 2002-07-02 | International Business Machines Corp. | System, program product and method of rendering a three dimensional image on a display |
US6603474B1 (en) | 1999-05-27 | 2003-08-05 | International Business Machines Corporation | Method and apparatus for occlusion culling of objects in a data processing system |
US6271851B1 (en) * | 1999-07-26 | 2001-08-07 | Silicon Integrated Systems Corporation | Z-buffer pre-test for 3D graphic performance enhancement |
US6717577B1 (en) | 1999-10-28 | 2004-04-06 | Nintendo Co., Ltd. | Vertex cache for 3D computer graphics |
US6618048B1 (en) | 1999-10-28 | 2003-09-09 | Nintendo Co., Ltd. | 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components |
US6844880B1 (en) | 1999-12-06 | 2005-01-18 | Nvidia Corporation | System, method and computer program product for an improved programmable vertex processing model with instruction set |
US6850338B1 (en) | 2000-05-12 | 2005-02-01 | International Business Machines Corporation | Method, system, program, and data structure for generating raster objects |
US6894796B1 (en) | 2000-05-12 | 2005-05-17 | International Business Machines Corporation | Method, system, and logic for selecting line work and control data for a pixel from multiple objects of line work data provided for the pixel |
US6804411B1 (en) | 2000-05-15 | 2004-10-12 | International Business Machines Corporation | Method, system, and program for decompressing and aligning line work data from multiple objects |
US6961134B1 (en) | 2000-05-15 | 2005-11-01 | International Business Machines Corporation | Method, system, and logic using multiplexers to select data for pixels from multiple objects |
US7394568B1 (en) | 2000-05-15 | 2008-07-01 | Infoprint Solutions Company Llc | Method, system, and logic for selecting pixel data from multiple objects |
US6449328B1 (en) | 2000-05-15 | 2002-09-10 | International Business Machines Corporation | Method and apparatus for shifting data from registers |
US6636214B1 (en) | 2000-08-23 | 2003-10-21 | Nintendo Co., Ltd. | Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode |
US6707458B1 (en) | 2000-08-23 | 2004-03-16 | Nintendo Co., Ltd. | Method and apparatus for texture tiling in a graphics system |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for a graphics system |
US7196710B1 (en) | 2000-08-23 | 2007-03-27 | Nintendo Co., Ltd. | Method and apparatus for buffering graphics data in a graphics system |
US6664958B1 (en) | 2000-08-23 | 2003-12-16 | Nintendo Co., Ltd. | Z-texturing |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter having reconfigurable pixel formats |
ATE329330T1 (de) * | 2000-12-18 | 2006-06-15 | Lightspace Technologies Inc | Rasterung von dreidimensionalen bildern |
US7456838B1 (en) | 2001-06-08 | 2008-11-25 | Nvidia Corporation | System and method for converting a vertex program to a binary format capable of being executed by a hardware graphics pipeline |
EP1306810A1 (de) * | 2001-10-25 | 2003-05-02 | STMicroelectronics Limited | Identifikationpuffer von dreiecken |
JP3794681B2 (ja) * | 2001-11-29 | 2006-07-05 | 株式会社スクウェア・エニックス | ビデオゲーム処理方法及びビデオゲーム処理装置及びビデオゲームのプログラム及びビデオゲームのプログラムを記録した記録媒体 |
US6744434B2 (en) | 2001-11-30 | 2004-06-01 | Caterpillar Inc | Cuts removal system for triangulated CAD Models |
US6897863B2 (en) * | 2001-11-30 | 2005-05-24 | Caterpillar Inc | System and method for hidden object removal |
US6952206B1 (en) * | 2002-08-12 | 2005-10-04 | Nvidia Corporation | Graphics application program interface system and method for accelerating graphics processing |
US7301537B2 (en) * | 2002-12-20 | 2007-11-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Graphics processing apparatus, methods and computer program products using minimum-depth occlusion culling and zig-zag traversal |
FI20030072A (fi) * | 2003-01-17 | 2004-07-18 | Hybrid Graphics Oy | Piiloalueiden poistomenetelmä |
US7154499B2 (en) * | 2003-05-13 | 2006-12-26 | Via Technologies, Inc. | Two-level rejection in 3D graphics |
US7450120B1 (en) | 2003-12-19 | 2008-11-11 | Nvidia Corporation | Apparatus, system, and method for Z-culling |
US7995056B1 (en) * | 2003-12-22 | 2011-08-09 | Nvidia Corporation | Culling data selection system and method |
US8854364B1 (en) | 2003-12-22 | 2014-10-07 | Nvidia Corporation | Tight depth range occlusion prediction system and method |
US8269769B1 (en) | 2003-12-22 | 2012-09-18 | Nvidia Corporation | Occlusion prediction compression system and method |
US8390619B1 (en) | 2003-12-22 | 2013-03-05 | Nvidia Corporation | Occlusion prediction graphics processing system and method |
US7599044B2 (en) | 2005-06-23 | 2009-10-06 | Apple Inc. | Method and apparatus for remotely detecting presence |
US7242169B2 (en) * | 2005-03-01 | 2007-07-10 | Apple Inc. | Method and apparatus for voltage compensation for parasitic impedance |
US7425956B1 (en) | 2005-06-21 | 2008-09-16 | Nvidia Corporation | System and method for occlusion testing with deferred rendering |
US9298311B2 (en) * | 2005-06-23 | 2016-03-29 | Apple Inc. | Trackpad sensitivity compensation |
US7577930B2 (en) | 2005-06-23 | 2009-08-18 | Apple Inc. | Method and apparatus for analyzing integrated circuit operations |
US7433191B2 (en) * | 2005-09-30 | 2008-10-07 | Apple Inc. | Thermal contact arrangement |
US7598711B2 (en) * | 2005-11-23 | 2009-10-06 | Apple Inc. | Power source switchover apparatus and method |
US7847798B1 (en) * | 2006-10-24 | 2010-12-07 | Adobe Systems Incorporated | Clipping and culling artwork using a graphics processing unit |
US8184118B2 (en) * | 2007-05-01 | 2012-05-22 | Advanced Micro Devices, Inc. | Depth operations |
US8184117B2 (en) * | 2007-05-01 | 2012-05-22 | Advanced Micro Devices, Inc. | Stencil operations |
US10115221B2 (en) * | 2007-05-01 | 2018-10-30 | Advanced Micro Devices, Inc. | Stencil compression operations |
US8471853B2 (en) * | 2007-10-26 | 2013-06-25 | Via Technologies, Inc. | Reconstructable geometry shadow mapping method |
US8878849B2 (en) * | 2007-12-14 | 2014-11-04 | Nvidia Corporation | Horizon split ambient occlusion |
US8547382B2 (en) * | 2008-05-30 | 2013-10-01 | Advanced Micro Devices, Inc. | Video graphics system and method of pixel data compression |
GB0810205D0 (en) | 2008-06-04 | 2008-07-09 | Advanced Risc Mach Ltd | Graphics processing systems |
GB2475375B (en) * | 2008-06-04 | 2011-12-14 | Advanced Risc Mach Ltd | Graphics processing systems |
JP4733757B2 (ja) * | 2009-06-05 | 2011-07-27 | 株式会社スクウェア・エニックス | ポリゴン処理装置,プログラム及び情報記録媒体 |
US8692829B2 (en) * | 2009-10-05 | 2014-04-08 | Nvidia Corporation | Calculation of plane equations after determination of Z-buffer visibility |
CN102629389B (zh) * | 2012-02-24 | 2014-07-30 | 福建天趣网络科技有限公司 | 基于扫描射线的3d场景裁剪方法 |
US10008029B2 (en) | 2013-05-31 | 2018-06-26 | Nvidia Corporation | Updating depth related graphics data |
US9418400B2 (en) | 2013-06-18 | 2016-08-16 | Nvidia Corporation | Method and system for rendering simulated depth-of-field visual effect |
US11176734B1 (en) * | 2020-10-06 | 2021-11-16 | Qualcomm Incorporated | GPU hardware-based depth buffer direction tracking |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62165279A (ja) * | 1986-01-17 | 1987-07-21 | Fanuc Ltd | 図形抽出方式 |
US5245700A (en) * | 1989-11-21 | 1993-09-14 | International Business Machines Corporation | Adjustment of z-buffer values for lines on the surface of a polygon |
US5557711A (en) * | 1990-10-17 | 1996-09-17 | Hewlett-Packard Company | Apparatus and method for volume rendering |
US5542025A (en) * | 1991-01-16 | 1996-07-30 | Hewlett-Packard Company | Precision Z-interpolation method and apparatus |
TW241196B (de) * | 1993-01-15 | 1995-02-21 | Du Pont | |
US5583974A (en) * | 1993-05-10 | 1996-12-10 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer Z-buffer |
JP3037865B2 (ja) * | 1994-04-01 | 2000-05-08 | シャープ株式会社 | 3次元スプライト描画装置 |
US5561750A (en) * | 1994-09-22 | 1996-10-01 | Seiko Epson Corporation | Z-buffer tag memory organization |
-
1996
- 1996-07-26 US US08/690,433 patent/US5751291A/en not_active Expired - Lifetime
-
1997
- 1997-03-06 DE DE19709220A patent/DE19709220B4/de not_active Expired - Fee Related
- 1997-07-01 JP JP9176062A patent/JPH1079044A/ja active Pending
-
1998
- 1998-02-06 US US09/020,189 patent/US6094200A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6094200A (en) | 2000-07-25 |
DE19709220B4 (de) | 2004-12-02 |
JPH1079044A (ja) | 1998-03-24 |
US5751291A (en) | 1998-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19709220B4 (de) | System und Verfahren für eine beschleunigte Verdeckungsauslese | |
DE69919497T2 (de) | Verfahren und Gerät zur Volumendarstellung mit mehreren Tiefenpuffern | |
DE69636599T2 (de) | Verfahren und system zur wiedergabe von grafischen objekten durch teilung in bildstücke und zusammensetzen von bildlagen zu einem wiedergabebild | |
DE10296401B4 (de) | Verbund-Rendering von 3-D-Graphikobjekten | |
DE19827726B4 (de) | Verfahren und Vorrichtung zum Liefern von Polygonpixelunterabtastinformationen unter Verwendung einer Inkrementaleinrichtung | |
DE69333379T2 (de) | Vorrichtung und Verfahren zur Verarbeitung von Videosignalen | |
DE69632578T2 (de) | Computer-grafiksystem zum schaffen und verbessern von texturabbildungssystemen | |
DE69725057T2 (de) | Gleitkommaprozessor für einen dreidimensionalen graphischen Beschleuniger | |
DE69839277T2 (de) | Verfahren und anordnung zur ausführung von farbschlüsseln, transparenz und nebelfunktionen | |
DE69635403T2 (de) | Grafikbibliothek auf geteilten Ebenen | |
DE60306813T2 (de) | Grafikverarbeitugsvorrichtung, verfahren und computerprogrammprodukte mit minimaltiefenokklusions-culling und zickzack-durchquerung | |
DE69836924T2 (de) | Block- und bandorientierter durchlauf in dreidimensionaler dreieckswiedergabe | |
DE69908966T3 (de) | Schattierung von 3-dimensionalen rechner-erzeugten bildern | |
DE69914355T2 (de) | Bildverarbeitungsgerät | |
EP0984397B1 (de) | Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster | |
DE60120474T2 (de) | Rasterung von dreidimensionalen bildern | |
DE60000686T2 (de) | Graphisches system mit super-abgetastetem musterpuffer mit erzeugung von ausgangpixeln unter verwendung von selektiven adjustierung der filterung zur artifaktverminderung | |
DE69529500T2 (de) | Verwendung von abgetasteten Bildern in einem Bildzusammensetzungssystem | |
DE69917799T2 (de) | Texturierungssysteme zur verwendung in drei-dimensionalen abbildungssystemen | |
DE19709227B4 (de) | Verfahren zum schnellen Herunterladen von Texturen auf eine Hardware für beschleunigte Graphiken und zur Beseitigung von zusätzlichen Softwarekopien von Texeln | |
DE602004003111T2 (de) | Tiefen-basiertes Antialiasing | |
DE19713654B4 (de) | Progressiv darstellbare Umrissschrift und Verfahren zum Erzeugen, Übertragen und Darstellen derselben | |
DE102013017639A1 (de) | Zwischenspeicherung von adaptiv dimensionierten Cache-Kacheln in einem vereinheitlichen L2-Cache-Speicher mit Oberflächenkomprimierung | |
DE60008867T2 (de) | Antialiasingverfahren und -anordnung zur effizienten nutzung von wenigen mischeinheiten | |
DE102013114176A1 (de) | Tessellieren von Oberflächendatensegmenten beim kachelbasierten Rendern von Computergrafik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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), |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |