DE68928818T2 - Texturabbildung für die steuereinheit eines computergrafikbildschirms - Google Patents

Texturabbildung für die steuereinheit eines computergrafikbildschirms

Info

Publication number
DE68928818T2
DE68928818T2 DE68928818T DE68928818T DE68928818T2 DE 68928818 T2 DE68928818 T2 DE 68928818T2 DE 68928818 T DE68928818 T DE 68928818T DE 68928818 T DE68928818 T DE 68928818T DE 68928818 T2 DE68928818 T2 DE 68928818T2
Authority
DE
Germany
Prior art keywords
texture
values
polynomial
display
illumination
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 - Lifetime
Application number
DE68928818T
Other languages
English (en)
Other versions
DE68928818D1 (de
Inventor
David B. Chelmsford Ma 01824 Kirk
Olin G. Chelmsford Ma 01824 Lathrop
Douglas A. Chelmsford Ma 01824 Voorhies
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
Application granted granted Critical
Publication of DE68928818D1 publication Critical patent/DE68928818D1/de
Publication of DE68928818T2 publication Critical patent/DE68928818T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/50Lighting effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Description

  • Diese Anmeldung ist eine Continuation-in-part-Anmeldung der US-Patentanmeldung Nr. 077,202, die der Apollo Computer Inc. übertragen ist und der am 9. Februar 1989 veröffentlichten WO89/01206 entspricht.
  • Hintergrund der Erfindung
  • Die vorliegende Erfindung bezieht sich im allgemeinen auf das Gebiet von Digitalcomputern und insbesondere auf eine Vorrichtung zum Steuern von Computergrafikanzeigen.
  • Eine wichtige Anwendung von Computergrafiken betrifft die Erzeugung realistischer Bilder von dreidimensionalen Objekten. Entwickler von dreidimensionalen Objekten, wie z. B. von Kraftfahrzeugen, Flugzeugen und anderen Strukturen, haben den Wunsch, eine visuelle Darstellung eines Vorentwurfs zu besitzen, um eine Implementierung von interaktiven Entwurfsänderungen vor dem Prototypenstadium zu erleichtern. Das Erzeugen realistischer computererzeugter Bilder ist ein schnelleres, weniger aufwendiges und ein effektiveres Verfahren zum Beurteilen von Vorentwürfen, als es das Aufbauen von Modellen und Prototypen ist. Insbesondere ermöglichen computererzeugte Bilder, daß eine größere Anzahl von alternativen Entwürfen in einer kürzeren Zeitperiode beurteilt bzw. ausgewertet werden kann. Häufig wird die Entwurfsarbeit selbst unter Verwendung einer CAD-Workstation (CAD; CAD = computer aided design = computerunterstützter Entwurf) oder einer anderen Entwicklungsworkstation auf einem Computersystem durchgeführt. In diesem Fall ist bereits eine digitalisierte Darstellung des dreidimensionalen Objekts verfügbar, um diese als Grundlage für das computererzeugte Bild zu verwenden.
  • Simulationssysteme sind eine weitere Anwendungsmöglichkeit für computererzeugte dreidimensionale Bilder. Diese Systeme verwenden Bilder, die nicht nur realistisch aussehen müssen, sondern sich auch dynamisch ändern müssen.
  • Ein Lösungsansatz, der dabei hilft, daß computererzeugte Bilder ein visuell realistisches Aussehen aufweisen, ist der des Oberflächenschattierens. Änderungen bei der Oberflächenschattierung fügen visuelle Informationen hinzu, die üblicherweise in einer visuellen Umgebung vorzufinden sind, so daß ein Tiefenwahrnehmungsmechanismus eines Beobachters beliebige Unklarheiten korrekt auflösen kann, die verursacht werden, wenn dreidimensionale Objekte in zwei Dimensionen projiziert werden. Eine Erzeugung eines schattierten Bildes ist folglich eine wichtige Fähigkeit von modernen Graphikworkstations. Außerdem suchen Ingenieure und Entwickler, die diese Workstations verwenden, nach "massiv aussehenden" Modellen, um mehr Forminformationen zu befördern. Die Erzeugung eines schattierten Bildes hilft dabei, realistische, masssiv aussehende Modelle zu erzeugen.
  • Eine realistische Darstellung von computererzeugten Bildern wird ferner durch ein Oberflächendetail gesteigert, das als "Textur" bezeichnet wird. Bei Computergraphiken wird eine "Textur" als Zusammenfassung von zwei Aspekten betrachtet. Der erste Aspekt der Textur besteht darin, das Aussehen von Rauhigkeit zu einer glatten Oberfläche hinzuzufügen. Das Aufnehmen des Aussehens von Rauhigkeit in eine Oberfläche ist hauptsächlich eine mathematische Normalenvektorstörungsoperation.
  • Der zweite Aspekt ist das Hinzufügen eines getrennt spezifizierten Musters zu einer glatten Oberfläche. Nachdem das Muster hinzugefügt ist, erscheint die Oberfläche immer noch glatt. Das Hinzufügen eines Musters auf diese Weise zu einer glatten Oberfläche ist größtenteils eine Abbildungsoperation, die als "Texturabbildung" bezeichnet wird.
  • Die Texturabbildung ist eine wichtige Technik bei Computergraphiken, wobei verschiedene Verfahren zum Implementieren einer Texturabbildung entwickelt worden sind. Ein solches Verfahren ist in " ," von Oka u. a., Computer Graphics, Bd. 21, Nr. 4, Seiten 181-188, 1987, beschrieben. Die Texturabbildung wird ferner im allgemeinen bei Rogers, David F., " ," McGraw-Hill, 1985, Seiten 354-363, erörtert.
  • Da die Grundlage für das Hinzufügen von Texturmustern zu dreidimensionalen Oberflächen eine Abbildungsoperation ist, beinhaltet eine Texturabbildung eine Umformung von einem Koordinatensystem in ein anderes. Insbesondere können diese Koordinatensysteme als Texturraum, Objektraum und Bildraum bezeichnet werden. Das Texturmuster ist in einem zweidimensionalen Koordinatensystem (u, v) im Texturraum definiert, die dreidimensionale Oberfläche ist in einem dreidimensionalen Koordinatensystem (x', y', z') im Objektraum definiert, wobei der Ausgabebildschirm in einem zweidimensionalen System (x, y) im Bildraum definiert ist. Folglich transformiert die Texturabbildung eine Texturebene (u, v) konzeptuell auf eine dreidimensionale Oberfläche (x', y', z') und projiziert daraufhin die umgeformte Texturebene in das Ausgangsbildschirmkoordinatensystem (x, y).
  • Ein Beispiel einer herkömmlichen Texturabbildung ist eine Computergraphikaufbereitung der Beschriftung auf einer Dose eines alkoholfreien Getränks. Als erstes muß eine Abbildung der "entrollten" Beschriftung erzeugt werden. Die "entrollte" Beschriftung ist im Texturraum definiert. Als nächstes wird die Form der Dose in dem Objektraum aufbereitet. Herkömmlicherweise wird die zylindrische Form der Dose durch Erzeugen eines Satzes von Polygonen aufbereitet. Die geometrische Form der Dose ist folglich in dem Objektraum definiert. Die Textur (entrollte Beschriftung) wird auf die dreidimensionale Oberflächendarstellung in dem Objektraum (die zylindrische Form) transformiert und daraufhin in den Bildraum (den Ausgabebildschirm) projiziert. Die Farbe und Intensität jedes Bildelements (Pixel) in der Anzeige ist demgemäß eine Funktion der Umformung der Textur in den Objektraum und der Abbildung von dem Objektraum in den Bildraum.
  • Im Stand der Technik bekannte Texturabbildungsverfahren sind rechenintensiv und erfordern die Berechnung von großen Gruppen von Werten. Außerdem sind die meisten im Stand der Technik bekannten Texturabbildungsverfahren ausschließlich in Softwareimplementierungen vorhanden, die die Ausführung von Mehrfachzyklusprogrammschritten erfordern. Herkömmliche Texturabbildungssysteme sind folglich langsam und erfordern beträchtliche Prozessor- und Speicherressourcen.
  • Eine bekannte Veröffentlichung von Yan u. a., US-A-4,615,013, offenbart eine Texturerzeugungsvorrichtung, bei der Pixelkoordinaten (d. h. Bildraumkoordinaten) in Erdkoordinaten (d. h. Objektraumkoordinaten) umgeformt werden, die wiederum verwendet werden, um Adressen zum Zugreifen auf eine Texturtabelle zu erzeugen, um Texturwerte wiederzugewinnen. Die Vorrichtung speichert eine sogenannte "nahe" und "ferne" Textur, wobei die letztere interpoliert werden kann, um eine Bildglättung zu liefern.
  • Ein Nachteil des von Yan erörterten Mechanismus besteht darin, daß derselbe rechenintensiv ist, z. B. insofern, daß ein Abbilden in einen Objektraum erforderlich ist.
  • Angesichts der Unzulänglichkeiten des Mechanismus von Yan u. a. und weiteren im Stand der Technik bekannten Mechanismen besteht demgemäß ein Bedarf nach Texturabbildungsverfahren und Vorrichtungen für Computergraphikanzeigesteuerungssystemen, die eine Texturabbildung mit einer hohen Geschwindigkeit, einem minimalen Aufwand, einer minimalen Komplexität und mit einem minimalen Prozessor- und Speichermehraufwand ausführen können.
  • Die Aufgabe der vorliegenden Erfindung besteht folglich darin, eine verbesserte Texturabbildungsvorrichtung zu schaffen.
  • Eine weitere Aufgabe der Erfindung besteht darin, eine Texturabbildungsvorrichtung zu schaffen, die eine Texturabbildung in Echtzeit ausführen kann.
  • Eine weitere Aufgabe der Erfindung besteht darin, ein wirksames und unaufwendiges System für eine Texturabbildung zu schaffen, das Interpolationstechniken verwendet.
  • Weitere allgemeine und spezifische Aufgaben der Erfindung werden teilweise offensichtlich sein oder teilweise im folgenden erscheinen.
  • Zusammenfassung der Erfindung
  • Diese Aufgaben werden durch die Texturabbildungsvorrichtung gemäß Anspruch 1 der angefügten Ansprüche erfüllt.
  • Eine Texturabbildungsvorrichtung gemäß einem weiteren Aspekt der Erfindung umfaßt Beleuchtungswertelemente, die entsprechend ausgewählten Anzeigepixeln auf ausgewählte Adressen ansprechen, zum Erzeugen von Beleuchtungswerten entsprechend den jeweiligen Anzeigepixeladressen. Dieser Aspekt der Erfindung umfaßt ferner Polynomlogikelemente, die auf die ausgewählten Pixeladressen ansprechen, zum Berechnen eines Polynomtexturindexwertes für jede ausgewählte Pixeladresse, wobei jeder Texturindexwert einem jeweiligen Texturwert für jede ausgewählte Pixeladresse zugeordnet ist. Die Erfindung umfaßt ferner Kombinierelemente, die auf die Beleuchtungswerte und die Texturindexwerte ansprechen, zum arithmetischen Kombinieren der jeweiligen Beleuchtungswerte und Texturwerte, um Anzeigefarbwerte für die ausgewählten Pixel zu erzeugen.
  • Gemäß einem weiteren Aspekt der Erfindung umfassen die Beleuchtungswertelemente Beleuchtungsinterpolationselemente zum Interpolieren von Anfangsbeleuchtungswerten, um weitere Beleuchtungswerte zu erzeugen.
  • Bei einem weiteren Aspekt der Erfindung umfassen die Polynomlogikelemente Elemente zum Berechnen von Polynomen zweiter Ordnung oder niedriger und Inkrementalauswertungselemente zum Ausführen einer Inkrementalauswertung der Polynome.
  • Bei einem weiteren Aspekt der Erfindung umfassen die Bit-Tabellen-Dateninterpolationselemente (Bit-Map = Bit-Tabelle) Texturindexinterpolationselemente zum Erzeugen der Texturindexwerte. Zusätzlich umfassen die Inkrementalauswertungselemente Vorwärtsdifferenzierungselemente zum Auswerten der ausgewählten Polynome.
  • Ein weiterer Aspekt der Erfindung liefert eine Texturabbildungsvorrichtung, die Bit-Tabellen-Datenwertelemente, die entsprechend ausgewählten Anzeigepixeln auf ausgewählte Adressen ansprechen, zum Erzeugen von Beleuchtungswerten entsprechend den jeweiligen Anzeigepixeladressen umfaßt. Dieser Aspekt der Erfindung liefert ferner Texturtabellenelemente zum Speichern von Texturwerten, die durch Polynomfunktionen der ausgewählten Pixeladressen indexiert sind. Die Texturtabellenelemente umfassen Mip-Tabellen-Elemente zum Speichern von indexierten unterschiedlich skalierten Abbildungen der Texturwerte. Die unterschiedlich skalierten Abbildungen werden durch zumindest einen Texturtabellenparameter ausgewählt. Dieser Aspekt der Erfindung liefert ferner Kombinierelemente, die in einer elektrischen Schaltung mit den Beleuchtungswertelementen und den Texturtabellenelementen vorgesehen sind, zum arithmetischen Kombinieren von jeweiligen der Beleuchtungswerte und Texturwerte, die einer ausgewählten der unterschiedlich skalierten Abbildungen zugeordnet sind, um Anzeigefarbwerte für die ausgewählten Pixel zu erzeugen.
  • Die Erfindung umfaßt ferner Teilableitungselemente, die in einer elektrischen Schaltung mit den Texturtabellenelementen vorgesehen sind, zum Berechnen von Teilableitungen des zumindest einen Texturtabellenparameters hinsichtlich der ausgewählten Pixeladressen. In Verbindung mit den Teilableitungselementen liefert die Erfindung Skalierungselemente, die in einer elektrischen Schaltung mit den Teilableitungselementen und den Texturtabellenelementen angeordnet sind, um als Antwort auf die berechneten Teilableitungen eine der Ableitungen der Texturwerte zum Übertragen von Texturwerten zu den Kombinierelementen auszuwählen.
  • Bei einem Aspekt der Erfindung umfassen die Texturtabellenelemente Begrenzungselemente zum selektiven Begrenzen des Bereichs der Abbildungen, der durch den zumindest einen Texturtabellenparameter auswählbar ist.
  • Bei einem weiteren Aspekt der Erfindung umfassen die Polynomlogikelemente Nichtinkrementalauswertungselemente zum Ausführen einer Nichtinkrementalauswertung der ausgewählten Polynorne.
  • Bei einem weiteren Aspekt der Erfindung umfassen die Nichtinkrementalauswertungselemente Elemente zum Ausführen einer direkten Auswertung der ausgewählten Polynome. Dieser Aspekt der Erfindung liefert Elemente zum Ausführen von Spline- Funktionen, die Werte von ausgewählten Steuerfunktionen verwenden.
  • Kurzbeschreibung der Zeichnungen
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend unter Bezugnahme auf die begleitenden Zeichnungen näher erläutert. Es zeigen:
  • Fig. 1 ein Blockdiagramm eines Anzeigesteuerungssystems, das eine Texturabbildungsvorrichtung gemäß der Erfindung beinhaltet;
  • Fig. 2 die konzeptuelle Grundlage des Abbildens von Informationen von dem Texturraum in den Objektraum und in den Bildraum;
  • Fig. 3 eine Computergraphikaufbereitung einer Oberfläche ohne Textur, die durch das System von Fig. 1 erzeugt wurde;
  • Fig. 4 eine Oberfläche mit hinzugefügten Texturinformationen, die durch das System von Fig. 1 erzeugt wurden;
  • Fig. 5 ein Blockdiagramm, das detailliert die Texturabbildungsvorrichtung gemäß der Erfindung darstellt; und
  • Fig. 6 die Informationsspeicherhierarchie der Texturtabellenanordnung von Fig. 5.
  • Beschreibung der dargestellten Ausführungsbeispiele
  • Fig. 1 ist ein Blockdiagramm eines Anzeigesteuerungssystems 1, das einen Texturabbildungsprozessor 4 gemäß der Erfindung enthält. Der Texturprozessor 4 umfaßt ein Interpolationsmodul 2 zum Erzeugen ausgewählter Koeffizienten, die die "Beleuchtungswerte" darstellen. Der Ausdruck "Beleuchtungswert", wie er hierin verwendet wird, ist jedoch nicht auf alpha-, rote, grüne und blaue Werte beschränkt, wie es Fachleuten auf diesem Gebiet bekannt ist. Diese Beleuchtungswerte sind eine Funktion der X- und Y-Adressenwerte (X, Y) für Anzeigepixel, die in eine Bittabelle 6 abgebildet und auf einem Monitor 16 anzeigbar sind. Folglich umfassen die durch das Interpolationsmodul 2 erzeugten Beleuchtungswerte alpha-, rote, grüne und blaue (a-, R-, G-, B-) Werte für Pixel, die in die Bittabelle 6 abgebildet und auf dem Monitor 16 anzeigbar sind.
  • Der Texturprozessor 4 umfaßt ferner einen Texturparameterinterpolationsabschnitt 3, um auf eine Art und Weise, die detaillierter im folgenden in Verbindung mit Fig. 5 erörtert wird, Texturtabellenparameter (U, V) und Ableitungssignale dU/dX, dU/dY, dV/dX und dV/dY zu erzeugen. Die Ableitungssignale und die Parameter U und V sind eine Funktion der Pixeladresse (X, Y).
  • Die von dem Texturparameterinterpolationsmodul 3 erzeugten U- und V-Signale werden als (U, V)-Adresse in einem Texturverweistabellenmodul 30 aktiviert. Das Texturverweistabellenmodul 30 speichert vorzugsweise mehrere Texturverweistabellen, wie es im folgenden detailliert erklärt wird. Gleichzeitig werden die von dem Texturparameterinterpolationsmodul 3 erzeugten Ableitungssignale in ein Tabellenauswahlmodul 28 übertragen, das die Ableitungssignale liest und ein TABELLE-AUSWÄHLEN-Signal erzeugt, das als Eingangssignal des Texturverweistabellenmoduls 30 aktiviert wird.
  • Das Texturverweistabellenmodul 30 verwendet die (U, V)- und TABELLE-AUSWÄHLEN-Signale auf eine Art und Weise, die detaillierter in Verbindung mit Fig. 5 erörtert wird, um Texturwerte zu erzeugen, die an einem Eingang des Kombinierelements 34 aktiviert werden. Die von dem Beleuchtungsinterpolationsmodul 2 erzeugten Beleuchtungswerte werden zu einem weiteren Eingang des Kombinierelements 34 übertragen.
  • Das Kombinierelement 34, das im folgenden in Verbindung mit Fig. 5 detaillierter beschrieben wird, kombiniert die Texturwerte aus dem Texturverweistabellenmodul 30 arithmetisch mit den Beleuchtungswerten aus dem Beleuchtungsinterpolationsmodul 2, um Bittabellenendwerte zu erzeugen, die in entsprechende (X, Y)-Adressen in der Bittabelle 6 geschrieben oder abgebildet werden. Zusätzlich werden Bittabellenwerte an (X, Y)-Positionen in der Bittabelle 6 für eine ausgewählte Verarbeitung zu dem Kombinierelement 34 zurückgeführt, wie es detaillierter im folgenden in Verbindung mit Fig. 5 beschrieben wird. Bei einem Ausführungsbeispiel der Erfindung umfaßt das Bittabellenmodul 6 herkömmliche VRAM-Elemente (VRAM = Video Ramdon Access Memory = Videospeicher mit wahlfreiem Zugriff).
  • Die Bittabellenwerte, die in der Bittabelle 6 gespeichert sind und a-, R-, G-, B-Werte umfassen, können beispielsweise auf eine herkömmliche Art und Weise, z. B. durch ein Schiebe-Lese-Verfahren, aus der Bittabelle 6 ausgelesen werden, falls VRAMs verwendet werden, und zu Digital-Analog-Wandler (DAWs) 10, 12 bzw. 14 übertragen werden. Die analogen Ausgangssignale aus den DAWs 10, 12 und 14 können zu einem herkömmlichen Monitor 16 übertragen und in eine reale Form umgewandelt werden. Fachleute auf diesem Gebiet werden erkennen, daß die Erfindung vorteilhaft in Verbindung mit einer Vielzahl von Multiplex- und Farbverweistabellenkonfigurationen oder Wegen ausgeführt werden kann, und daß die oben beschriebene Konfiguration lediglich ein Beispiel einer bevorzugten Implementierung der Erfindung ist.
  • Bei einem weiteren bevorzugten Ausführungsbeispiel der Erfindung erzeugt das Interpolationsmodul 2 Beleuchtungswerte aus einer kleineren Anzahl von ausgewählten Initialisierungs- oder "Set-up"-Werten. Das Beleuchtungsinterpolationsmodul 2 verwendet diese Werte, um weitere Beleuchtungswerte zu erzeugen, die weiteren Anzeigepixeln entsprechen. Insbesondere verwendet sowohl das Texturparameterinterpolationsmodul 3 als auch das Beleuchtungsinterpolationsmodul 2 Interpolationstechniken, die in der WO89/01206 sehr detailliert beschrieben sind.
  • Die konzeptuelle Grundlage des Betriebs des Texturprozessors 4 ist in Fig. 2 dargestellt, die eine Umformung von Texturinformationen aus dem Texturraum in den Objektraum und eine Abbildung von dem Objektraum in den Bildraum darstellt. Das in Fig. 2A gezeigte Texturmuster ist eine einfache mathematische Definition eines Rastermusters in einem Texturraum, der durch ein zweidimensionales Koordinatensystem (u, v) definiert ist. Fig. 2B zeigt eine dreidimensionale Abtastoberfläche, auf der das Texturmuster von Fig. 2A abgebildet werden soll. Die Oberfläche von Fig. 2B ist in einem Objektraum mit einem dreidimensionalen Koordinatensystem (x', y', z') definiert. Der Texturabbildungsprozeß formt das in Fig. 2A dargestellte Texturmuster auf die in Fig. 2B dargestellte Oberfläche um, und bildet die umgeformten Texturinformationen in den in Fig. 2C dargestellten Anzeigeraum ab. Der dargestellte Anzeigeraum, der dem Bild entspricht; das durch einen Monitor, wie z. B. einem Monitor 16 von Fig. 1, angezeigt wird, ist durch zweidimensionale (x, y)-Koordinaten definiert.
  • Fig. 2A stellt demgemäß ein mögliches Texturmuster dar. Aus digitalisierten Photographien oder anderen Eingangsmustern können weitere Texturmuster hergeleitet werden.
  • Eine komplexere Oberfläche und komplexere Texturmuster sind in den Fig. 3 und 4 dargestellt. Fig. 3 zeigt eine computeraufbereitete Oberfläche ohne Textur. Ein Bild dieses Typs kann durch die Vorrichtung erzeugt werden, die in der WO89/1206 beschrieben ist, die am 9. Februar 1989 veröffentlicht wurde. Fig. 4 stellt die Oberfläche von Fig. 3 mit einem texturabgebildeten Flag-Muster dar. Das Flag-Muster ist eine Textur, die der Texturprozessor 4 auf die in Fig. 3 dargestellte Oberfläche abbildet.
  • Gemäß der Erfindung transformiert der Texturprozessor 4 jedoch Texturinformationen von dem Texturraum direkt in den Bildraum ohne den Zwischenschritt des Abbildens von Informationen in einen Objektraum auf eine Art und Weise, die detaillierter in Verbindung mit Fig. 5 erörtert wird.
  • Ein Ausführungsbeispiel des Texturprozessors 4 ist detaillierter in Fig. 5 dargestellt. Der Texturprozessor verwendet Interpolatoren 18-27, ein Skalierungsmodul 28, eine Texturtabelle 30, einen Bittabellenwertmultiplizierer 32 und eine arithmetische Logikeinheit (ALU; ALU = arithmetic logic unit) 34.
  • Die Interpolatoren 18-27 sind vorzugsweise gemäß den in der WO89/01206 offenbarten Prinzipien aufgebaut. Insbesondere führen die Interpolatoren 18-27 vorzugsweise eine Interpolation N-ten Grades aus, wobei N kleiner oder gleich 2 ist. Wie es in Fig. 5 dargestellt ist, können die Interpolatoren 18 und 19 beispielsweise Werte für eine Verwendung bei herkömmlichen Z-Pufferberechnungen von versteckten Oberflächen erzeugen. Die Interpolatoren 20-23 können gemeinsam ein Beleuchtungsinterpolationsmodul zum Interpolieren von "Set-up"-Anfangsdatenwerten bilden, um weitere Beleuchtungswerte zu erzeugen. Die Interpolatoren 24-27 können zusammen ein Texturparameterinterpolationsmodul zum Interpolieren von "Set-up"-Anfangsdatenwerten bilden, um Texturparameterwerte U und V und deren Ableitungen dU/dX, dV/dX, dU/dY und dV/dY zu erzeugen. Die Struktur und Funktionsweise der bevorzugten Interpolatoren ist ebenso wie die Verwendung der Anfangs- oder "Set-up"-Werte (Einstell-Werte) in der WO89/01206 offenbart.
  • Ein wichtiges Merkmal der Erfindung ist die Verwendung von Interpolatoren, um Beleuchtungswerte, Texturparameterwerte und Z-Werte aus Set-up-Anfangswerten zu erzeugen. Dieser Interpolationsprozeß beseitigt die Notwendigkeit des Berechnens von Beleuchtungs-, Textur- und Z-Werten unabhängig für jedes Pixel in der Anzeige und erhöht demgemäß den Rechenwirkungsgrad und die Rechengeschwindigkeit.
  • Die Interpolatoren 20-23 erzeugen a-, R-, G- und B-Beleuchtungswerte, die zu einem Satz von Eingängen des Beleuchtungsmischmoduls 32 übertragen werden. Die Interpolatoren 24-27 erzeugen U-, dU/dX-, V-, dV/dX-, dU/dY- und DV/dY-Signale, die zu dem Skalierungsblock 28 übertragen werden, der die Signale verwendet, um eine X- und Y-Adresse für eine Texturverweistabelle zu erzeugen, die in dem Verweistabellenmodul 30 gespeichert ist. Die Verwendung von Bittabellendatenwertinterpolatoren, um Signale zu erzeugen, die Teilableitungen darstellen, wird in der WO89/01206 erörtert.
  • Die Texturtabelle 30 liefert wiederum a-, R-, G- und B-Texturwerte. Das Mischmodul 32 kombiniert diese Texturwerte mit den a-, R-, G- und B-Beleuchtungswerten, die von den Interpolatoren 20-23 erzeugt werden, um Bittabellendatenendwerte zum Schreiben in die Bittabellenaufstellung 6 zu erhalten. Bei einem bevorzugten Ausführungsbeispiel der Erfindung führt die ALU 34, die eine (X, Y)-Pixelwertrückkopplungssignal von der Bittabelle 6 empfängt, arithmetische Pixelkombinationen bezüglich der endgültigen Bittabellendatenwerte aus.
  • Fachleute auf diesem Gebiet werden erkennen, daß Fig. 5 lediglich ein mögliches Ausführungsbeispiel der Erfindung darstellt, und daß die Interpolatoren 18-27 zugeordnet sein können, um Interpolationsfunktionen auszuführen, die sich von den in Fig. 5 dargestellten Funktionen unterscheiden. Insbesondere kann die Vorrichtung konfiguriert sein, so daß ein gegebener Interpolator zu bestimmten Zeitpunkten Beleuchtungswerte interpolieren wird, und zu anderen Zeitpunkten Texturindexwerte interpolieren wird.
  • Bei einem weiteren bevorzugten Ausführungsbeispiel der Erfindung ist die Texturtabelle 30 als "Mip-Map" (Mip-Tabelle) aufgebaut. Die Hierarchie einer Texturtabelle 30, die als Mip-Tabelle organisiert ist, ist in Fig. 6 dargestellt. Eine Mip-Tabelle ist eine pyramidenförmige Datenstruktur mit indexierten, unterschiedlich skalierten, vorgefilterten Abbildungen von gespeicherten Werten. Die unterschiedlich skalierten Abbildungen stellen unterschiedlich skalierte Versionen derselben Daten dar.
  • Bei der Mip-Tabelle, die in Fig. 6 dargestellt ist, sind U und V die Indizes oder Raumkoordinaten der Tabelle. D ist ein Parameter, der verwendet wird, um zwischen unterschied lichen Ebenen - d. h. unterschiedlich skalierten Abbildungen - der pyramidenförmigen Struktur auszuwählen. Fachleute auf diesem Gebiet werden erkennen, daß entsprechende Punkte innerhalb unterschiedlicher vorgefilterter Tabellen durch eine einfache binäre Verschiebung und ein Hinzufügen eines Eingangssatzes von Indexwerten U und V adressiert werden können. Die Daten an den Adressen in allen entsprechenden Tabellen sind folglich als Antwort auf die U-, V-Eingangswerte sofort verfügbar. Mip-abgebildete Datenstrukturen sind allgemein bei Williams, , Computer Graphics, Bd. 17, Nr. 3, Seiten 1-11, Juli 1983, beschrieben.
  • Folglich sind die von den Interpolatoren 24 bzw. 25 erzeugten U- und V-Signale die Texturindexwerte für die Mip-abgebildete Texturtabelle 30. Gemäß einem bevorzugten Ausführungsbeispiel der Erfindung wertet der Skalierungsblock 28 die Teilableitungen von U und V hinsichtlich X und Y (dU/dX, dV/dX, dU/dY, dV/dY) aus und verwendet den größten der Absolutwerte der Ableitungen, um auszuwählen, welche Größen-vorgefilterte Texturtabellenabbildung zum Erzeugen von Texturwerten adressiert wird.
  • Falls sich die Textur hinsichtlich der Bildraumkoordinaten schnell ändert - d. h. eine große Teilableitung hinsichtlich X oder Y - wählt der Skalierungsblock 28 als Ergebnis dieser Konfiguration, eine Abbildung mit einer niedrigeren Auflösung der Texturwerte aus. Wenn sich die Textur hinsichtlich der Bildraumkoordinaten langsam ändert, wählt der Skalierungsblock 28 im Gegensatz dazu eine Abbildung mit einer größeren Auflösung der Texturwerte aus. Der Skalierungsblock 28 erzeugt daraufhin ein X-, Y-Indexsignal zum Adressieren der ausgewählten Texturtabelle.
  • Bei einem weiteren bevorzugten Ausführungsbeispiel der Erfindung wertet der Skalierungsblock 28 die Teilableitungssignale aus. Als Antwort auf die Teilableitungssignale begrenzen zwei Register in dem Skalierungsblock 28 den Bereich der unterschiedlich skalierten Abbildungen, die zum Erzeugen der Texturwerte ausgewählt werden können, wodurch das Niveau der Rechen- und Speicherressourcen reduziert wird, die der Texturabbildung zugewiesen werden müssen.
  • Es ist somit zu erkennen, daß die Erfindung die oben dargestellten Aufgaben wirksam erfüllt. Insbesondere liefert die Erfindung verbesserte Computergraphiktexturabbildungsvorrichtungen und Verfahren, die mit einer hohen Geschwindigkeit und mit einem gesteigerten Rechenwirkungsgrad arbeiten.
  • Es wird offensichtlich, daß Änderungen bei dem oben dargestellten Aufbau und den im vorhergehenden beschriebenen Betriebssequenzen vorgenommen werden können, ohne von dem Schutzbereich der Erfindung abzuweichen. Beispielsweise kann die Vorrichtung gemäß der Erfindung konfiguriert sein, um eine dreidimensionale Textur in einen Bildraum abzubilden. Alternativ kann ein einzelner "monochromer" Satz von Texturwerten angewendet werden, um jeden Bittabellendatenendwert zu erzeugen. Es ist demgemäß beabsichtigt, daß der gesamte Gegenstand, der in der obigen Beschreibung enthalten oder in den begleitenden Zeichnungen dargestellt ist, als erläuternd und nicht als begrenzend interpretiert wird.
  • Es sollte ferner offensichtlich sein, daß die folgenden Ansprüche die gesamten allgemeinen und spezifischen Merkmale der Erfindung, wie hierin beschrieben, abdecken sollen.

Claims (10)

1. Texturabbildungsvorrichtung für eine Verwendung in einem Computergraphikanzeigesteuerungssystem (1) zum Verarbeiten von Pixelwerten, um elektrische Anzeigesignale zu erzeugen, um ein Bild eines Objekts auf einem Anzeigeelement (16) anzuzeigen, wobei das Bild durch Anzeigesignale definiert ist, die ausgewählten Anzeigepixeln des Bildes entsprechen, wobei die Texturabbildungsvorrichtung (4) durch folgende Merkmale gekennzeichnet ist:
A. eine Beleuchtungswerteinrichtung (2), die auf ausgewählte Pixeladressen anspricht, um entsprechend denselben Beleuchtungswerte zu erzeugen,
B. eine Texturtabelle (30), die angeordnet ist, um Texturwerte zu speichern, die durch jeweilige Texturindexwerte indexiert sind,
C. eine Polynomlogikeinrichtung (3), die angeordnet ist, um auf die ausgewählten Pixeladressen anzusprechen und um entsprechend diesen Adressen Texturindexwerte zu erzeugen, und um diese Texturindexwerte auf die Texturtabelle anzuwenden, um Texturwerte, die durch dieselben indexiert sind, zu erzeugen,
wobei die Polynomlogikeinrichtung eine Texturindexwertinterpolationseinrichtung (24-27) umfaßt, die angeordnet ist, um die Texturindexwerte zu erzeugen, indem basierend auf den ausgewählten Pixeladressen zwischen Texturindexanfangswerten interpoliert wird, die jeweiligen Anfangspixeladressen zugeordnet sind, und
D. eine Kombiniereinrichtung (34), die mit der Beleuchtungswerteinrichtung und der Polynomlogikeinrichtung elektrisch verbunden ist, und die angeordnet ist, um auf die Beleuchtungswerte und die Texturwerte anzusprechen, um entsprechend den ausgewählten Pixeln Anzeigesignale für eine Anwendung bei dem Anzeigeelement (16) zu erzeugen, um das Bild anzuzeigen, wobei die Anzeigesignale als arithmetische Kombination der Beleuchtungswerte und der Texturwerte, die den gleichen Pixeladressen entsprechen, erzeugt werden.
2. Vorrichtung gemäß Anspruch 1, bei der die Beleuchtungswerteinrichtung (12) eine Beleuchtungswertinterpolationseinrichtung (20-23) aufweist, die angeordnet ist, um Anfangsbeleuchtungswerte zu interpolieren, um weitere Beleuchtungswerte zu erzeugen.
3. Vorrichtung gemäß Anspruch 2, bei der die Polynomlogikeinrichtung (3) eine Einrichtung (18-27), die angeordnet ist, um Polynome zweiter Ordnung oder niedriger zu berechnen; und beispielsweise eine Inkrementalauswertungseinrichtung umfaßt, die angeordnet ist, um eine Inkrementalauswertung der Polynome auszuführen.
4. Vorrichtung gemäß Anspruch 1, bei der die Beleuchtungswerteinrichtung (2) und die Polynomlogikeinrichtung (18 -27) zusammen zumindest eine Interpolatoreinrichtung umfassen, die angeordnet ist, um
(i) die Beleuchtungswerte während der ausgewählten Betriebsperioden (20-23) zu interpolieren, und
(ii) die Texturindexwerte während weiterer Betriebsperioden (24-27) zu interpolieren.
5. Vorrichtung gemäß Anspruch 3, bei der die Inkremental auswertungseinrichtung eine Vorwärtsdifferenzierungseinrichtung aufweist, die angeordnet ist, um die ausgewählten Polynome auszuwerten.
6. Texturabbildungsvorrichtung gemäß Anspruch 1, bei der
A. die Polynomlogikeinrichtung eine Texturtabelleneinrichtung (30) aufweist, die angeordnet ist, um Texturwerte zu speichern, die durch Texturindexwerte indexiert sind, wobei die Texturindexwerte gleich den Werten der Polynomfunktionen der ausgewählten Pixeladressen sind,
B. die Interpolationseinrichtung (24-37) folgende Merkmale umfaßt:
(i) eine Einrichtung, die angeordnet ist, um Anfangswerte der Polynomfunktionen zu interpolieren, um weitere Werte der Polynomfunktionen zu erzeugen, wobei die Anfangswerte der Polynomfunktionen den Anfangsanzeigepixeladressen entsprechen, und die weiteren Werte der Polynomfunktionen den weiteren Anzeigepixeladressen entsprechen, und
(ii) eine Mip-Tabellen-Einrichtung (28), die angeordnet ist, um indexierte, unterschiedlich skalierte Abbildungen der Texturwerte wiederzugewinnen, wobei die unterschiedlich skalierten Abbildungen durch zumindest einen der interpolierten Werte der Polynomfunktionen ausgewählt werden,
C. die Kombiniereinrichtung (30) eine Einrichtung umfaßt, die angeordnet ist, um jeweilige der Bittabellendatenwerte und der Texturwerte, die einer Ausgewählten der unterschiedlich skalierten Abbildungen zugeordnet sind, arithmetisch zu kombinie ren, um entsprechend den ausgewählten Pixeln Anzeigesignale für eine Anwendung bei dem Anzeigeelement (18) zu erzeugen, um das Bild anzuzeigen.
7. Texturabbildungsvorrichtung gemäß Anspruch 1, bei der
A. die Polynomlogikeinrichtung folgende Merkmale aufweist:
(i) eine Texturtabelleneinrichtung (30), die angeordnet ist, um Texturwerte zu speichern, die durch Polynomfunktionen der ausgewählten Pixeladressen indexiert sind,
(ii) eine Mip-Tabellen-Einrichtung (28), die angeordnet ist, um indexierte, unterschiedlich skalierte Abbildungen der Texturwerte wiederzugewinnen, wobei die unterschiedlich skalierten Abbildungen durch zumindest einen der interpolierten Werte der Polynomfunktionen ausgewählt werden,
B. die Kombiniereinrichtung (34) eine Einrichtung aufweist, die angeordnet ist, um jeweilige der Bittabellendatenwerte und der Texturwerte, die einer Ausgewählten der unterschiedlich skalierten Abbildungen zugeordnet sind, arithmetisch zu kombinieren, um entsprechend den ausgewählten Pixeln Anzeigesignale für eine Anwendung bei dem Anzeigeelement (16) zu erzeugen, um das Bild anzuzeigen,
C. die Polynomlogikeinrichtung ferner folgende Merkmale aufweist:
(i) eine Teilableitungseinrichtung (24-27), die in einer elektrischen Schaltung mit der Texturtabelleneinrichtung vorgesehen ist, und die angeordnet ist, um Teilableitungen des zumindest einen Texturtabellenparameters hinsichtlich der ausgewählten Pixeladressen zu berechnen, und
(ii) eine Skalierungseinrichtung (28), die in einer elektrischen Schaltung mit der Teilableitungseinrichtung und der Texturtabelleneinrichtung vorgesehen ist und die angeordnet ist, um ansprechend auf die berechneten Teilableitungen eine der Abbildungen der Texturwerte zum Übertragen der Texturwerte zu der Kombiniereinrichtung auszuwählen.
8. Eine Vorrichtung gemäß Anspruch 7, bei der die Texturtabelleneinrichtung (3) eine Begrenzungseinrichtung umfaßt, die angeordnet ist, um den Bereich der unterschiedlich skalierten Abbildungen, der durch Werte der zumindest einen Teilableitung auswählbar ist, selektiv zu begrenzen.
9. Vorrichtung gemäß Anspruch 3, bei der die Polynomlogikeinrichtung (30) eine Nichtinkrementalauswertungseinrichtung umfaßt, die angeordnet ist, um eine Nichtinkrementalauswertung der ausgewählten Polynome auszuführen.
10. Eine Vorrichtung gemäß Anspruch 9, bei der
A. die Nichtinkrementalauswertungseinrichtung eine Einrichtung umfaßt, die angeordnet ist, um eine direkte Auswertung der ausgewählten Polynome auszuführen; oder
B. die Nichtinkrementalauswertungseinrichtung eine Einrichtung umfaßt, die angeordnet ist, um Spline-Funktionen auszuführen, die Werte von ausgewählten Steuerpunkten verwenden.
DE68928818T 1988-07-06 1989-06-29 Texturabbildung für die steuereinheit eines computergrafikbildschirms Expired - Lifetime DE68928818T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US21562088A 1988-07-06 1988-07-06
PCT/US1989/002906 WO1990000774A1 (en) 1988-07-06 1989-06-29 Texture mapping for computer graphics display controller system

Publications (2)

Publication Number Publication Date
DE68928818D1 DE68928818D1 (de) 1998-10-22
DE68928818T2 true DE68928818T2 (de) 1999-03-25

Family

ID=22803716

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68928818T Expired - Lifetime DE68928818T2 (de) 1988-07-06 1989-06-29 Texturabbildung für die steuereinheit eines computergrafikbildschirms

Country Status (6)

Country Link
EP (1) EP0425573B1 (de)
JP (1) JP3066035B2 (de)
AU (1) AU4033889A (de)
CA (1) CA1322062C (de)
DE (1) DE68928818T2 (de)
WO (1) WO1990000774A1 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9007915D0 (en) * 1990-04-06 1990-06-06 Link Miles Ltd Visual display with textured surfaces
US5469535A (en) * 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
JPH0628485A (ja) * 1992-07-09 1994-02-04 Toshiba Corp テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6919895B1 (en) 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US7002591B1 (en) * 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4225861A (en) * 1978-12-18 1980-09-30 International Business Machines Corporation Method and means for texture display in raster scanned color graphic
US4564915A (en) * 1980-04-11 1986-01-14 Ampex Corporation YIQ Computer graphics system
US4475161A (en) * 1980-04-11 1984-10-02 Ampex Corporation YIQ Computer graphics system
US4590463A (en) * 1980-09-29 1986-05-20 Rca Corporation Digital control of color in CRT display
US4615013A (en) * 1983-08-02 1986-09-30 The Singer Company Method and apparatus for texture generation
JPS6155781A (ja) * 1984-08-28 1986-03-20 Mitsubishi Precision Co Ltd 模擬視界装置のためのテクスチユア発生方法および装置
JPS628193A (ja) * 1985-07-04 1987-01-16 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション カラー画像表示装置

Also Published As

Publication number Publication date
JPH04501029A (ja) 1992-02-20
EP0425573A4 (en) 1991-11-21
EP0425573B1 (de) 1998-09-16
DE68928818D1 (de) 1998-10-22
JP3066035B2 (ja) 2000-07-17
EP0425573A1 (de) 1991-05-08
AU4033889A (en) 1990-02-05
WO1990000774A1 (en) 1990-01-25
CA1322062C (en) 1993-09-07

Similar Documents

Publication Publication Date Title
DE69424716T2 (de) Verfahren und Vorrichtung zur adaptiven Steuerung der Texturabbildung
DE69624878T2 (de) Verfahren und Vorrichtung zur Volumendarstellung
DE69130132T2 (de) Verfahren zur Erzeugung von Adressen zu texturierten, in RIP Maps gespeicherten graphischen Primitiven
DE68927471T2 (de) Verfahren zur Schattierung eines graphischen Bildes
DE68925399T2 (de) Verfahren und Gerät zur Bildtransformation
US5097427A (en) Texture mapping for computer graphics display controller system
DE69424900T2 (de) Verfahren und Gerät zur Durchführung von Texturabbildung auf komplexen Oberflächen
DE19827726B4 (de) Verfahren und Vorrichtung zum Liefern von Polygonpixelunterabtastinformationen unter Verwendung einer Inkrementaleinrichtung
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE3853393T2 (de) Verfahren und Vorrichtung zur zweidimensionalen Bilderstellung.
DE69130123T2 (de) Anzeigegerät und Verfahren zum Betreiben eines solchen Geräts
DE69032932T2 (de) System und Verfahren zum unverfälschten Polygonenzeichnen
DE19709220B4 (de) System und Verfahren für eine beschleunigte Verdeckungsauslese
DE69122557T2 (de) Bilderzeugung
DE3750784T2 (de) Generation eines intrapolierten charakteristischen Wertes zur Anzeige.
DE69602728T2 (de) Vorrichtung zur bildmanipulation und -generation
DE69132041T2 (de) Dreieckinterpolator
EP0789328B1 (de) Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
DE69129427T2 (de) Pixelinterpolation im Perspektivraum
DE3851680T2 (de) Einrichtung zur Änderung der Bildelementdaten, die in einem Direktzugriffsspeicher gespeichert sind.
DE69331486T2 (de) Bilddatenverarbeitung
DE69029987T2 (de) Verfahren und Gerät zur parallelen Wiedergabe von Polygonen und Pixeln
DE69130127T2 (de) System und Verfahren zur Farbbilderanzeige
DE3854619T2 (de) Quadratische interpolation zur schattierten bilderzeugung.
DE68926640T2 (de) Reduziertes Bildfenster für eine graphische Anzeige

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

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