DE4314265A1 - Dreidimensionales Textur-Abbildungs-Displaysystem - Google Patents

Dreidimensionales Textur-Abbildungs-Displaysystem

Info

Publication number
DE4314265A1
DE4314265A1 DE4314265A DE4314265A DE4314265A1 DE 4314265 A1 DE4314265 A1 DE 4314265A1 DE 4314265 A DE4314265 A DE 4314265A DE 4314265 A DE4314265 A DE 4314265A DE 4314265 A1 DE4314265 A1 DE 4314265A1
Authority
DE
Germany
Prior art keywords
texture
screen
display
edge
dimensional
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
Application number
DE4314265A
Other languages
English (en)
Other versions
DE4314265B4 (de
Inventor
Eugene Jarvis
Eric Pribyl
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.)
Midway Amusement Games LLC
Original Assignee
Williams Electronics Games Inc
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 Williams Electronics Games Inc filed Critical Williams Electronics Games Inc
Publication of DE4314265A1 publication Critical patent/DE4314265A1/de
Application granted granted Critical
Publication of DE4314265B4 publication Critical patent/DE4314265B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/203Image generating hardware
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Description

Hintergrund der Erfindung
Diese Erfindung bezieht sich allgemein auf Videospiele und insbesondere bezieht sie sich auf ein verbessertes dreidimensionales Textur-Abbildungs-Displaysystem für die Darstellung dreidimensionaler projizierter Polygone mit Texturfeldern auf einem zweidimensionalen Raster-Displaybildschirm. Insbesondere ist das Displaysystem geeignet für die Verwendung mit Videospielen um eine Echtzeit- Animation von Videospielszenen mit texturierten ebenen Oberflächen in einer Zeitperiode zu gestatten, die wesentlich geringer ist als die, die in herkömmlichen Displaysystemen dieses allgemeinen Typs erforderlich ist.
In bekannten Displaysystemen für die Darstellung dreidimensionaler Bildrepräsentationen auf einem zweidimensionalen Raster-Displaybildschirm einer Cathodenstrahlröhre (CRT) ist es allgemein erwünscht, einen Mechanismus vorzugeben für die Erzeugung realistisch texturierter Oberflächen in dem Bild, so daß ein allgemeiner dimensionaler Repräsentationseffekt erzeugt wird. In solchen herkömmlichen Displaysystemen wird ein solcher Effekt dadurch erzielt, daß irgendeine Art von Textur-Oberflächengenerator ziemlich längliche und komplexe arithmetische Algorithmen oder mathematische Berechnungen, wie beispielsweise Multiplikation, Division, Addition, Subtraktion, und/oder trigonometrische Funktionsberechnungen durchführt.
Daher besitzen diese bekannten Systeme einen Hauptnachteil, in dem ein Benutzer einen beträchtlichen Zeitbetrag zu warten hat, bevor das Bild auf dem Bildschirm dargestellt werden kann. Die bekannten Displaysysteme sind nicht nur sehr zeitaufwendig, sondern die Hardware-Schaltkreise zur Verwirklichung der verschiedenen mathematischen Berechnungen sind sehr aufwendig.
Daher wäre es erwünscht, ein verbessertes dreidimensionales Textur-Abbildungs- Displaysystem vorzugeben für die Darstellung dreidimensionaler projizierter Polygone mit Textur-Abbildungen auf einem zweidimensionalen Raster- Displaybildschirm, welches vereinfachte Algorithmen verwendet, die nur Additionen und Subtraktionen beinhalten und somit zu einer hohen Operationsgeschwindigkeit führen.
Zusammenfassung der Erfindung
Demgemäß ist es eine allgemeine Aufgabe der vorliegenden Erfindung, ein verbessertes Displaysystem für die Darstellung dreidimensionaler projizierter Polygone mit Textur-Abbildungen in einer Zeitperiode vorzugeben, die wesentlich geringer als die in herkömmlichen Displaysystemen ist.
Es ist eine Aufgabe der vorliegenden Erfindung, ein dreidimensionales Textur- Abbildungs-Displaysystem vorzugeben, welches vereinfachte arithmetische Algorithmen verwendet.
Es ist eine andere Aufgabe der vorliegenden Erfindung, ein dreidimensionales Textur-Abbildungs-Displaysystem vorzugeben, welches einen Grafik- Displayprozessor umfaßt, der mit weniger teuren Hardware-Schaltkreisen verwirklicht werden kann.
Es ist noch eine andere Aufgabe der vorliegenden Erfindung, ein dreidimensionales Textur-Abbildungs-Displaysystem für die Darstellung dreidimensionaler projizierter Polygone mit Texturfeldern auf einem zweidimensionalen Raster-Displaybildschirm vorzugeben, welches einen Grafik- Prozessor für die Festlegung von Bestimmungsadressen für jedes Pixel im Bildschirmraum eines Displaymonitors und für die Festlegung entsprechender Quellenadressen aufweist, wodurch eine Oberflächentextur eines Bildes für jede Bestimmungsadresse geliefert wird.
Es ist noch eine weitere Aufgabe der vorliegenden Erfindung, ein Displaysystem vorzugeben, welches einen Grafik-Prozessor umfaßt, der Aufsuchtabellen für die Speicherung von Näherungswerten aufweist, die auf Tiefen- Koordinatenverhältnisse im Bildschirmraum bezogen sind und die benutzt werden bei der Berechnung von Quellenadressen in einem Texturspeicher.
Gemäß diesen Zielen und Aufgaben befaßt sich die vorliegende Erfindung mit der Vorgabe eines Displaysystems für die Darstellung dreidimensionaler projizierter Polygone mit Texturfeldern auf einem zweidimensionalen Raster- Displaybildschirm, welches einen Host-Prozessor und einen Grafik-Prozessor umfaßt. Der Host-Prozessor spricht auf Eingangsdaten von einem Host-Speicher an, der die Schnittpunkte eines polygonalen Bildes definiert, das in dreidimensionaler Form auf einer Raster-Displayvorrichtung darzustellen ist, um Anweisungssignale, Schirmkoordinaten auf der Raster-Displayvorrichtung und entsprechende Textur-Raumkoordinaten in einem Texturspeicher zu erzeugen. Der Grafik-Prozessor spricht auf die Anweisungssignale, die Bildschirmkoordinaten und die entsprechenden Textur-Raumkoordinaten an, um Bestimmungsadressen für jedes Pixel auf dem Bildschirmfeld der Raster- Displayvorrichtung festzulegen und um entsprechende Quellenadressen festzulegen, die die Oberflächentextur des Bildes für jede Bestimmungsadresse liefern.
Der Grafik-Prozessor umfaßt ferner eine Aufsuchtabelle für die Speicherung von Näherungswerten bezogen auf die Tiefen-Koordinatenverhältnisse im Bildschirmraum, welche benutzt werden, um die Neigung und Beschleunigungswerte im Texturraum festzulegen. Infolgedessen können die Quellenadressen für den Texturspeicher leicht mit vereinfachten arithmetischen Algorithmen unter Verwendung von lediglich Additionsoperationen festgelegt werden.
Kurze Beschreibung der Zeichnungen
Diese und andere Aufgaben und Vorteile der vorliegenden Erfindung gehen vollständiger aus der folgenden detaillierten Beschreibung hervor, wenn diese zusammen mit den angefügten Zeichnungen gelesen werden, wobei gleiche Bezugsziffern einander entsprechende Teile anzeigen und wobei:
Fig. 1 ein Gesamt-Blockdiagramm eines dreidimensionalen Textur-Abbildungs- Displaysystems ist, das gemäß den Prinzipien der vorliegenden Erfindung aufgebaut ist;
Fig. 2 ein detailliertes Blockdiagramm des Grafik-Coprozessors für die Verwendung in dem vorliegenden Displaysystem gemäß Fig. 1 ist;
Fig. 3 ein Flußdiagramm zeigt, das bei dem Displaysystem der vorliegenden Erfindung nützlich ist für die Erzeugung von Bestimmungsadressen für jedes Pixel im Bildschirmbereich;
Fig. 4 ein Flußdiagramm zeigt, das bei dem Displaysystem der vorliegenden Erfindung nützlich ist für die Erzeugung entsprechender Quellenadressen in dem Texturspeicher für jedes entsprechende Bestimmungspixel und
Fig. 5 eine schematische Darstellung eines beispielhaften Polygons auf einem Bit-Feld zeigt, das mit Daten von einem Texturfeld gefüllt wird, die in Übereinstimmung mit den Verfahren in den Fig. 3 und 4 gebildet werden.
Beschreibung des bevorzugten Ausführungsbeispieles
Unter Bezugnahme nunmehr in Einzelheiten auf die Zeichnungen zeigt Fig. 1 ein Gesamt-Blockdiagramm eines verbesserten dreidimensionalen Textur- Abbildungsdisplaysystems 10, das gemäß den Prinzipien der vorliegenden Erfindung aufgebaut ist. Das Displaysystem wird benutzt, um dreidimensionale projizierte Polygone mit Texturfeldern auf einer zweidimensionalen Raster- Displayvorrichtung darzustellen. Das Displaysystem 10 ist besonders für die Verwendung in Videospielen geeignet, um eine Echtzeit-Animation von Videospielszenen mit texturierten ebenen Oberflächen mit einer hohen Betriebsgeschwindigkeit zu gestatten. Das Displaysystem umfaßt einen Host- Computer 12, der vorzugsweise ein digitaler Signalprozessor (DSP) ist, einen Grafik-Coprozessor 14, einen Texturspeicher 16, einen Video-Bildrahmenpuffer 18, eine Farb-Aufsuchtabelle 20 und eine Cathodenstrahlröhre (CRT) oder eine andere Displayvorrichtung 22.
Der Host-Computer 12 empfängt Objektdaten, die beispielsweise Daten von einem geeigneten Host-Speicher 24, welche die Schnittpunkte des polygonalen Bildes definieren, das in einem dreidimensionalen Bild darzustellen, welches auf dem Bildschirm der Displayvorrichtung 22 gebildet wird. Der Host-Speicher enthält ferner die Adressen des entsprechenden Texturfeldes im Texturspeicher für jedes Polygon.
In der hier benutzten Weise bezieht sich ein Polygon auf eine Gruppe von Punkten, welche in der gleichen Ebene liegen und die Schnittpunkte des Grenzbereiches eines konvexen zweidimensionalen Raumes beschreiben. Ein Texturfeld bezieht sich auf ein zweidimensionales Bild bzw. eine Abbildung, die durch Pixel repräsentiert wird. Ein Bit-Feld ist definiert als ein zweidimensionaler RAM-Raum, der jedes Pixel (Farbpunkt) repräsentiert, das auf dem Bildschirm der Displayvorrichtung darzustellen ist. Zusätzlich bedeutet eine Bestimmungsadresse einen Speicherplatz in dem Bit-Feld und eine Quellenadresse bedeutet einen Speicherplatz in dem gerade aktiven Texturfeld.
Der Host-Computer 12 empfängt von dem Speicher 24 eine Gruppe von Punkten, die durch (XYZ) in einem rechteckigen Referenz-Koordinatensystem im dreidimensionalen Raum dargestellt werden, so daß sie die Schnittpunkte eines Polygons beschreiben. X stellt die horizontale Koordinate (links-rechts), Y stellt die vertikale Koordinate (hoch-runter) und Z stellt die tiefe Koordinate (vor­ rückwärts) entsprechend dar. Ferner empfängt der Host-Computer als Eingänge eine Gruppe von Punkten, die jeweils durch (Xt, Yt) in einem rechteckförmigen Koordinatensystem im zweidimensionalen Raum repräsentiert werden, um den Ort der Schnittpunkte eines Texturfeldes zu beschreiben. Da das auf dem Bildschirm der CRT-Displayvorrichtung darzustellende Polygon relativ zu dem Betrachtungspunkt eines Benutzers darzustellen ist, muß der Host-Computer anfanglich eine perspektivische Transformation durchführen, um die Referenz- Koordinaten X, Y, Z für die Gruppe von Punkten, die die Schnittpunkte des Polygons darstellen, in Schirmkoordinaten Xs, Ys, Zs umzuwandeln, wie dies im Stand der Technik wohl bekannt ist.
Der Grafik-Coprozessor 14 gemäß der vorliegenden Erfindung verwendet die Schirmkoordinaten, um das Texturfeld auf das Bit-Feld, wie es durch den Video- Bildrahmenpuffer 18 repräsentiert wird, zu projizieren, so daß das Texturfeld so aussieht, als sei es perspektivisch. Da jedoch das Polygon im zweidimensionalen Raum auf dem Bildschirm der CRT-Displayvorrichtung dargestellt werden muß, müssen die Schirmkoordinaten Xs, Ys, Zs, die die Schnittpunkte des Polygons beschreiben, zuerst in zweidimensionale X-, Y-Koordinaten verändert bzw. projiziert werden, so daß sie auf dem Bit-Feld aufgezeichnet werden können. Die projizierten X- und Y-Koordinaten der Polygon-Schnittpunkte werden sodann benutzt, um die Start- und End-Aufzeichnungspunkte für jede Abtastlinie zu bestimmen, die auf dem Bit-Feld darzustellen ist. Die Beziehung zwischen den Z- Koordinaten an den Start- und Endpunkten wird benutzt, um die Abbildungspunktion von dem Texturfeld in das Bit-Feld zu bestimmen.
Aus Fig. 2 ist am besten ein detailliertes Blockdiagramm des Grafik- Coprozessors 14 der vorliegenden Erfindung ersichtlich, der die Eingangsdaten in Abhängigkeit von Anweisungssignalen des Host-Computers 12 verarbeitet, um auf dem Bit-Feld ein Polygon zu erzeugen, das mit Daten aus dem Texturspeicher in eine Form gefüllt wird, die mit den Z-Koordinatenwerten synchronisiert ist, die jedem Schnittpunkt zugeordnet sind. Der Grafik-Prozessor 14 umfaßt eine Arithmetik- und Logikeinheit (ALU) 25, eine Aufsuchtabelle 26 für die Lieferung von Werten von ZTABLED und ZTABLEDD, einen Schirm- Adressengenerator 28, einen Texturfeld-Adressengenerator 30 und eine Dateneinheit 32.
Die ALU 25 erzeugt aufgrund der Eingangsdaten von dem Host-Computer und der Daten aus der Aufsuchtabelle 26 die Bestimmungsadressen über den Bildschirm-Adressengenerator 28 für den Video-Bildrahmenpuffer 18. Jede Bestimmungsadresse legt einen besonderen Ort auf dem Bildschirm fest, an dem Texturdaten abzulegen sind. Die ALU 25 erzeugt ferner Quellenadressen über den Texturfeld-Adressengenerator 28 für den Texturspeicher 16. Jede Quellenadresse legt die spezifischen Texturdaten fest, die auf dem Bildschirm an dem speziellen Ort abzulegen sind, der durch die entsprechende Bestimmungsadresse festgelegt ist. Die Texturdaten werden von dem Texturspeicher 16 zu der Dateneinheit 32 gesendet und sodann zu dem Bildschirm der Displayeinheit 22 über den Video-Bildrahmenpuffer 18 und die Farb-Aufsuchtabelle 20 gesendet.
In dem speziellen dargestellten Ausführungsbeispiel ist die Verarbeitung der Information durch den Grafik-Coprozessor 14 aufgrund der Anweisungssignale von dem Host-Computer 12 ferner so getroffen, daß Farb-Indexdaten in bezug auf die Farbe und Intensität eines jeden Punktes des Bildes für die Speicherung in dem Video-Bildrahmenpuffer 18 vorgegeben werden. Die Farb-Indexdaten wirken als eine "Hinweisadresse" für die Auswahl der erforderlichen Farbe und Intensität aus der Aufsuchtabelle 20, die sodann die geeigneten Video-Farbdaten (rot, grün, blau) an die CRT-Displayvorrichtung 22 für die Darstellung liefert. Alternativ kann ein Feld von Bild-Farb-/Intensitäts-Daten für jeden Bildpunkt direkt in dem Video-Bildrahmenpuffer 20 gespeichert werden und derartige Farb- Intensitätsdaten können direkt von dem Video-Bildrahmenpuffer zu der CRT- Displayvorrichtung geliefert werden.
Um das mit den Daten gefüllte und von dem Texturspeicher 16 gelesene Polygon darzustellen, ist es anfänglich erforderlich, für den Grafik-Coprozessor 14 die Bestimmungsadressen entsprechend den Orten eines jeden Punkts (Pixel) des Polygons auf dem Bildschirmraum in Übereinstimmung mit dem vereinfachten Flußdiagramm gemäß Fig. 3 zu erzeugen. Im Block 110 wird der Polygon- Schnittpunkt mit der minimalen Y-Bildschirmkoordinate anfänglich lokalisiert. Sodann werden die Schnittpunkt-Bildschirmkoordinaten der Start- und Endpunkte für jede Begrenzungslinie des Polygons, die nachstehend als "Xmin-Kante" und "Xmax-Kante" im Block 112 lokalisiert. Als nächstes werden im Block 114 die Bildschirmschritte Delta (Delta X in bezug auf eine Veränderung von Y um 1) und die Z-Verhältnisse für jede "Xmin-Kante" und "Xmax-Kante" errechnet. Das Verhältnis Z ist das Verhältnis der Endkoordinate Z zu der Startkoordinate Z. Ebenfalls im Block 114 wird die Neigung X zwischen jeder Abtastlinie im Bildschirmbereich für jede "Xmin-Kante" und "Xmax-Kante" berechnet.
Sodann werden die Schirmkoordinaten X, Y im Block 118 auf die anfänglichen Startkoordinaten Xsmin, Ysmin eingestellt. Es versteht sich, daß dieses die Startkoordinaten sowohl für "Xmin-Kante" als auch für "Xmax-Kante" sind. Sodann wird im Block 122 die Schirmkoordinate X um 1 wiederholt erhöht, um die Daten aus dem Texturspeicher 30 für jede Schirmkoordinate x aufzuzeichnen bis "Xmax-Kante" erreicht ist. Tatsächlich werden hierdurch Texturdaten von der linken zu der rechten Kante der laufenden Abtastlinie des Polygons aufgezeichnet.
Im Block 124 wird festgestellt, ob der nächste Schnittpunkt entweder auf "Xmin- Kante" oder "Xmax-Kante" erreicht worden ist.
Im Block 126 wird die Schirmkoordinate Y um 1 erhöht zur Vorbereitung der nächsten Abtastlinie. Zusätzlich werden Xmin Neigung und Xmax Neigung zu Xmin und Xmax entsprechend addiert. Als nächstes wird im Block 128 festgestellt, ob die Schirmkoordinate Y einen maximalen Schnittpunktwert Y überschritten hat. Ist dies der Fall, so werden keine weiteren Berechnungen durchgeführt. Ist dies nicht der Fall, so wird die Berechnung im Block 118 für die nächste Abtastlinie wiederholt. Daher liefert der Block 122 erneut die Bestimmungsadressen für die nächste Abtastlinie. Es sei bezüglich des Blockes 124 vermerkt, daß, wenn der nächste Schnittpunkt erreicht worden ist, eine neue X-Neigung erneut im Block 114 berechnet werden muß.
Um das aufzuzeichnende Quellenpixel zu bestimmen, muß der Grafik- Coprozessor 14 gleichzeitig die entsprechenden Adressen im dem Texturfeld 16 festlegen und die geeigneten Oberflächen-Texturdaten liefern, wie dies im Zusammenhang mit Fig. 4 erklärt wird. Im Block 210 wird der Texturfeld- Schnittpunkt entsprechend dem Polygonscheitel anfänglich lokalisiert. Sodann werden im Block 212 die entsprechenden Schnittpunkt-Textur-Raumkoordinaten für die Start- und Endpunkte einer jeden "Xmin-Kante" und "Xmax-Kante" lokalisiert. Die Texturfeld-Deltas und die Textur-Deltas für die entsprechende "Xmin-Kante" und "Xmax-Kante" werden in den Blöcken 213 und 214 entsprechend berechnet. Sodann werden im Block 216 die Texturbeschleunigungen für die entsprechende "Xmin-Kante" und "Xmax-Kante" berechnet.
In den Blöcken 217 und 218 werden die Textur-Deltas und Beschleunigungen Xt, Yt, Zmin, Zmax für die korrekte Abtastlinie berechnet.
Im Block 219 wird das Textur-Delta zu der Textur-Position addiert, um die Texturadressen Xt(m), Yt(m) für Punkte entlang der laufenden Abtastlinie zu erhalten. Im Block 220 werden die nächsten Texturwerte Xt, Yt, Zmin und Zmax für die nächste Abtastlinie errechnet. Durch Addition des Textur-Deltas zu der vorangegangenen Position und durch Addition der Textur sodann werden die Texturwerte Xt(m), Yt(m) für die Punkte entlang der Abtastlinie erhalten. Somit liefert der Block 224 die Quellenadressen für jedes Pixel in dem Texturfeld. Im Block 222 wird festgestellt, ob ein Schnittpunkt oder eine Kante erreicht worden ist. Ist dies nicht der Fall, so erfolgt eine Verzweigung zurück nach 217 für die nächste Abtastlinie. Ist dies der Fall, so wird eine Prüfung in 224 durchgeführt, um festzulegen, ob die Schirmkoordinate Y den maximalen Schnittpunktwert überschritten hat. Hat sie dies, so endet die Routine, und andernfalls verzeigt sie zurück nach 213 für zusätzliche Punkte auf der laufenden Abtastlinie.
Als beispielhafte Verwendung des zuvor unter Bezugnahme auf die Flußdiagramme der Fig. 3 und 4 beschriebenen Verfahren sei nunmehr anhand der Fig. 5 erläutert, die die Verarbeitung der Eingangsdaten erfolgt, um ein Polygon darzustellen, das mit Daten aus dem Texturfeld in seinem zweidimensionalen Raum in dem Bit-Feld gefüllt wird. Zuerst sei bemerkt, daß die Schnittpunkte (Punkte 1-4) im Bildschirmraum im Uhrzeigersinn gespeichert werden. Der Schnittpunkt (Punkt 1) besitzt die minimale Schirmkoordinate Y und wird als "Scheitelpunkt" bezeichnet. Somit ist der größere X- Koordinatenschnittpunkt (Punkt 2) der nächste Schnittpunkt im Uhrzeigersinn von dem Scheitelpunkt und die kleinere X-Koordinate ist der Schnittpunkt (Punkt 4), wenn man im Gegenuhrzeigersinn vom Scheitelpunkt ausgeht. Demzufolge ist die Linie 34 zwischen dem Scheitelpunkt (Punkt 1) und dem Schnittpunkt (Punkt 4) mit der minimalen X-Koordinate als "Xmin-Kante" definiert. Die Linie 36 zwischen dem Scheitelpunkt und dem Schnittpunkt (Punkt 2) mit der maximalen X-Koordinate ist als "Xmax-Kante" definiert.
Für jede "Xmin-Kante" (Linie 34 oder 38) sind die Schnittpunkt- Bildschirmkoordinaten der Start- und Endpunkte 1-4 und 4-3 durch (Xsmin, Ysmin, Zsmin) und (Xemin, Yemin, Zemin) entsprechend vorgegeben. Für jede "Xmax-Kante" (Linie 36 oder 40) sind die Schnittpunkt-Bildschirmkoordinaten der Start- und Endpunkte (1-2 und 2-3) durch (Xsmax, Ysmax, Zsmax) und (Xemax, Yemax, Zemax) entsprechend vorgegeben. Es sei vermerkt, daß für den Punkt 1 folgende Werte gelten: Xsmin = Xsmax, Ysmin = Ysmax und Zsmin = Zsmax.
Daher wird definiert:
Xsmin = Bildschirm-Start-Schnittpunkt für den X-Wert minimaler Kante (1)
Ysmin = Bildschirm-Start-Schnittpunkt für den Y-Wert minimaler Kante (2)
Zsmin = Startwert Z für die minimale Kante im Bildschirmraum (3)
Xemin = Bildschirm-End-Schnittpunkt für den X-Wert minimaler Kante (4)
Yemin = Bildschirm-End-Schnittpunkt für den Y-Wert minimaler Kante (5)
Zemin = Endwert Z für die minimale Kante im Bildschirmraum (6)
Xsmax = Bildschirm-Start-Schnittpunkt für den X-Wert maximaler Kante (7)
Ysmax = Bildschirm-Start-Schnittpunkt für den Y-Wert maximaler Kante (8)
Zsmax = Startwert Z für die maximale Kante im Bildschirmraum (9)
Xemax = Bildschirm-End-Schnittpunkt für den X-Wert maximaler Kante (10)
Yemax = Bildschirm-End-Schnittpunkt für den Y-Wert maximaler Kante (11)
Zemax = Endwert Z für die maximale Kante im Bildschirmraum (12)
Die obigen Gleichungen (1-12) werden in den Block 112 gemäß Fig. 3 verarbeitet. Ferner sei vermerkt, daß die entsprechenden Schnittpunkte (Punkte 1-4) im dem Texturraum (Fig. 5) ebenfalls im Uhrzeigersinn gespeichert werden, so daß jeder Schnittpunkt im Bildschirmraum mit einem entsprechenden Schnittpunkt im Texturraum gepaart ist. Sodann sind für jede "Xmin-Kante" (Linie 42 oder 44) die Schnittpunkt-Koordinaten im Texturraum für die Start- und Endpunkte (1-4 oder 4-3) durch (Xtsmin, Ytsmin) und Xtemin, Ytemin) entsprechend gegeben. Für jede "Xmax-Kante" (Linie 46 oder 48) sind die Schnittpunkt-Koordinaten im Texturraum der Start- und Endpunkte (1-2 oder 2-3) durch (Xtsmax, Ytsmax) und (Xtemax, Ytemax) entsprechend gegeben.
Somit wird folgendes definiert:
Xtsmin = X-Startkoordinate im Texturraum für die minimale Kante (13)
Ytsmin = Y-Startkoordinate im Texturraum für die minimale Kante (14)
Xtsmax = X-Startkoordinate im Texturraum für die maximale Kante (15)
Ytsmax = Y-Startkoordinate im Texturraum für die maximale Kante (16)
Xtemin = X-Endkoordinate im Texturraum für die minimale Kante (17)
Ytemin = Y-Endkoordinate im Texturraum für die minimale Kante (18)
Xtemax = X-Endkoordinate im Texturraum für die maximale Kante (19)
Ytemax = Y-Endkoordinate im Texturraum für die maximale Kante (20)
Die oben genannten Gleichungen (13-20) werden gleichzeitig mit der Verarbeitung in Fig. 3 im Block 212 in Fig. 4 durchgeführt.
Für jede "Xmin-Kante" des Bildschirmraumes werden Bildschirm-Deltas errechnet, welche folgendermaßen vorgegeben sind:
DXmin = Xemin-Xsmin (Bildschirm-Delta X für minimale Kante) (21)
DYmin = Yemin-Ysmin (Bildschirm-Delta Y für minimale Kante) (22)
DZmin = Zemin-Zsmin (Bildschirm-Delta Z für minimale Kante) (23)
In gleicher Weise werden für jede "Xmin-Kante" des Texturraumes Texturraum- Deltas errechnet, welche folgendermaßen vorgegeben sind:
DXTmin=Xtemin-Xtsmin (Delta X im Texturraum für Xmin-Kante) (24)
DYtmin=Ytemin-Ytsmin (Delta Y im Texturraum für Xmin-Kante) (25)
Für jede "Xmin-Kante" wird ferner ein Z-Verhältniswert errechnet, welcher entspricht:
ZRmin = Zemin/Zsmin (26)
Für jede "Xmin-Kante" des Texturraumes werden ferner berechnet Z und zugeordnete Textur-Deltas und Z und zugeordnete Texturbeschleunigungen, welche folgendermaßen vorgegeben sind:
Xtmin = Xtsmin (27)
XtminD = DXtmin*(ZTABLED (ZRmin, DYmin)) (28)
XtminDD = DXtmin*(ZTABLEDD (ZRmin, DYmin)) (29)
Ytmin = Ytsmin (30)
YtminD = DYtmin*(ZTABLED (ZRmin, DYmin)) (31)
YtminDD = DYtmin*(ZTABLEDD (ZRmin, DYmin)) (32)
Zmin = Zsmin (33)
ZminD = DZmin*(ZTABLED (ZRmin, DYmin)) (34)
ZminDD = DZmin*(ZTABLEDD (ZRmin, DYmin)) (35)
Es sei vermerkt, daß das Textur-Delta XtminD in Gleichung (28) dem Texturraum-Delta DXtmin auf Gleichung (24) multipliziert mit dem Wert ZTABLED entspricht. Ferner sei vermerkt, daß die Texturbeschleunigung XtminDD in Gleichung (29) dem gleichen entsprechenden Texturraum-Delta DXtmin multipliziert mit einem Wert ZTABLEDD entspricht. Es ist ersichtlich, daß die Werte ZTABLED und ZTABLEDD Funktionen von ZRmin und DYmin sind. In ähnlicher Weise stehen die Textur-Deltas XtminD und ZminD und die Texturbeschleunigungen YtminDD und ZminDD aus den entsprechenden Gleichungen (31), (32), (34) und (35) miteinander in Beziehung. Die Werte ZTABLED und ZTABLEDD werden als Z-Abbildungsfunktionen in der Aufsuchtabelle 26 in Fig. 2 gespeichert. Diese Werte sind gespeicherte Näherungen, die im großen Umfang die arithmetischen Algorithmen vereinfachen, die durch den Grafik-Coprozessor 14 durchgeführt werden müssen.
Insbesondere wurde ein schneller billiger Algorithmus gesucht, um die hyperbolische Funktion der inversen Transformations-Texturabbildung anzunähern, wie sie vollständiger in den älteren US-Patenten 4615013 und 4343037 beschrieben ist. Eine iterative Lösung, die nur Additionen benutzt, um sich zwischen Texturfeldpixeln auf einer Abtastlinie zu bewegen, ist stark bevorzugt, da sie geringen Rechenaufwand erfordert und sehr schnell ist.
Es ist entdeckt worden, daß die tatsächliche hyperbolische Abbildungsfunktion mit einer parabolischen Kurve angenähert werden kann, die durch aufeinanderfolgende Additionen (Geschwindigkeit und Beschleunigung) erzeugt wird. Dies ergibt eine vernünftig genaue Abbildung für Z-Verhältnisse zwischen 1/3 und 3. Ausgenommen in dem Fall extremer Nähe oder ungeheuer großer Objekte liegen nahezu alle Polygone in realen Systemen in diesem Bereich.
Von der folgenden Formel hat es sich herausgestellt, daß sie zu besonders guten Resultaten für die Delta (D) und Beschleunigungs-(DD)-Werte führt:
DD = (4-(8/(ZR+1)))/(DL*DL)
D = (1.0/DL)-((DL-1)*DD/2)
Worin: ZR das Verhältnis der End- und Startkoordinaten Z der Bestimmungslinie ist und DL die Anzahl der Abtastungen auf der Bestimmungslinie ist.
Im Fall von Kantenlinien (Xmin, Xmax) ist DL die Anzahl der Abtastlinien, die durch die Kante (DYmin, DYmax) überspannt wird. Im Falle einer individuellen Abtastlinie ist DL der Delta-Wert X der Abtastlinie (DX) und entspricht der Anzahl der Pixel in der Abtastlinie.
Im bevorzugten Ausführungsbeispiel dieser Erfindung werden die Werte DD und D in Aufsuchtabellen ZTABLED und ZTABLEDD entsprechend für einen endlichen Bereich von Werten von ZR und DL gespeichert. Dies reduziert die auf einer Linienbasis auszuführenden Berechnungen und führt in den meisten Fällen zu einer hinreichend genauen Annäherung. Um z. B. XtminD und XtminDD in den Gleichungen 28 und 29 zu berechnen, ist ZR = ZRmin und DL = DYmin. Auch ohne die Vereinfachung mit der Tabellenaufsuche sei vermerkt, daß der Berechnungsaufwand pro Linie sehr viel geringer als der pro Pixel erforderliche Aufwand bekannter Algorithmen ist. Der pro Pixel erforderliche Berechnungsaufwand von 4 Additionen ist unendlich klein in bezug auf bekannte Algorithmen.
Für jede "Xmin-Kante" des Bildschirmraumes wird eine Neigung X berechnet, die folgendermaßen vorgegeben ist:
Xminslope = DXmin/DYmin (X-Neigung zwischen jeder Abtastlinie im Bild­ schirmraum an Xmin-Kante) (36)
In gleicher Weise werden für jede "Xmax-Kante" des Bildschirmraumes Bildschirm-Deltas berechnet, welche folgendermaßen vorgegeben sind:
DXmax = Xemax-Xsmax (Bildschirm-Delta X für maximale Kante) (37)
DYmax = Yemax-Ysmax (Bildschirm-Delta Y für maximale Kante) (38)
DZmax = Zemax-Zsmax (Bildschirm-Delta Z für maximale Kante) (39)
In gleicher Weise werden für jede "Xmax-Kante" des Texturraumes Texturraum- Deltas berechnet, die folgendermaßen vorgegeben sind:
DXtmax=Xtemax-Xtsmax (Delta X im Texturraum für Xmax-Kante) (41)
DYtmax=Ytemax-Ytsmax (Delta Y im Texturraum für Xmax-Kante) (42)
Es wird ferner für jede "Xmax-Kante" ein Verhältniswert Z berechnet, welcher entspricht:
ZRmax = Zemax/Zsmax (43)
Für jede Xmax-Kante" des Texturraumes werden ferner bezüglich Z Textur- Deltas und Texturbeschleunigungen in der folgenden Weise berechnet:
Xtmax = Xtsmax (44)
XtmaxD = DXtmax*(ZTABLED (ZRmax, Dymax)) (45)
XtmaxDD = DXtmax*(ZTABLEDD (ZRmax, DYmax)) (46)
Ytmax = Ytsmax (47)
YtmaxD = DYtmax*(ZTABLED (ZRmax, DYmax)) (48)
YtmaxDD = DYtmax*(ZTABLEDD (ZRmax, DYmax)) (49)
Zmax = Zsmax (50)
ZmaxD = DZmax*(ZTABLED (ZRmax, DYMax)) (51)
ZmaxDD = DZmax*(ZTABLEDD (ZRmax, DYmax)) (52)
Schließlich wird für jede "Xmax-Kante" des Bildschirmraumes eine Neigung X in der folgenden Weise berechnet:
Xmanslope = DXmax/DYmax (X-Neigung zwischen jeder Abtastlinie im Bildschirmraum an der Xmax-Kante) (53)
Aus den oben genannten Gleichungen werden die manchmal als "Kantenparameter" bezeichneten Werte für das zu zeichnende Polygon erzeugt.
Mit anderen Worten sind die Schnittpunkt-Bildschirmkoordinaten der Start- und Endpunkte entlang jeder "Xmin-Kante" und jeder "Xmax-Kante" definiert worden. Ferner sind die Schnittpunkt-Texturraumkoordinaten der Start- und Endpunkte für jede "Xmin-Kante", und jede "Xmax-Kante" definiert worden. Als nächstes wird das Polygon Zeile für Zeile in Bildschirmkoordinaten abgetastet, beginnend mit der Zeile, die den geringsten Y-Koordinatenwert aufweist bis zu der Zeile mit dem maximalen Y-Koordinatenwert. Für jede Zeile wird der X- Koordinatenwert fortwährend jedesmal um 1 über der speziellen Reihe erhöht. Gleichzeitig wird das Texturfeld in einer ähnlichen und synchronisierten Weise in Texturraumkoordinaten abgetastet. Um solch einen Abtastprozeß zu bewirken, muß für jede Abtastlinie(n) folgendes berechnet werden:
Yscrn(n)=Yscrn(n-1)+1
Y-Schirmkoordinaten-Fortschreibung (54)
Xmin(n)=Xmin(n-1)+Xminslope X-Schirmwert für den Start der Abtastlinie (55)
Xmax(n)=Xmax(n-1)+Xmaxslope X-Schirmwert für das Ende der Abtastlinie (56)
Zmin(n)=Zmin(n-1)+ZminD Startschritt Z auf der Abtastlinie (58)
ZminD(n)=ZmindD(n-1)+ZminDD Schritt ZminD (59)
Xtmin(n)=Xtmin(n-1)+XtminD Schritt minimale Kante Texturfeld X (60)
XtminD(n)=XtminD(n-1)+XtminDD Schritt XtminD (61)
Ytmin(n)=Ytmin(n-1)+YtminD Schritt minimale Kante Abtastfeld Y (62)
YtminD(n)=YtminD(n-1)+YtminDD Schritt YtminD (63)
Zmax(n)=Zmax(n-1)+ZmaxD Endschritt Z auf Abtastlinie (64)
ZmaxD(n)=ZmaxdD(n-1)+ZmaxDD Schritt ZmaxD (65)
Xtmax(n)=Xtmax(n-1)+XtmaxD Schritt minimale Kante Abtastfeld X (66)
XtmaxD(n)=XtmaxD(n-1)+XtmaxDD Schritt XtmaxD (67)
Ytmax(n)=Ytmax(n-1)+YtmaxD Schritt maximale Kante Abtastfeld Y (68)
YtmaxD(n)=YtmaxD(n-1)+YtmaxDD Schritt YtmaxD (69)
ZR(n)=Zmax(n)/Zmin(n) (70)
DXt(n)=Xtsmax(n)-Xtsmin(n) Delta X Abtastlinie im Texturraum (71)
DYt(n)=Ytsmax(n)-Ytsmin(n) Delta Y Abtastlinie im Texturraum (72)
Xt(0)=Xtmin(n) (73)
XtD(n)=DXt(n)*ZTABLED(ZR(n), DX(n))) (74)
XtDD(n)=DXt(n)*ZTABLEDD(ZR(n), DX(n))) (75)
Yt(0)=Ytmin(n) (76)
YtD(n)=DYt(n)*CTABLED(ZR(n), DX(n))) (77)
YtDD(n)=DYt(n)*ZTABLEDD(ZR(n), DX(1n))) (78)
Aus Obigen werden die Bestimmungs- und Quellenadressen für den Start- und das Ende einer jeden Abtastlinie(n) erzeugt. Für jedes Pixel auf einer speziellen Abtastlinie(n) werden berechnet:
Xscrn(m)=Xscrn(m-1)+1
X-Schirmkoordinate für Pixel m (79)
Xt(m)=Xt(m-1)+XtD(m-1) X Texturfeld (80)
XtD(m)=XtD(m-1)+XtDD (81)
Yt(m)=Yt(m-1)+YtD(m-1) Y Texturfeld (82)
YtD(m)=YtD(m-1)+YtDD (83)
Es sei vermerkt, daß die Y-Bildschirmkoordinate (Yscrn) die gleiche für eine bestimmte Abtastlinie verbleibt und die X-Bildschirmkoordinate (Ysrn) wie sie in Gleichung (79) definiert ist, jedesmal für das nächste Pixel um 1 erhöht wird. Die Oberflächen-Texturdaten, auf die durch die Quellenadressen Xt(m) und Yt(m) aus den entsprechenden Gleichungen (80) und (82) in dem Texturspeicher 16 zugegriffen wird, werden sodann benutzt, um die Stelle auf dem Bildschirm zu füllen, auf die durch die Bestimmungsadressen Xscrn(m) und Yscrn(n) für jedes Pixel in der Abtastlinie (n) zugegriffen wird.
Wie aus den Gleichungen (80) bis (83) erkennbar, sind lediglich 4 Additionen erforderlich, um die Quellenadresse für jedes Pixel m auf der Abtastlinie n zu errechnen. Für die nächste und jede nachfolgende Abtastlinie müssen die obigen Gleichungen (54) bis (78) erneut berechnet werden. Wenn der nächste Schnittpunkt am Ende entweder eine Linie "Xmin-Kante" oder einer Linie "Xmax-Kante" erreicht wird, so müssen die entsprechenden Kantenparameter erneut berechnet werden, bevor die Abtastlinie-Verarbeitungsberechnungen durchgeführt werden.
Wie aus Fig. 5 erkennbar ist, ist ein Teil der Oberfläche des Polygons durch Punkte t entlang entlang aufeinander folgender Abtastlinien 51, 52, 53, 54 usw. von der Xmin-Kantenlinie 34 zu der Xmax-Kantenlinie 36 auf dem Bildschirmraum definiert. In gleicher Weise ist der Teil der Oberfläche im Texturraum durch Punkte s entlang aufeinander folgender gebogener Linien 55, 56, 57, 58 usw. von der Xmin-Kantenlinie 42 zu der Xmax-Kantenlinie 46 definiert. Wie ersichtlich, sind die beispielhaften Punkte t1-t6 auf der Abtastlinie 54 linear, während die entsprechenden Punkte s1-s6 auf der Abtastlinie 58 im Texturraum nicht linear sondern gebogen sind. Der Grund hierfür liegt darin, daß die Veränderung in Z (Tiefenkoordinate) von einem Punkt zu dem nächsten Punkt im Texturraum nicht linear ist. Die Daten von dem Punkt s1 im Texturraum werden benutzt, um den Punkt t1 im Bildschirmraum auszufüllen. In gleicher Weise werden die Oberflächen-Texturdaten an den Punkt s2 im Texturraum benutzt, um den Ort t2 im Bildschirmraum auszufüllen usw.
Aus der vorhergehenden detaillierten Beschreibung ist es somit ersichtlich, daß die vorliegende Erfindung ein verbessertes dreidimensionales Textur-Abbildungs- Displaysystem für die Darstellung dreidimensionaler projizierter Polygone mit einem Texturfeld auf einem zweidimensionalen Raster-Dsiplaybildschirm vorgibt. Das Displaysystem umfaßt einen Host-Computer und einen Grafik-Coprozessor. Ein Grafik-Coprozessor ist erforderlich, um nur einfache arithmetische Algorithmen bzw. mathematische Berechnungen durchzuführen, um Oberflächen- Texturdaten zu jedem Bestimmungspixel auf dem Bildschirmraum einer Cathodenstrahlröhre oder einer anderen Displayvorrichtung zu liefern. Ein Grafik-Coprozessor umfaßt eine Aufsuchtabelle für die Speicherung von Z- Abbildungsfunktionen, welche benutzt werden, um die Berechnungen der Delta- und Beschleunigungswerte im Texturraum für die Bestimmung von Quellenadressen in einem Texturspeicher zu vereinfachen. Dies sind die Mittel, durch die die Vorteile der vorliegenden Erfindung verwirklicht werden.
Während dargestellt und beschrieben worden ist, was gegenwärtig als ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung angesehen wird, versteht es sich für den Fachmann, daß verschiedene Änderungen und Modifikationen gemacht werden können und Äquivalente für Elemente derselben ersetzt werden können, ohne daß von dem tatsächlichen Rahmen der Erfindung abgewichen wird. Ferner können viele Modifikationen vorgenommen werden, um sich einer bestimmten Situation oder dem Wesen der erfinderischen Lehre anzupassen, ohne daß von dem zentralen Umfang abgewichen wird. Daher ist es beabsichtigt, daß diese Erfindung nicht auf die spezielle Ausführungsform beschränkt wird, die als bestes Ausführungsbeispiel zur Durchführung der Erfindung offenbart wurde, sondern daß die Erfindung alle Ausführungen umfaßt, die unter den Rahmen der beigefügten Ansprüche fallen.

Claims (8)

1. Displaysystem zur Verwendung bei Videospielen, um eine Echtzeit-Animation von Videospielszenen mit Texturoberflächen zu gestalten, wobei das Displaysystem dreidimensional projizierte texturiert abgebildete Polygone auf einer zweidimensionalen Displayvorrichtung, die einen aus Bildelementen (Pixen) zusammengesetzten Bildschirm besitzt, abbildet, gekennzeichnet durch:
eine Host-Verarbeitungseinrichtung (12), die auf Eingangsdaten von einem Host-Speicher (24) anspricht, die ein Gesamtbild definieren, das in dreidimensionaler Form auf einer Displayvorrichtung (22) darzustellen ist;
eine Grafik-Coprozessor-Einrichtung (14), die auf die Host- Verarbeitungseinrichtung anspricht, um vorzugeben:
  • (i) Bestimmungsadressen für jedes Pixel auf dem Bildschirm der Displayvorrichtung und
  • (ii) eine entsprechende Quellenadresse, aus der Oberflächen-Texturdaten für jedes Pixel geliefert werden; und
wobei die Grafik-Coprozessor-Einrichtungen (25-30) zur Vorgabe von Z-Abbildungs-Funktionswerten aufweist, aus denen Delta- und Beschleunigungswerte berechnet werden können, um die Quellenadressen zu bestimmen,
wodurch eine hinreichend genaue perspektivische Darstellung eines texturiert abgebildeten Polygons auf einem zweidimensionalen Display mit minimaler Berechnung erzeugt wird.
2. Displaysystem nach Anspruch 1, dadurch gekennzeichnet, daß die Z-Abbildungs-Funktionswerte Funktionen der Bildschirm-Deltas und eines Verhältnisses Z sind.
3. Displaysystem nach Anspruch 1, dadurch gekennzeichnet, daß die Delta- und Beschleunigungswerte aus folgenden Formeln bestimmt werden: DD = (4-(8/(ZR+ 1)))/(DL2)
D = (1/DL)-((DL-1)DD/2),wobei ZR das Verhältnis von Z End- und Startkoordinaten der Bestimmungslinie sind; DL die Anzahl der Abtastungen in der Bestimmungslinie angibt.
4. Displaysystem nach Anspruch 1, ferner gekennzeichnet durch eine Video-Bildrahmen-Puffereinrichtung (18) für die Speicherung der Bestimmungs-Quellenadressen von dem Grafik-Coprozessor (14), um diese direkt an die Raster-Displayvorrichtung (22) zu liefern.
5. Displaysystem nach Anspruch 1, ferner gekennzeichnet durch eine Video-Bildrahmen-Puffereinrichtung (18) für die Speicherung der Bestimmungs-Quellenadressen aus dem Grafik-Coprozessor (14) und zur Erzeugung von Farbindexdaten und ferner durch eine Farb-Aufsuchtabelle (26) zur Speicherung von Farb- und Intensitätswerten, die aufgrund der Farb-Indexdaten Farben und Intensitätswerte an die Raster-Displayvorrichtung liefert.
6. Verfahren zur Verwendung mit Videospielen, um eine Echtzeit- Animation von Videospielszenen mit Texturoberflächen zu gestalten, um dreidimensional projizierte strukturiert abgebildete Polygone auf einer zweidimensionalen Displayvorrichtung, die einen aus Bildelementen (Pixen) zusammengesetzten Bildschirm besitzt, abzubilden, gekennzeichnet durch die Schritte:
Verarbeitung von Eingangsdaten aus einem Host-Speicher, die ein Gesamtbild definieren, das in dreidimensionaler Form auf der zweidimensionalen Displayvorrichtung darzustellen ist;
Festlegung von Bestimmungsadressen für jedes Pixel auf dem Schirmbereich der Displayvorrichtung und zur Festlegung einer entsprechenden Quellenadresse, die Oberflächen-Texturdaten für das Bild jeder Bestimmungsadresse liefert; und
Speicherung von Z-Abbildungs-Funktionswerten in einer Aufsuchtabelle, um Delta- und Beschleunigungswerte im Texturraum vorzugeben, die verwendet werden können, um die Quellenadressen vorzugeben;
wodurch eine hinreichend genaue perspektivische Darstellung eines texturiert abgebildeten Polygons auf einem zweidimensionalen Display mit minimaler Berechnung erzielt wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Delta- und Beschleunigungswerte nach folgenden Formeln bestimmt werden: DD = (4-(8/(ZR+1)))/(DL2)
D = (1/DL)-((DL-1)DD/2)wobei ZR das Verhältnis von Z End- und Startkoordinaten der Bestimmungslinie ist; DL die Anzahl der Abtastungen in der Bestimmungslinie angibt.
DE4314265A 1992-05-04 1993-04-30 Displaysystem Expired - Fee Related DE4314265B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/878,151 US5469535A (en) 1992-05-04 1992-05-04 Three-dimensional, texture mapping display system
US07/878,151 1992-05-04

Publications (2)

Publication Number Publication Date
DE4314265A1 true DE4314265A1 (de) 1993-11-11
DE4314265B4 DE4314265B4 (de) 2006-01-19

Family

ID=25371483

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4314265A Expired - Fee Related DE4314265B4 (de) 1992-05-04 1993-04-30 Displaysystem

Country Status (3)

Country Link
US (1) US5469535A (de)
DE (1) DE4314265B4 (de)
FR (1) FR2690770B1 (de)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2267203B (en) * 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
JP2634126B2 (ja) * 1992-07-27 1997-07-23 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィックス表示方法および装置
US5577960A (en) * 1993-06-10 1996-11-26 Namco, Ltd. Image synthesizing system and game playing apparatus using the same
CA2127053C (en) * 1993-07-02 2005-01-04 Makoto Furuhashi Method and apparatus for time-sharing cpu system bus in image generation system
JPH0778267A (ja) * 1993-07-09 1995-03-20 Silicon Graphics Inc 陰影を表示する方法及びコンピュータ制御表示システム
JPH0757117A (ja) * 1993-07-09 1995-03-03 Silicon Graphics Inc テクスチャマップへの索引を生成する方法及びコンピュータ制御表示システム
GB9406515D0 (en) * 1994-03-31 1994-05-25 Argonaut Software Limited Texture mapping for 3-d computer graphics
AU4985096A (en) * 1995-03-02 1996-09-18 Parametric Technology Corporation Computer graphics system for creating and enhancing texture maps
US5719599A (en) * 1995-06-07 1998-02-17 Seiko Epson Corporation Method and apparatus for efficient digital modeling and texture mapping
US5892518A (en) * 1995-07-28 1999-04-06 Matsushita Electric Industrial Co., Ltd. Image generating apparatus with pixel calculation circuit including texture mapping and motion compensation
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US7038698B1 (en) 1996-02-08 2006-05-02 Palm Charles S 3D stereo browser for the internet
US7190371B2 (en) 1996-02-08 2007-03-13 Palm Charles S 3D stereo browser for the internet
US7091991B2 (en) * 1996-02-08 2006-08-15 Palm Charles S 3D stereo browser for the internet
JP3320295B2 (ja) * 1996-02-22 2002-09-03 キヤノン株式会社 情報処理装置及びその制御方法
US5903270A (en) * 1997-04-15 1999-05-11 Modacad, Inc. Method and apparatus for mapping a two-dimensional texture onto a three-dimensional surface
US5870105A (en) * 1996-05-31 1999-02-09 Hewlett-Packard Company System and method for local storage of image data during object to image mapping
US5831640A (en) * 1996-12-20 1998-11-03 Cirrus Logic, Inc. Enhanced texture map data fetching circuit and method
US5905500A (en) * 1997-02-19 1999-05-18 Seiko Epson Corporation Method and apparatus for adaptive nonlinear projective rendering
US20020154132A1 (en) 1997-07-30 2002-10-24 Alain M. Dumesny Texture mapping 3d graphic objects
US6016151A (en) * 1997-09-12 2000-01-18 Neomagic Corp. 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation
US5956043A (en) * 1997-09-18 1999-09-21 Novell, Inc. Textured tile rotation system and method
US6208350B1 (en) * 1997-11-04 2001-03-27 Philips Electronics North America Corporation Methods and apparatus for processing DVD video
EP2252071A3 (de) * 1997-12-05 2017-04-12 Dynamic Digital Depth Research Pty. Ltd. Verbesserte Bildumwandlungs- und Kodierungstechniken
AU738692B2 (en) * 1997-12-05 2001-09-27 Dynamic Digital Depth Research Pty Ltd Improved image conversion and encoding techniques
US20040207628A1 (en) * 1997-12-30 2004-10-21 Hoddie J. Peter Method and apparatus for chaining two or more tweens to provide non-linear multimedia effects
US6181352B1 (en) 1999-03-22 2001-01-30 Nvidia Corporation Graphics pipeline selectively providing multiple pixels or multiple textures
US6556199B1 (en) 1999-08-11 2003-04-29 Advanced Research And Technology Institute Method and apparatus for fast voxelization of volumetric models
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
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
WO2002013141A1 (en) * 2000-08-09 2002-02-14 Dynamic Digital Depth Research Pty Ltd Image conversion and encoding techniques
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
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
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US7061502B1 (en) 2000-08-23 2006-06-13 Nintendo Co., Ltd. Method and apparatus for providing logical combination of N alpha operations within a graphics system
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
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US7274372B1 (en) * 2000-11-06 2007-09-25 Intel Corporation Real-time digital three dimensional engraving
DE10102477A1 (de) 2001-01-19 2002-07-25 Storz Endoskop Gmbh Schaffhaus Vorrichtung zum Applizieren von Licht auf eine Gefäßwand
US8145503B2 (en) 2005-02-25 2012-03-27 Virtual Radiologic Corporation Medical image metadata processing
US8229761B2 (en) 2005-02-25 2012-07-24 Virtual Radiologic Corporation Enhanced multiple resource planning and forecasting
US7729928B2 (en) 2005-02-25 2010-06-01 Virtual Radiologic Corporation Multiple resource planning system
US8195481B2 (en) 2005-02-25 2012-06-05 Virtual Radiologic Corporaton Teleradiology image processing system
US7880738B2 (en) * 2005-07-14 2011-02-01 Molsoft Llc Structured documents and systems, methods and computer programs for creating, producing and displaying three dimensional objects and other related information in those structured documents
US20090080803A1 (en) * 2007-09-20 2009-03-26 Mitsugu Hara Image processing program, computer-readable recording medium recording the program, image processing apparatus and image processing method
JP2011022726A (ja) * 2009-07-14 2011-02-03 Sony Corp 画像処理装置および画像処理方法
US10535180B2 (en) 2018-03-28 2020-01-14 Robert Bosch Gmbh Method and system for efficient rendering of cloud weather effect graphics in three-dimensional maps
US11373356B2 (en) 2018-03-28 2022-06-28 Robert Bosch Gmbh Method and system for efficient rendering of 3D particle systems for weather effects
US10901119B2 (en) 2018-03-28 2021-01-26 Robert Bosch Gmbh Method and system for efficient rendering of accumulated precipitation for weather effects
US10424074B1 (en) 2018-07-03 2019-09-24 Nvidia Corporation Method and apparatus for obtaining sampled positions of texturing operations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4586038A (en) * 1983-12-12 1986-04-29 General Electric Company True-perspective texture/shading processor
EP0282504B1 (de) * 1986-09-11 1992-10-07 Hughes Aircraft Company Digitales simulationssystem zur erzeugung von realistischen szenen
US4885703A (en) * 1987-11-04 1989-12-05 Schlumberger Systems, Inc. 3-D graphics display system using triangle processor pipeline
AU4033889A (en) * 1988-07-06 1990-02-05 Apollo Computer, Inc. Texture mapping for computer graphics display controller system
GB8828342D0 (en) * 1988-12-05 1989-01-05 Rediffusion Simulation Ltd Image generator
US5224208A (en) * 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
KR940007666B1 (ko) * 1990-12-26 1994-08-22 재단법인 한국전자통신연구소 이중층의 내열성 게이트를 사용한 자기정렬형 GaAs 전계효과 트랜지스터의 제조방법

Also Published As

Publication number Publication date
DE4314265B4 (de) 2006-01-19
FR2690770B1 (fr) 1995-03-03
US5469535A (en) 1995-11-21
FR2690770A1 (fr) 1993-11-05

Similar Documents

Publication Publication Date Title
DE4314265B4 (de) Displaysystem
DE60133166T2 (de) Verfahren und Vorrichtung zur Volumendarstellung
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE69333508T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
DE4211385A1 (de) Daten-projektionssystem
DE3022454A1 (de) Optisches abbildesystem mit computererzeugtem bild fuer einen bodenfesten flugsimulator
DE3832222A1 (de) Vorrichtung und verfahren zum anzeigen eines 2-dimensionalen bildes eines 3-dimensionalen gegenstandes
DE60000686T2 (de) Graphisches system mit super-abgetastetem musterpuffer mit erzeugung von ausgangpixeln unter verwendung von selektiven adjustierung der filterung zur artifaktverminderung
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
DE112005002076T5 (de) Unterteilung von Geometriebildern in Grafikhardware
EP0789328A2 (de) Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
DE19619288A1 (de) System und Verfahren zur Dreieck-Rasterung mit in zwei Dimensionen verschachtelten Rahmenpuffern
DE69916808T2 (de) Verfahren und system zur strahlverfolgung
DE69735181T2 (de) Verfahren und Vorrichtung für virtuelle Architektur
DE69531536T2 (de) Synthetisches bilderzeugungsverfahren mit sphärischem puffer
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE19807013A1 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
DE102018125472A1 (de) Grafikprozessor, der Abtastungs-basiertes Rendering durchführt, und Verfahren zum Betreiben desselben
EP2528042B1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen
DE60024117T2 (de) Tiefenbasierte mischung mit 3d aufrasterungsgerät
DE102017112190A1 (de) Anzeigesystem und Verfahren zum Erzeugen eines scheinbar dreidimensionalen Bilds eines Objekts
DE69910980T2 (de) Antialiasing mit unterabtastung für textur-raender
JPH10507858A (ja) 3次元ワイヤフレーム上の写真現実表面に自動的に迅速に描画する方法および装置
DE4100691A1 (de) Verfahren zur darstellung eines dreidimensionalen modells

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: MIDWAY AMUSEMENT GAMES, LLC, CHICAGO, ILL., US

8339 Ceased/non-payment of the annual fee