DE19709220B4 - System und Verfahren für eine beschleunigte Verdeckungsauslese - Google Patents

System und Verfahren für eine beschleunigte Verdeckungsauslese Download PDF

Info

Publication number
DE19709220B4
DE19709220B4 DE19709220A DE19709220A DE19709220B4 DE 19709220 B4 DE19709220 B4 DE 19709220B4 DE 19709220 A DE19709220 A DE 19709220A DE 19709220 A DE19709220 A DE 19709220A DE 19709220 B4 DE19709220 B4 DE 19709220B4
Authority
DE
Germany
Prior art keywords
depth
circuit
value
graphics
pixel
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.)
Expired - Fee Related
Application number
DE19709220A
Other languages
English (en)
Other versions
DE19709220A1 (de
Inventor
Daniel M. Fort Collins Olsen
Noel D. Fort Collins Scott
Robert J. Fort Collins Casey
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE19709220A1 publication Critical patent/DE19709220A1/de
Application granted granted Critical
Publication of DE19709220B4 publication Critical patent/DE19709220B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/40Hidden part removal
    • G06T15/405Hidden part removal using Z-buffer

Abstract

Verdeckungsausleseschaltung (30) zur Verwendung bei einem Graphikcomputer (20), mit folgenden Merkmalen:
einem Zentralprozessor (22), der ein Begrenzungsvolumen bestimmt und Graphikgrundelemente mit dem Begrenzungsvolumen sendet;
einer Tiefenvergleichsschaltung (33) zum Empfangen der Graphikgrundelemente von dem Zentralprozessor (22) und zum Vergleichen eines ankommenden Tiefenwerts (z) für jede Adresse in den Graphikgrundelementen mit einem gegenwärtigen Tiefenwert für ein aufbereitetes Pixel bei einer entsprechenden Adresse, wobei die Tiefenvergleichsschaltung (33) ein Ergebnissignal mit einem ersten logischen Wert, wenn der ankommende Tiefenwert eine Tiefenvergleichsfunktion besteht, und mit einem zweiten logischen Wert erzeugt, wenn der ankommende Tiefenwert die Tiefenvergleichsfunktion nicht besteht;
einer Logikschaltung (34) zum Empfangen des Ergebnissignals der Tiefenvergleichsschaltung (33) und zum Erzeugen eines Tiefenvergleichssignals, wobei die Logikschaltung (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 jedes Graphikgrundelements;
einem Farbpuffer (38) zum Speichern von Farbwerten...

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 zweidimensionalen Anzeigebildschirm darzustellen. Bei einem typischen Graphikcomputer wird ein aufzubereitendes Objekt in eine Vielzahl von Graphikgrundelementen aufgeteilt. Die Graphikgrundelemente sind Grundkomponenten eines Graphikbildes 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 1 gezeigt und umfaßt eine Transformationseinheit 12 zum Umwandeln von Eingabegrundelementdaten von einem Koordinatenraum 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 Abschneideeinheit 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 schaffen, werden die Koordinaten ferner an der Perspektiventeilungseinheit 15 durch die Tiefenkomponente geteilt, derart, daß Objekte, die weiter weg sind, kleiner erscheinen. Bei einer Abtastumwandlungseinheit 15 werden Scheitel-Koordinaten 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 Farbindex. Es sollte offensichtlich sein, daß die Graphikpipeline 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 verglichen. Wenn die ankommenden Pixeldaten an dieser Adresse den Tiefentest gegen die gegenwärtig angezeigten Pixeldaten bestehen, dann wird die Steuerung den Farbpuffer und den Tiefenpuffer 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 angezeigte 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 Grundelemente aufbereitet werden. So kann bezüglich eines Beispiels 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 geschlossener 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 Grundelement 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 Grundelemente 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 EP 0606685 A beschreibt ein Computergraphiksystem, welches die Anzahl von Belichtungsberechnungen reduziert, die erforderlich sind, um eine Szene mit Objekten, die durch Lichtquellen beleuchtet sind, aufzubereiten. Hier wird jedes Graphikgrundelement individuell analysiert, wobei die individuelle Prüfung, ob ein Graphikgrundelement weiterverarbeitet werden soll, jeweils vor der Analyse eines weiteren Graphikgrundelements erfolgt.
  • Die EP 0255544 A beschreibt eine Figurverarbeitungsvorrichtung, die eine dreidimensionale Figur basierend auf dreidimensionalen Figurdaten auf einem Bildschirm darstellt, mit Ausnahme der verdeckten Abschnitte der Figur. Ein Fenster ist vorgesehen, um einen vorbestimmten Bereich auf dem Bildschirm festzulegen, wobei diejenigen dreidimensionalen Figurdaten abgeschnitten werden, die außerhalb des Fensters liegen.
  • Foley, u.a. beschreibt in "Computer Graphics Principles and Practice, Addison-Wesley, 1990, Seiten 660–663 die Bestimmung von sichtbaren Oberflächen bei Graphikelementen, wobei hier basierend auf Projektionen der Graphikelemente in eine gemeinsame Ebene eine Überdeckung festgestellt wird.
  • Ausgehend von diesem Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, eine verbesserte Verdeckungsausleseschaltung zu schaffen, die bestimmt, ob ein Graphikgrundelement vollständig verdeckt ist, um so eine Verarbeitungszeit eines Graphikcomputers zu reduzieren.
  • Diese Aufgabe wird durch eine Verdeckungsausleseschaltung gemäß Anspruch 1 gelöst.
  • Ein Vorteil der vorliegenden Erfindung besteht darin, daß sie ein System zur Verwendung in einem Graphikcomputer schafft, welcher schnell Graphikgrundelemente aufbereiten und anzeigen kann.
  • Zusätzliche Vorteile und neue Merkmale der Erfindung werden in der nachfolgenden Beschreibung dargelegt und werden Fachleuten 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ührungsbeispiel der vorliegenden Erfindung einen Zentralprozessor, eine Tiefenvergleichsschaltung, eine Logikschaltung, einen Tiefenpuffer und einen Farbpuffer. Der Zentralprozessor liefert die Graphikgrundelemente, die aufbereitet werden sollen, und verwaltet bestimmte Operationen der Verdeckungsausleseschaltung. Die Tiefenvergleichsschaltung ist konfiguriert, 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 entsprechenden 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 Ergebnissignal 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ährend der Farbpuffer vorgesehen ist, um Farbwerte der Graphikgrundelemente zu speichern.
  • Demgemäß speichert der Zentralprozessor Farbwerte und Tiefenwerte 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 Zeichnungen detaillierter erläutert. Es zeigen:
  • 1 ein Blockdiagramm einer Graphikpipeline;
  • 2 ein Blockdiagramm eines Graphikcomputers;
  • 3 ein schematisches Diagramm einer Verdeckungsausleseschaltung gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung; und
  • 4 ein Flußdiagramm eines Verfahrens zum Verdeckungsauslesen gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung.
  • In 2 ist ein Graphikcomputer 20 gemäß einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung gezeigt, wobei 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 Beschreibung ersichtlich ist, steuert derselbe ferner bestimmte Operationen innerhalb der Graphikbeschleunigungsplatine 24.
  • Die Graphikbeschleunigungsplatine 24 führt die Funktionen einer typischen Graphikpipeline, wie z. B. der Graphikpipeline 10 in 1, durch und umfaßt im allgemeinen eine Geometriebeschleunigungsplatine 26 und eine Rasterisierungsplatine 28. Der Betrieb der Geometriebeschleunigungsplatine 26 bildet keinen Teil der vorliegenden Erfindung, und es kann jede geeignete Geometriebeschleunigungsplatine 26 verwendet 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 gezeigte Beispiel begrenzt ist, sondern daß derselbe zusätzlich andere Elemente, wie z. B. eine Texturabbildungsplatine, enthalten kann.
  • Eine Verdeckungsausleseschaltung 30 gemäß einem bevorzugten Ausführungsbeispiel der Erfindung ist in 3 gezeigt. Im allgemeinen empfängt die Verdeckungsausleseschaltung 30 Pixeldaten, die Pixelkoordinaten x und y, Tiefenwerte z und Farbdaten r, b, g und a oder einen Farbindex aufweisen, wobei 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 Farbpuffer 38 speichert.
  • Insbesondere werden die Eingangsdaten zu einer Tiefenvergleichsschaltung 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 Tiefenvergleichsschaltung 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 Tiefenvergleichsergebnisregister 35 gespeichert wird. Der in dem Tiefenvergleichsergebnisregister 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 Pixeldaten werden einem Adreßeingang sowohl des Tiefenpuffers 39 als auch des Farbpuffers 38 zugeführt. Wenn ein Tiefenmaskenschalter 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 ähnliche 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 logischer 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 Ausgangssignal der Tiefenvergleichsschaltung 33 ein logischer Wert von 0 ist, bleiben die Schreiben-Freigabe-Eingänge des Tiefenpuffers 39 und des Farbpuffers 38 gesperrt.
  • Die Schaltung 33 kann beispielsweise in einer Schnittstelle OpenGL (OpenGL ist eine eingetragene Marke) betrieben werden, 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 3 gezeigt ist, verwendet die Schaltung 30 einen 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 Tiefenvergleichsschaltung 33 steuert. Während die Schaltung 33 typischerweise die ankommenden Pixeldaten z mit den gegenwärtigen 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ühren. 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 Softwareimplementation begrenzt ist, sondern daß sie, wie es für Fachleute offensichtlich ist, in anderer Software oder in Hardware implementiert sein kann.
  • Die Verdeckungsausleseschaltung 30 ist vorzugsweise in einer Kombination von Hardware und Software implementiert. Bestimmte Merkmale der Schaltung 30 sind andererseits vorzugsweise in Hardware implementiert. Die logische ODER-Schaltung 24 umfaßt beispielsweise eine Halbleiterschaltung, das Tiefenvergleichsergebnisregister 35 umfaßt ein Halbleiterregister, und der Tiefen- und der Farbpuffer 39 und 38 umfassen eine herkömmliche Tiefen- und eine Farbpufferspeicherschaltung. Es sollte offensichtlich sein, daß nicht alle der ge nannten Komponenten in Hardware, sondern alternativ ebenfalls in Software implementiert sein können.
  • Nachfolgend wird der Betrieb der Verdeckungsausleseschaltung 30 bezugnehmend auf ein Flußdiagramm 40, das in 4 gezeigt ist, beschrieben. In einem Schritt 41 wird das Tiefenvergleichsergebnisregister 35 gelöscht, derart, daß es einen logischen Wert von 0 speichert. Der Hostcomputer 22 tastet in einem Schritt 42 die Graphikgrundelementdaten eines Objekts, das aufbereitet werden soll, ab und bestimmt ein Begrenzungsvolumen 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 beliebige 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 maximalen und minimalen Wert entlang der y-Achse und den maximalen 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ändig umgibt. da ein Würfel nicht das minimale Begrenzungsvolumen ist, kann der Hostcomputer 22 alternativ ein Begrenzungsvolumen mit einer anderen Form oder ein Begrenzungsvolumen, das durch mehr als eine Form definiert ist, verwenden.
  • Anschließend werden in einem Schritt 43 die Graphikgrundelementdaten der Grundelemente, die das begrenzte Volumen definieren, von dem Hostcomputer 22 in die Verdeckungsausleseschaltung 30 eingegeben. In einem Schritt 44 wird das Schreiben für sowohl den Farbpuffer 38 als auch den Tiefenpuffer 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 Farbpuffers 38 oder des Tiefenpuffers 39 gemäß der vorliegenden Erfindung liefert.
  • Die Verdeckungsausleseschaltung 30 vergleicht in einem Schritt 45 die Tiefe jedes Pixels der Graphikgrundelemente, die das Begrenzungsvolumen definieren, mit den bereits aufbereiteten Grundelementen. In diesem Schritt ist der Tiefenmaskenschalter 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 Tiefenvergleichsschaltung 33 zugeführt, wobei ihre zugeordneten Koordinaten x und y dem Tiefenpuffer 39, um die gegenwärtigen 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ärtige Tiefenvergleichsfunktion bestehen, dann wird die Tiefenvergleichsschaltung 33 eine logische 0 ausgeben, welche in die ODER-Schaltung 34 eingespeist wird. Wenn andererseits das ankommende Pixel die gegenwärtige Tiefenvergleichsfunktion besteht, dann wird die Tiefenvergleichs schaltung 33 eine logische 1 ausgeben, welche in die ODER-Schaltung 34 eingespeist wird. Aufgrund der Rückkopplung von dem Tiefenvergleichsergebnisregister 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 begrenzten Volumen umgeben werden, aufbereitet.
  • Der Schritt 48 stellt das herkömmliche Verfahren zum Vergleichen jedes Pixels in dem Grundelement mit dem gegenwärtigen 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 Graphikgrundelement 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 Tiefenpuffer 38 und 39 für jedes Pixel in jedem Graphikgrundelement freigegeben oder gesperrt worden ist, vermeidet die vorliegende Erfindung diese unnütze Verarbeitungszeit durch schnelles Bestimmen, ob eine ganze Gruppe von Graphikgrundelementen 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 definieren, mit den gegenwärtig aufbereiteten Grundelementen können viel schneller als das herkömmliche Verfahren des Aufbereitens jedes Pixels in den ankommenden Graphikgrundelementen durchgeführt werden. Der Wirkungsgrad und die Geschwindigkeit eines Graphikcomputers werden daher wesentlich verbessert.
  • Der Wirkungsgrad und die Geschwindigkeit eines Graphikcomputers werden ebenfalls verbessert, da die Verdeckungsausleseschaltung 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 Graphikgrundelementen für den Motor verarbeitet wird, kann der Hostcomputer 22 ein Begrenzungsvolumen für den Motor bestimmen und dieses Begrenzungsvolumen durch die Verdeckungsausleseschaltung 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 Wirkungsgrad des Graphikcomputers 20 wesentlich verbessern.

Claims (10)

  1. Verdeckungsausleseschaltung (30) zur Verwendung bei einem Graphikcomputer (20), mit folgenden Merkmalen: einem Zentralprozessor (22), der ein Begrenzungsvolumen bestimmt und Graphikgrundelemente mit dem Begrenzungsvolumen sendet; einer Tiefenvergleichsschaltung (33) zum Empfangen der Graphikgrundelemente von dem Zentralprozessor (22) und zum Vergleichen eines ankommenden Tiefenwerts (z) für jede Adresse in den Graphikgrundelementen mit einem gegenwärtigen Tiefenwert für ein aufbereitetes Pixel bei einer entsprechenden Adresse, wobei die Tiefenvergleichsschaltung (33) ein Ergebnissignal mit einem ersten logischen Wert, wenn der ankommende Tiefenwert eine Tiefenvergleichsfunktion besteht, und mit einem zweiten logischen Wert erzeugt, wenn der ankommende Tiefenwert die Tiefenvergleichsfunktion nicht besteht; einer Logikschaltung (34) zum Empfangen des Ergebnissignals der Tiefenvergleichsschaltung (33) und zum Erzeugen eines Tiefenvergleichssignals, wobei die Logikschaltung (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 jedes Graphikgrundelements; einem Farbpuffer (38) zum Speichern von Farbwerten jedes Graphikgrundelements; und wobei der Zentralprozessor (22) die Farbwerte in dem Farbpuffer und die Tiefenwerte in dem Tiefenpuffer (39) speichert, als Reaktion auf ein Zwischenspeichern des Tiefenvergleichssignals mit dem ersten logischen Wert durch die Logikschaltung (34).
  2. Verdeckungsausleseschaltung gemäß Anspruch 1, bei der die Logikschaltung (34) eine logische ODER-Funktion (34) mit einem Ausgang zu einem Tiefenvergleichsergebnisregister (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 Farbwerte und zum Senden der Farbwerte zu dem Farbpuffer (38), wenn der erste logische Wert von der Logikschaltung zwischengespeichert wird.
  4. Verdeckungsausleseschaltung gemäß einem der vorhergehenden Ansprüche, bei der jede Adresse der Graphikgrundelemente einem Pixel in den Graphikgrundelementen entspricht, und bei der die Tiefenvergleichsfunktion eine Bestimmung umfaßt, ob das Pixel der Graphikgrundelemente vor dem aufbereiteten Pixel ist.
  5. Verdeckungsausleseschaltung gemäß einem der Ansprüche 1 bis 3, bei der jede Adresse der Graphikgrundelemente einem Pixel in den Graphikgrundelementen entspricht; und bei der die Tiefenvergleichsfunktion eine Bestimmung aufweist, ob das Pixel der Graphikgrundelemente hinter dem aufbereiteten Pixel ist.
  6. Verdeckungsausleseschaltung gemäß einem der Ansprüche 1 bis 3, bei der jede Adresse der Graphikgrundelemente einem Pixel in den Graphikgrundelementen entspricht, und bei der die Tiefenvergleichsfunktion eine Bestimmung umfaßt, ob das Pixel der Graphikgrundelemente gleich dem aufbereiteten Pixel ist.
  7. Verdeckungsausleseschaltung gemäß einem der vorhergehenden 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 vorhergehenden Ansprüche, bei der die Tiefenvergleichsschaltung (33) den gegenwärtigen Tiefenwert von dem Tiefenpuffer (39) empfängt.
  9. Verdeckungsausleseschaltung gemäß einem der Ansprüche 3 bis 8, bei der die Farbmaskenschaltung (39) Komponenten von Farbdaten, die dem Farbdatenpuffer (38) zugeführt werden, selektiv sperren kann.
  10. Verdeckungsausleseschaltung gemäß Anspruch 1, bei dem die Logikschaltung (34) das Tiefenvergleichssignal nur dann löscht, nachdem die Tiefenvergleichsschaltung jedes der Graphikgrundelemente empfangen hat.
DE19709220A 1996-07-26 1997-03-06 System und Verfahren für eine beschleunigte Verdeckungsauslese Expired - Fee Related DE19709220B4 (de)

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 DE19709220A1 (de) 1998-01-29
DE19709220B4 true 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)

* Cited by examiner, † Cited by third party
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

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0255544A1 (de) * 1986-01-17 1988-02-10 Fanuc Ltd. Figuraufnahmesystem
EP0606685A1 (de) * 1993-01-15 1994-07-20 International Business Machines Corporation Methode und Apparat zur Reduktion von Beleuchtungsbereichnungendurch leistungsfähige Sicht-Feststellung

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0255544A1 (de) * 1986-01-17 1988-02-10 Fanuc Ltd. Figuraufnahmesystem
EP0606685A1 (de) * 1993-01-15 1994-07-20 International Business Machines Corporation Methode und Apparat zur Reduktion von Beleuchtungsbereichnungendurch leistungsfähige Sicht-Feststellung

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FOLEY, J.D. u.a.: Computer Graphics, Principles and Practice, Addison-Wesley, 1990, S. 660-663 *

Also Published As

Publication number Publication date
US6094200A (en) 2000-07-25
JPH1079044A (ja) 1998-03-24
US5751291A (en) 1998-05-12
DE19709220A1 (de) 1998-01-29

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
DE69914355T2 (de) Bildverarbeitungsgerät
DE69636599T2 (de) Verfahren und system zur wiedergabe von grafischen objekten durch teilung in bildstücke und zusammensetzen von bildlagen zu einem wiedergabebild
DE69839277T2 (de) Verfahren und anordnung zur ausführung von farbschlüsseln, transparenz und nebelfunktionen
DE69333379T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
DE60306813T2 (de) Grafikverarbeitugsvorrichtung, verfahren und computerprogrammprodukte mit minimaltiefenokklusions-culling und zickzack-durchquerung
DE10296401B4 (de) Verbund-Rendering von 3-D-Graphikobjekten
DE69635403T2 (de) Grafikbibliothek auf geteilten Ebenen
DE3335162C2 (de) Vorrichtung und Verfahren für graphische Darstellungen mittels Computer
EP0984397B1 (de) Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster
DE69908966T3 (de) Schattierung von 3-dimensionalen rechner-erzeugten bildern
DE60120474T2 (de) Rasterung von dreidimensionalen bildern
DE69632578T2 (de) Computer-grafiksystem zum schaffen und verbessern von texturabbildungssystemen
DE102006025030B4 (de) Gradientenfreies Shading für Volume-Rendering unter Verwendung von Schatteninformationen
DE60012917T2 (de) Verfahren und vorrichtung für eine antialiasing-operation auf impliziten kanten
DE60000686T2 (de) Graphisches system mit super-abgetastetem musterpuffer mit erzeugung von ausgangpixeln unter verwendung von selektiven adjustierung der filterung zur artifaktverminderung
DE19600431A1 (de) Computergraphik-Pixel-Wiedergabesystem mit Cache-Speichern
DE19709227B4 (de) Verfahren zum schnellen Herunterladen von Texturen auf eine Hardware für beschleunigte Graphiken und zur Beseitigung von zusätzlichen Softwarekopien von Texeln
DE112009000180T5 (de) Verfahren, Vorrichtung und Computerprogrammprodukt für eine verbesserte Grafikperformance
DE602004003111T2 (de) Tiefen-basiertes Antialiasing
DE60008867T2 (de) Antialiasingverfahren und -anordnung zur effizienten nutzung von wenigen mischeinheiten
DE3619420A1 (de) Computer-displayeinrichtung
DE102013114176A1 (de) Tessellieren von Oberflächendatensegmenten beim kachelbasierten Rendern von Computergrafik
DE4341304A1 (de) Verfahren und Vorrichtung zur Verwendung eines Videopuffers

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