DE69430647T2 - Bilddarstellung - Google Patents
BilddarstellungInfo
- Publication number
- DE69430647T2 DE69430647T2 DE69430647T DE69430647T DE69430647T2 DE 69430647 T2 DE69430647 T2 DE 69430647T2 DE 69430647 T DE69430647 T DE 69430647T DE 69430647 T DE69430647 T DE 69430647T DE 69430647 T2 DE69430647 T2 DE 69430647T2
- Authority
- DE
- Germany
- Prior art keywords
- light source
- illumination
- distance
- object space
- index
- 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
Links
- 238000005286 illumination Methods 0.000 claims description 48
- 238000000034 method Methods 0.000 claims description 34
- 230000000694 effects Effects 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 5
- 238000000844 transformation Methods 0.000 claims description 4
- 230000007423 decrease Effects 0.000 claims description 3
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 238000009826 distribution Methods 0.000 description 24
- 239000013598 vector Substances 0.000 description 14
- 238000009877 rendering Methods 0.000 description 12
- 230000015572 biosynthetic process Effects 0.000 description 10
- 238000003786 synthesis reaction Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000012925 reference material Substances 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Darstellen eines zweidimensionalen Bildes (2-D), das einen dreidimensionalen Gegenstandsraum, definiert in einer Gegenstandsdatei, darstellt.
- Es sind eine Vielzahl von Bilddarstellungstechniken und Geräte beschrieben worden, und zwar in: "Computer Graphics: Principles and Practice" von Foley, von Dam und Hughes, herausgegeben von Addison-Wesley, ISBN 0-201- 12110-7. Die vorliegende Erfindung bezieht sich insbesondere auf die Synthese solcher Bilder in Echtzeit, was typischerweise die Verwendung von Spezial-Bildsynthese-Hardware zum Durchführen des Verfahrens erfordert.
- Ein Problem bei Echtzeit-Bildsynthesesystemen ist die genaue Modellierung des Musters des Lichtfalls auf eine Gegenstandsfläche von Lichtquellen, die nicht einfache Punktquellen sind, die Licht gleichmäßig in allen Richtungen ausstrahlen. Eine von David R. Warn in "Lighting Controls for Synthetic Images", "Computer Graphics" Heft 17, Nr. 3 (Juli 1983), Seiten 13-21 beschriebene Technik benutzt eine mathematische Funktion des Winkels zwischen der Linie von einer Lichtquelle zu dem zu beleuchtenden Punkt und der Richtung der Lichtquelle zum Bestimmen der Intensität der Lichtquelle an dem betreffenden Punkt.
- Abgesehen von der Anordnung einfacher "Klappen" zum Begrenzen des Gebietes der Beleuchtung kann das Warn-Beleuchtungsmodell nur kreissymmetrische punktförmige Lichtquellen, wie einfache Punktstrahler, beschrieben.
- Viele Lichtquellen, wie stabförmige Leuchten zur Innenbeleuchtung haben relativ komplexe und vor allem eine asymmetrische Intensitätsverteilung, was gemessen und durch zwei- oder mehr-dimensionale goniometrische Diagramme dargestellt werden kann. In "A Comprehensive Light-Source Description for Computer Graphics", IEEE CG&A, Juli 1984, Seiten 55-75, beschreiben C. P. Verbeck und D. P. Greenberg ein Computerprogramm 'Bulb', das beliebige goniometrische Definitionen von Lichtverteilung empfangen kann und indem diese mit einer Folge von Splinekurvenfunktionen angenähert wird, und die relative Beleuchtung in jeder beliebigen Richtung von der Lichtquelle erhalten kann.
- Unglücklicherweise ist eine derartige Technik ungeeignet zum Implementieren in preisgünstigen, Echtzeitbildsynthese, wobei die Hardware für solche intensive, pixelweise Berechnungen normalerweise nicht verfügbar ist.
- Deswegen ist es nun eine Aufgabe der vorliegenden Erfindung das Modellieren komplexer Lichtquellen in Echtzeit zu ermöglichen, und zwar unter Verwendung von preisgünstiger Bildsynthese-Hardware.
- Die vorliegende Erfindung schafft dazu ein Verfahren zum Darstellen eines zweidimensionalen (2-D) Bildes von einem dreidimensionalen (3-D) Gegenstandsraum, definiert durch eine Gegenstandsdatei, wobei die Gegenstandsdatei wenigstens eine Lichtquelle definiert mit einer Position und einer Richtung in dem Gegenstandsraum, wobei das Verfahren durch die nachfolgenden Verfahrensschritte gekennzeichnet wird:
- (a) das für die Lichtquelle Erzeugen und Speichern einer 2-D-Tabelle von Beleuchtungswerten, die eine Variation der Beleuchtung in einer Ebene darstellen, und zwar abhängig von einer Richtung gegenüber der Lichtquellenrichtung;
- (b) das Identifizieren eines wichtigen Punktes in dem Gegenstandsraum und das Bestimmen einer 2-D Richtung in dem Gegenstandsraum von der Lichtquellenposition zu dem betreffenden Punkt, relativ zu der Lichtquellenrichtung; und
- (c) das Anwenden der bestimmten relativen Richtung als Index für die gespeicherte 2- D-Tabelle zum Erhalten eines Wertes zur Beleuchtung durch die Lichtquelle an dem betreffenden Punkt.
- Die Verwendung einer 2-D-Nachschlagtabelle ermöglicht die Implementierung beliebig komplexer Lichtfunktionen ohne komplexe Berechnungen zur Zeit der Darstellung. Wichtiger ist es, dass 2-D-Nachschlaghardware oft bereits in Echtzeit-Bildsynthesehardware zur Strukturdarstellung verfügbar ist. Wenn die Hardware ausreichend konfigurierbar ist, kann auf diese Weise die Anordnung teurer Hardware, zugeschnitten auf Beleuchtungsmodellierung vermieden werden.
- Die in der 2-D-Tabelle gespeicherten Werte können die Variation in der Beleuchtung über wenigstens einen Teil einer sphärischen Fläche darstellen, welche die Position der Lichtquelle in dem Gegenstandsraum umgibt, wobei die als Index in dem Schritt (c) verwendete 2-D-Richtung ein Winkelkoordinatenpaar umfasst. Die Winkelkoordinaten können beispielsweise die Quer- und Längswinkel eines herkömmlichen asymmetrischen goniometrischen Diagramms der Beleuchtungsbeschreibung entsprechen.
- Es ist erwünscht, dass Schatten in dem dargestellten Bild gleichmäßig ist, ohne aufdringliche "Kontur"-Effekte. Dazu ist eine bestimme Form von Filterung beim Auslesen der Tabelle erwünscht. Bei einer Ausführungsform umfasst der Richtungsindex einen ganzen Teil und einen Bruchteil, wobei der in dem Schritt (c) erhaltene Beleuchtungswert aus einer Anzahl in der 2-D-Tabelle gespeicherter Werte hergeleitet wird, und zwar durch Filterung entsprechend dem genannten Bruchteil. Filterhardware, wie ein bilinearer Interpolator ist in der bestehenden Strukturwiedergabehardware oft vorhanden.
- Die 2-D-Tabelle kann eine Tabelle einer Reihe von 2-D-Tabellen sein, die für die Lichtquelle gespeichert worden ist, wobei jede Tabelle die Variation der Beleuchtung in einem anderen Abstand von der Lichtquellenposition darstellt, während der Schritt (b) weiterhin das Bestimmen des Abstandes in dem Gegenstandsraum zwischen der Lichtquellenposition und dem betreffenden Punkt umfasst und wobei der Schritt (c) weiterhin die Verwendung des Abstandes als Abstandsindex zum Selektieren einer geeigneten 2-D-Tabelle aus der Reihe von 2-D-Tabellen benutzt wird.
- Viele echte Lichtquellen haben eine derartige Geometrie, dass die Verteilung von Licht entsprechend dem Abstand der Lichtquelle von dem betreffenden Punkt, sowie entsprechend der Richtung variiert. Es gibt keine Möglichkeit, solche Variationen in den bekannten Verfahren unterzubringen. Herkömmliche Hardware für Strukturdarstellung schaffen oft Mehrfach-2-D-Anordnungen, wie beschrieben, beispielsweise in GB-2240015-A (PHB 33.611), so dass das vorgeschlagene Verfahren wieder durch eine effiziente Verwendung bestehender Hardware implementiert werden kann.
- Zur Vermeidung von Kontureffekten kann auch hier wieder der Abstandsindex einen ganzzahligen Teil und einen Bruchteil aufweisen, wobei der Beleuchtungswert, der in dem Schritt (c) erhalten wird, zwischen Werte interpoliert wird, die in einer Anzahl 2-D-Tabellen der Reihe gespeichert sind, entsprechend dem genannten Bruchteil des Abstandsindexes.
- Bekanntlich ist, abgesehen von Abstandsvariationen, verursacht durch die Geometrie der Lichtquelle, die Intensität der Beleuchtung umgekehrt proportional zu dem Quadrat des Abstandes von der Lichtquelle. Auf entsprechende Weise können dort, wo eine Reihe von 2-D-Anordnungen für verschiedene Abstände gespeichert sind, die Beleuchtungswerte, die in jeder 2-D-Tabelle der Reihe gespeichert sind, eine Intensitätsvariation enthalten, umgekehrt proportional zu dem Quadrat des entsprechenden Abstandes von der Lichtquellenposition. Dies vermeidet eine einzelne Teilung durch das Quadrat des Abstandes. Wenn Interpolation zwischen 2-D-Tabellen angewandt wird, wird die invertierte Quadratvariation effektiv in einer stückweisen linearen Annäherung untergebracht.
- Das Unterbringen der invertierten Quadratvariation in den Tabellen selber kann aber einen unerwünscht großen dynamischen Bereich in den gespeicherten Werten erfordern. Dazu werden vorzugsweise die in jeder 2-D-Tabelle der Reihe gespeicherten Beleuchtungswerte anhand eines konstantes Abstandes von der Lichtquellenposition normalisiert, wobei der Schritt (c) weiterhin das Skalieren der Werte umfasst, die aus der 2-D-Tabelle erhalten worden sind um eine Intensitätsvariation wenigstens etwa umgekehrt proportional zu dem Quadrat des Abstandes von der Lichtquellenposition unterzubringen. Eine stückweise lineare Annäherung kann wieder durch eine lineare Interpolation zwischen umgekehrt quadrierte Abstandswerte untergebracht werden, die jeder 2-D-Tabelle zugeordnet sind, und zwar entsprechend einem Bruchteil des Abstandsindexes.
- Das Ausmaß an Einzelheiten in der Beleuchtungsverteilung kann mit dem Abstand variieren. Die 2-D-Tabellen der Reihe können deswegen verschieden bemessen sein. Insbesondere werden für viele Lichtquellen in der Verteilung nur in einem engen Bereich feine Einzelheiten vorhanden sein. Auf entsprechende Weise können die 2-D-Tabellen in der Reihe mit zunehmendem Abstand von der Lichtquellenposition in ihrer Größe abnehmen. Vereinfachte Indexberechnungen können dadurch entstehen, wenn jede Tabelle in der einen oder in der anderen Abmessung halb so groß ist wie der Vorgänger.
- Es kann Speicherraum gespart werden, wenn in dem Schritt (a) ein Bereich der Richtung, worin der Beleuchtungswert konstant ist, nicht in der 2-D-Tabelle dargestellt wird, wobei der Schritt (c) das Ersetzen des konstanten Wertes für den Beleuchtungswert umfasst, wenn die in dem Schritt (b) bestimmte Richtung innerhalb der genannten bestimmten Bereiche liegt. Viele Lichtquellen haben eine ganze Hemisphäre von Nullwerten, beispielsweise Beleuchtung.
- Auf gleiche Weise wird in einer Ausführungsform eines Verfahrens nach der vorliegenden Erfindung in dem Schritt (a) den Variationen der Beleuchtungswerte wenigstens ein Grad an Symmetrie auferlegt wird, und werden in den in der 2-D-Tabellen gespeicherten Werten dargestellt, wobei der Schritt (c) in einem Fall, in dem die in dem Schritt (b) bestimmte Richtung außerhalb des Untersatzes der in der 2-D-Tabelle dargestellten Richtungen liegt, wobei die bestimmte Richtung entsprechend der auferlegten Symmetrie transformiert wird zum Erhalten des Indexes in der 2-D-Tabelle.
- Die vorliegende Erfindung schafft weiterhin eine Anordnung zum Synthetisieren von Bildern von dreidimensionalen Szenen, wobei diese Anordnung die nachfolgenden Elemente umfasst:
- - Mittel zum Beibehalten einer Gegenstandsdatei, welche die Anordnung und das Äußere des Gegenstandes in einem 3-D-Raum (dem Gegenstandsraum) beschreibt;
- - Mittel zum Definieren eines Gesichtspunktes zur Darstellung der Gegenstände für einen Benutzer der Anordnung; und
- - Mittel zum mittels einer Wiedergabeanordnung Darstellen eines zweidimensionalen Bildes des Gegenstandsraums, gesehen aus dem Gesichtspunkt, mit Hilfe geometrischer Transformationen der Gegenstandsdatei,
- wobei die Gegenstandsdatei die Definition wenigstens einer Lichtquelle umfasst mit einer Position (PL) und einer Richtung (NL) in der Gegenstandsdatei, mit dem Kennzeichen, dass die Darstellungsmittel den Effekt der Lichtquelle modellieren, und zwar mit Hilfe eines Verfahrens nach der vorliegenden Erfindung, wie oben beschrieben.
- Ausführungsbeispiele der vorliegenden Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
- Fig. 1 eine schematische Darstellung eines Bildsynthesesystems, geeignet zum Funktionieren nach der vorliegenden Erfindung,
- Fig. 2 und 3 eine Darstellung eines Lichtmodells, benutzt bei dem System nach Fig. 1;
- Fig. 4 ein goniometrisches Diagramm, worin die Intensitätsverteilung einer als Beispiel dargestellten Lichtquelle dargestellt wird;
- Fig. 5 eine Darstellung der Speicherung einer 2-D-Tabelle, welche die Verteilung nach Fig. 4 dargestellt;
- Fig. 6 einen Teil des Systems nach Fig. 1 zum Funktionieren nach der vorliegenden Erfindung; und
- Fig. 7 eine Darstellung der Variation in dem Abstand der Beleuchtungsverteilung um eine komplexe Lichtquelle herum.
- Fig. 1 zeigt schematisch eine Anordnung zur Wiedergabe von Bildern an einer zweidimensionalen (2-D) Wiedergabeanordnung, die dreidimensionale (3-D) Gegenstände darstellt. Ein Dateimodul OBJ speichert und verwaltet eine Datei, die ein Modell einer dreidimensionalen Umgebung bildet, den "Gegenstandsraum", der mehrere dreidimensionale Gegenstände enthält, die je als eine Gruppe von Grundelementen modelliert sind. Jedes Grundelement kann beispielsweise eine polygonale Fläche oder eine geometrische Teilfläche sein, die an sich durch eine geometrische Beschreibung, beispielsweise Vertexkoordinaten, und eine Oberflächenbeschreibung, wie Farbe, Struktur, Transparenz, Oberflächen-Normale usw. definiert wird. Geometrische und Oberflächenbeschreibungen von Lichtquellen sind ebenfalls eingeschlossen. Ein anderes Modul VEW definiert einen Gesichtsraum, beispielsweise in Termen der Lage in dem Gegenstandsraum eines Gesichtspunktes, der Gesichtsrichtung und des Gesichtsfeldes.
- Benutzereingabemittel INF, wie eine Rollkugel, eine Maus und/oder ein Tastenfeld, sind mit einem PC-Schnittstellenmodul HCl verbunden, wodurch ein Benutzer Gegenstände innerhalb des Gegenstandsraums manipulieren oder modifizieren kann, oder den Gesichtspunkt, die Gesichtsrichtung und andere Attribute des Gesichtsraums manipulieren kann. Ein Geometriemodul GEOM schafft geometrische Transformationen zum Übersetzen der jeweiligen geometrischen Beschreibungen des Gegenstandsraums von Grundelementen, definiert in dem Dateimodul OBJ in gleichwertige Beschreibungen in dem Gesichtsraum. Diese Transformationen werden bekanntlich im Allgemeinen Übersetzung, Drehung und Perspektive enthalten. Die Oberflächenbeschreibungen der Grundelemente sind ebenfalls entsprechend den Beleuchtungsumständen in dem Gesichtsraum definiert. In dem Normalfall, in dem das Bild nur zweidimensional ist, werden Koordinaten in dem Gesichtsraum in zwei Richtungen, typischerweise als x und y bezeichnet, linear den Schirmkoordinaten entsprechen, während eine dritte Koordinate z der Tiefe des Gegenstandes in den Schirm hinein entspricht.
- Das Geometriemodul GEOM geht durch die Beschreibungselemente des Gesichtsraums zu einem Darstellungsmodul DRW, das die Beschreibungen der Grundelemente des Gesichtsraums in eine Form umwandelt, die zur Wiedergabe geeignet ist, typischerweise durch Abtastumwandlung in eine 2-D-Anordnung von Pixelwerten in einem Bildpufferspeicher IMINT. Das Darstellungsmodul DRW ladet Pixelfarbwerte (beispielsweise R,G,B Elemente) in einen Wiedergabespeicher DM, der danach auf eine symmetrische Art und Weise abgetastet wird zum Betreiben einer Rasterabtastwiedergabeanordnung DIS, beispielsweise eines Wiedergabemonitors mit einer Elektronenstrahlröhre (CRT).
- Das Geometrie- und Darstellungsmodul GEOM bzw. DRW werden auf typische im Stand der Technik bekannte Art und Weise vorgesehen, zum Implementieren des Entfernens versteckter Flächen, Beleuchtungsberechnungen, Anti- Aliasfilterung und anderer jeweiliger Effekte, damit das wiedergegebene Bild einen Eindruck von Realismus im Kopf des Benutzers, welcher der Wiedergabeanordnung DIS zuschaut, erzeugt wird. Dem Fachmann sind viele verschiedene Methoden zum Implementieren dieser Effekte bekannt, die beispielsweise in dem oben genannten Buch von Foley u. a. beschrieben worden sind.
- Fig. 2 zeigt ein Modell dieses Beleuchtungsproblems dargestellt durch das Zeichenmodul DRW. Ein Punkt P&sub0; auf einer Fläche 0 in dem 3-D- Gegenstandsraum wird von dem Zuschauer von einem Punkt PV gesehen. Ein Vektor V erstreckt sich von P&sub0; über ein Pixel an der Stelle xs, ys am Wiedergabeschirm zu dem Gesichtspunkt PV. Die Gegenstandsfläche bei P&sub0; hat eine normale (senkrechten) Vektor N&sub0;. Eine Lichtquelle LS hat eine Position PL in dem Gegenstandsraum und hat einen Richtungsvektor NL. Eine Vektor L erstreckt sich von dem Gegenstand am Punkt P&sub0; zu der Position PL der Lichtquelle in einem Abstand d.
- Zum Bestimmen der Farbe des Pixels, erforderlich zum Darstellen des Punktes P&sub0; für den Zuschauer ist ein zu lösendes Problem: welche ist die Intensität (und die Farbe) des Lichtes, das den Gesichtspunkt PV von dem Punkt P&sub0; auf der Gegenstandsfläche erreicht? Die Antwort auf diese Frage ist auf aus dem Stand der Technik bekannte Art und Weise abhängig von (i) der Intensität und der Farbe des Lichtes, das von der Lichtquelle an dem Punkt P&sub0; anlangt, sowie (ii) von den Reflexionseigenschaften der Oberfläche des Gegenstandes an dem Punkt P&sub0;.
- Bekanntlich können die Reflexionsmerkmale (ii) als eine Kombination diffuser und spiegelnder Reflexionen modelliert werden. Der diffuse Anteil ist abhängig von dem (Kosinus von dem) Winkel zwischen dem Vektor L und dem Vektor N&sub0; senkrecht auf der Oberfläche. Der Spiegelanteil ist abhängig von den beiden Vektoren L und V, die eine maximale Intensität haben, wenn der Gesichtspunktvektor V mit dem Reflexionsvektor R zusammenfallen, der die Reflexion des Lichtquellenvektors L um den Vektor N&sub0; ist. Die vorliegende Erfindung bezieht sich nicht auf das Modellieren von Reflexionsmerkmalen, sondern vielmehr auf einen Teil (i) des oben beschriebenen Problems: welche ist die Intensität des Lichtes, das an dem betreffenden Punkt P&sub0; von der Lichtquelle her anlangt, wenn die Richtung und der Abstand von PL bis P&sub0; gegeben sind. Es dürfte einleuchten, dass Farbschwankungen ebenfalls von Bedeutung sein können, aber die nachfolgende Beschreibung wird sich im Wesentlichen auf die Beleuchtungsintensität beschränken. Für den Fachmann ist es eine relativ triviale Angelegenheit, die Farbschwankungen mit einzubeziehen.
- Ein Faktor, der in der Intensitätsvariation der meisten Lichtquellen eingeschlossen werden soll ist die durchaus bekannte Proportionalität zu dem umgekehrten Quadrat des Abstandes d der Lichtquelle von dem betreffenden Punkt, d. h. ein Faktor d&supmin;². Für Lichtquellen anders als einheitlich strahlende Punktquellen, gibt es aber eine weitere Abhängigkeit von der Richtung der Lichtquelle zu dem betreffenden Punkt, wobei diese Richtung als die Differenz zwischen dem Vektor L in Fig. 2 und der Bezugsrichtung oder dem "normalen" Vektor der Lichtquelle, NL.
- In der hier beschriebenen Ausführungsform zeigt Fig. 3 das Polkoordinatensystem, das angewandt wird zum Darstellen der relativen Richtung von der Lichtquellenposition PL zu dem betreffenden Punkt P&sub0;. Gegenüber dem normalen Vektor NL der Lichtquelle werden zwei orthogonale Winkelkoordinaten θ und φ definiert, die je jeden beliebigen Wert von -180 g bis +180 g annehmen können.
- Fig. 4 zeigt in Form einer goniometrischen graphischen Darstellung mit zwei Achsen die Intensitätsverteilung einer kommerziell verfügbaren Leuchte mit einem Paar gerader Leuchtröhren. Für einen konstanten Abstand d (folglich konstant d&supmin;²) zeigt die rechte Polarkurve gemessene Werte der Intensität quer zu der Hauptachse der Leuchte (φ = 0º; θ variiert von 0º bis 180º). Die linke Polarkurve zeigt die Variation parallel zu der Hauptachse der Leuchte (θ = 0º, φ variiert von 0º bis 180º). Diese Diagramme können durch Messung und/oder Interpolation ergänzt werden zum Erhalten der relativen Intensität für jede beliebige Richtung (θ, φ). Da die in Fig. 4 dargestellte Leuchte für nach unten strahlende Zwecke gemeint ist, ist die relative Intensität Null über 90º von der Abwärtsrichtung NL. In der Intensitätskurve kann um θ = 45º eine "Ausbauchung" gesehen werden, die mit der d&supmin;² Variation kombiniert zum Schaffen einer einheitlicheren Beleuchtung über ein horizontale Arbeitsfläche unten als dies durch eine einfache punktförmige oder lineare Lichtquelle geboten werden würde.
- Wie eingangs erwähnt, sind bekannte Beleuchtungsmodelle für praktische Bildsynthese auf einfache, kreisförmig symmetrische Funktionen der Richtung (θ, φ) begrenzt worden. Sogar die Berechnungen, die je Pixel erforderlich sind zum Unterbringen einer derartigen Funktion können nicht mit ausreichender Geschwindigkeit in bekannten preisgünstigen Darstellungssystemen durchgeführt werden. Nun wird beschrieben, wie das Modellierungsproblem auf einen Nachschlagvorgang reduziert werden kann, insbesondere zum Ausnutzen des Vorteils von Hardware, die zur Strukturdarstellung bei bekannten Systemen vorgesehen ist.
- Fig. 5 zeigt, wie die Intensitätsverteilung nach Fig. 4 in einer 2-D- Nachschlagtabelle gespeichert werden kann, um in einem Bildsynthesesystem einen schnellen Zugriff auf die Beleuchtungsintensität verursacht durch eine Lichtquelle an jedem beliebigen betreffenden Punkt zu ermöglichen. Die durch Koordinaten θ und φ definierte sphärische Fläche wird zu einer quadratischen (oder im Allgemeinen einer viereckigen) Anordnung von Abtastspeicherstellen transformiert, dargestellt bei G. An jeder Stelle wird ein Wert der relativen Intensität gespeichert und kann durch einen 2- D-Richtungsindex entsprechend θ (horizontale Achse) und φ (vertikale Achse in Fig. 5) identifiziert werden.
- Die Anzahl in jeder Richtung gespeicherter Abtastwerte ist abhängig von dem Betrag an Einzelheiten, erforderlich in dem Beleuchtungsmuster. Die Tabelle kann so groß sein wie beispielsweise 512 · 512 Abtastwerte, die viel Einzelheiten enthalten mit einer Auflösung besser als 1º in θ und φ. Die Auflösung (Anzahl gespeicherter Bits) an jeder Stelle kann ebenfalls so groß oder so klein wie für eine realistische Darstellung erforderlich, gewählt werden. Konturen sind in Fig. 5 dargestellt, die Gebiete von Null, 2, 4, 6, 8 und 10 enthalten zum Vergleich mit den Graphiken nach Fig. 4. In der Praxis kann etwas zwischen vier und acht Bits vorgesehen werden zum Darstellen des Musters auf eine geschmeidige und genaue Art und Weise.
- Wenn die Tabelle nach Fig. 5 einmal gespeichert worden ist, kann das Zeichenmodul DRW (Fig. 1) ein Bild einer durch die Lichtquelle beleuchteten Szene darstellen, und zwar durch Bestimmung von θ und φ und unter Verwendung derselben als ein 2-D-Index zum Auslesen des entsprechenden Beleuchtungswertes aus der 2-D- Tabelle und folglich zum Darstellen des darin eingeschlossenen Beleuchtungsmusters an einem Gegenstandsraum mit reflektierenden Flächen in verschiedenen Abständen und Orientierungen. Es ist nicht erforderlich, eine komplizierte Funktion der Beleuchtungsverteilungsfunktion an jedem Punkt zu bewerten, dennoch können beliebig komplexe Verteilungen dargestellt werden.
- Es ist besonders wichtig, Kontureffekte und "Blockbildung" in der Beleuchtung von Gegenstandsflächen zu vermeiden, die von einer grob abgetasteten Variation herrühren würden, die in der 2-D-Tabelle gespeichert ist. Die meisten Lichtquellen haben eine geschmeidig variierende und kontinuierliche Verteilung und das Auge ist äußerst empfindlich für Konturen in der Schattenbildung eines Bildes. Auf entsprechende Weise sollten Werte, erhalten von der Tabelle, auf eine bestimmte Art und Weise gefiltert werden zum Erzielen einer geschmeidigen Variation der Intensität mit θ und φ Ein einfaches Verfahren dies zu verwirklichen ist, θ und φ mit einer größeren Genauigkeit als zum Indizieren von Abtastwerten in der 2-D-Tabelle erforderlich, zu bestimmen, und die restlichen Bruchanteile des Indexes (θ, φ) zu benutzen zum Interpolieren zwischen vier Werten, die an den nächsten ganzzahligen Stellen in der 2-D-Tabelle gespeichert sind. Die Implementierung gleicher Vorgänge ist im Bereich der Strukturdarstellung bereits bekannt, wie dies unten in dem Ausführungsbeispiel nach Fig. 6 dargelegt wird.
- Verbleibend bei der 2-D-Tabelle nach Fig. 5 kann noch viel eingespart werden. Erstens kann, wenn Implementierung oder andere Filterung gespeicherter Intensitätswerte implementiert werden, die Auflösung, erforderlich in der 2-D-Tabelle für eine Lichtquelle mit relativ wenig Einzelheiten in der Intensitätsverteilung, wie der aus Fig. 4 und 5, reduziert werden, beispielsweise auf 32 · 32 Abtastwerte. Auf gleiche Weise könnte die Anzahl Bits je Abtastwert reduziert werden, vielleicht auf 4 Bits (16 Pegel relativer Intensität).
- Eine weitere Einsparung ist ersichtlich durch Benutzung großer Winkelbereiche θ und/oder φ, wobei die relative Intensität konstant ist. So ist beispielsweise in der Tabelle nach Fig. 5 ersichtlich, dass die Intensitätswerte in Bereichen, in denen θ oder φ über 90º von der normalen Richtung NL abweicht (die obere Hemisphäre) alle Null sind. Wegen der gewählten Projektion beaufschlagt diese Hemisphäre Dreiviertel des gesamten Speicherraums für die Tabelle. Es wäre deswegen noch wirtschaftlicher, nur das zentrale Viertel (punktierter Kasten F) der Verteilung zu speichern. Es ist dann eine einfache Angelegenheit, Null für einen Wert zu ersetzten, der aus der Tabelle erhalten worden ist, wenn θ oder φ ± 90º übersteigt, oder θ und φ auf ± 90º zu beschränken. Durch diese Maßnahme kann die Speicherkapazität, erforderlich für die Tabelle, geviertelt werden.
- Für die in den Fig. 4 und 5 dargestellte Verteilung kann die Speicherkapazität, erforderlich für die 2-D-Tabelle (bei einer bestimmten Auflösung) weiter dadurch geviertelt werden, dass bemerkt wird, dass die Verteilung zwei Symmetrieachsen hat, und zwar die kettenpunktierten Linien θ = 0º und φ = 0º. Mit einer geeigneten Indexierungslogik ist es dann nur notwendig, Werte in einem einzigen Quadrant A, B, C oder D zu speichern. Richtungen (θ, φ), die außerhalb dieses gespeicherten Quadranten auftreten, können durch Reflexionsvorgänge übersetzt werden zum Erhalten von Indexen auf den entsprechenden gespeicherten Abtastwert. Wenn beispielsweise nur der Quadrant A gespeichert wird, kann eine Richtung (θ, φ) = (-56, +32) in dem Quadranten B zu der Richtung (+56, +32) in dem Quadranten A abgebildet werden zum Erhalten eines gültigen Indexes auf den betreffenden gespeicherten Abtastwert. Auf gleiche Weise kann jede beliebige Richtung (θ, φ) in dem Quadranten B, C oder D zu einer entsprechenden Richtung in dem Quadranten A auf einfache Weise durch Ersatz eines negativen θ oder φ durch den entsprechenden positiven Wert abgebildet werden. Entsprechende Schemen dürften klar sein zum Erhalten des Vorteils anderer Typen von Symmetrie.
- Der Bereich von Lichtquellen, die in der 2-D-Tabelle oder in einer Reihe von 2-D-Tabellen dargestellt werden kann, ist tatsächlich sehr groß, und jeder bietet das Potential für eine sehr optimal wirtschaftliche Speicherung der 2-D-Tabelle(n). So könnte beispielsweise eine Quelle die ganze Sphäre beleuchten, während in der Verteilung keine feine Einzelheit vorhanden ist. Eine andere Lichtquelle könnte einen Strahl über einen schmalen Winkelbereich projizieren. Der Strahl könnte schmal sein, während viele feine Einzelheiten eingeschlossen sind. Eine Tabelle von sagen wird 512 · 512 Vollfarben-Abtastwerten über einen Bereich von θ und φ von ± 10º könnte beispielsweise einen Diaprojektor darstellen.
- Fig. 6 zeigt, wie das Darstellungsmodul DRW des Systems nach Fig. 1 organisiert ist zum Benutzen von 2-D-Tabellen als Darstellungen von Formlichtquellen zum Liefern eines hohen Grades an Realismus in der Echtzeit-Bildsynthese. Das Modul DRW aus Fig. 6 implementiert ebenfalls Strukturdarstellung zum Hinzufügen von Oberflächeneinzelheiten zu Gegenständen in dem 3-D-Gegenstandsraum und zeigt die Gleichartigkeit zwischen Strukturabbildungshardware und der Hardware, erforderlich zum Implementieren der vorliegenden Erfindung.
- Das Modul DRW umfasst: eine Abtastwandlereinheit 600, eine Strukturspeicheranordnung 602; einen Strukturspeicheradressenrechner 604; einen Lichtquellen-Nachschlagspeicher 606; einen Polkoordinatenrechner 608; einen inversen Quadratierskalierer 610, einen Pixelfarbenrechner 612. Das Modul DRW empfängt von dem Geometriemodul GEOM (Fig. 1) die jeweiligen Parameter PV, P&sub0;, N&sub0;, PL und NL für jedes an dem Schirm wiederzugebende 3-D-Gegenstandsgrundelement und die betreffenden Lichtquellen.
- Der Abtastwandler 600 ist verantwortlich für wenigstens die Endstufen der Transformation von dem Gegenstandsraum zu dem Schirmraum (Pixel), die abhängig ist von dem Gesichtspunkt PV. Im Betrieb erzeugt der Abtastwandler 600 eine Reihe von Pixeladressen xs, ys, die ein Gebiet des gewünschten Bildes definieren, während gleichzeitig der entsprechende Punkt F&sub0; in dem Gegenstandsraum berechnet wird, an dem die Gesichtslinie des Zuschauers die Oberfläche eines Gegenstandes trifft. Für jede Pixeladresse (xs, ys) wird ein Farbwert ermittelt (beispielsweise 24 Bits Rechner 612) zum Darstellen der Farbe der Gegenstandsfläche an dem Punkt F&sub0;, wie von dem Gesichtspunkt gesehen. Dieser Farbwert wird danach in dem Wiedergabespeicher DM gespeichert, und zwar an einer Stelle, an der die Farbe des entsprechenden Pixels definiert ist.
- Die Erzeugung von Farbwerten erfolgt durch den Farbrechner 612 unter Verwendung einer Oberflächenbeschreibung für das Gegenstandsgrundelement und der Lichtquellenbeschreibungen, alle von der Gegenstandsdatei hergeleitet. Die Komplexität dieser Beschreibungen ist zum großen Teil eine Sache der Entwurfswahl, aber bei der vorliegenden Ausführungsform umfasst die Oberflächenbeschreibung einen Strukturabbildungsbezugswert und Reflexionswerte (Spiegelreflexion und diffuse Reflexion). Der Strukturabbildungsbezugswert referiert an ein Muster von Oberflächenfarbwerten, das vorher als zweidimensionale Anordnungen dem Strukturspeicher 602 gespeichert worden ist (WT).
- Strukturabbildung ist in dem Buch von Foley u. a. auf Seiten 741-744 und in dem darin erwähnten Bezugsmaterial eingehend beschrieben worden. Solche Einzelheiten sind nicht erforderlich zum Verständnis der vorliegenden Erfindung. Es ist aber relevant zu bemerken, dass zur Vermeidung von Aliasing von Artefakten die in dem Strukturspeicher gespeicherten Farbwerte meisten gefiltert werden, beispielsweise weil das Gebiet des Pixels, wenn auf die Gegenstandsfläche 0 projiziert, eine wesentliche Anzahl Strukturabtastwerte bedecken kann. Es sind viele Techniken bekannt zum Durchführen einer derartigen Filterung. Eine einfache Technik erfordert die Speicherung von vielen vorgefilterten Versionen derselben Strukturdarstellung in einer "MIP-Darstellung" oder einer gleichartigen pyramidalen Anordnung. Es werden Bruchteile der Strukturkoordinaten verwendet, zusammen mit einem Abstandsindex L zum Erzeugen von Farbwerten, die zwischen benachbarten Farbwerten in der Strukturdarstellung und zwischen Werten in benachbarten vorgefilterten Versionen der Strukturdarstellung interpoliert werden. Eine Anordnung, die eine derartige Technik verkörpert, ist in EP 0 438 195 A (PHB 33.611) beschrieben worden.
- Die vorliegende Ausführungsform benutzt eine gleichartige Technik, so dass jede Strukturdarstellung in verschiedenen vorgefilterten Anordnungen dargestellt wird, und der Strukturspeicheradressenrechner 604 leitet für jede Pixeladresse ein Strukturkoordinatenpaar (u, v) sowie einen Abstandsindex L her. Diese Werte werden benutzt zum Erzeugen von Strukturspeicheradressen zum Nachschlagen verschiedener Strukturabtastwerte, die danach entsprechend den Bruchteilen von u, v und L kombiniert werden zum Erhalten des interpolierten Farbwertes MOD für die Oberfläche des Gegenstandes an dem entsprechenden Punkt P&sub0;. Dieser Wert MOD wird dem Farbrechner 612 zugeführt.
- Der Lichtquellen-Nachschlagspeicher 606 und der Polkoordinatenrechner 608 sind von gleicher Struktur und von gleicher Wirkung wie der Strukturspeicher 602 bzw. der Strukturadressenrechner 604. Es ist ein Vorteil der beschriebenen Ausführungsform, dass im Wesentlichen derselbe Speicher und dieselbe Adressierungshardware konstruiert werden kann, so dass diese auf einfache Art und Weise für andere Zwecke konfiguriert werden können. Tatsächlich können Mittel vorgesehen werden zum auf vorteilhafte Weise dynamischen Neukonfigurieren der Hardware zum Optimieren der Leistung, da die Anzahl und Komplexität von Strukturabbildungen und Lichtquellenmodellen entsprechend der wiederzugebenden Szene variieren.
- Während der Strukturspeicher 602 Oberflächenfarbmuster für einen oder mehrere Gegenstände gespeichert hat, hat der Lichtquellennachschlagspeicher eine Nachschlagtabelle von Beleuchtungsintensitätswerten, wie diese oben anhand der Fig. 5 beschrieben wurden, gespeichert. Der Polkoordinatenrechner 608 empfängt die Position P&sub0; und die Flächen-Normalrichtung N&sub0; des betreffenden Punktes und empfängt ebenfalls die Position PL und die Richtung NL der Lichtquelle. Aus diesen Werten kann der Rechner 608 Polarkoordinaten θ und φ berechnen, die Adressen für den Nachschlagspeicher 606 bilden.
- Aus diesen Adressen reproduziert der Nachschlagspeicher einen relativen Beleuchtungsintensitätswert für den Punkt P&sub0; an der Gegenstandsfläche entsprechend der Richtung des Punktes gegenüber der Lichtquelle. Der Rechner 608 berechnet ebenfalls den Abstand d der Lichtquelle von der Fläche, wobei dieser Abstand von dem Skalierer 610 benutzt wird zum Modifizieren der Beleuchtungsintensität entsprechend dem umgekehrten-Quadrat-Gesetz. Dies ergibt einen aktuellen Beleuchtungsintensitätswert ILL für den Gegenstandspunkt P&sub0; zum Gebrauch durch den Pixelfarbrechner 612. Für den Punkt P&sub0; benutzt der Rechner 612 die Beleuchtungsintensität ILL zum Modifizieren des Flächenfarbwertes MOD, wobei die Spiegelanteile und die diffusen Anteile der Oberflächenreflektivität als typisch berücksichtigt werden. Dies kann in Kombination für verschiedene Lichtquellen geschehen, bevor ein endgültiger Farbwert COL in dem Wiedergabespeicher für das Pixel an Xs, Ys am Wiedergabeschirm gespeichert wird.
- Zur Vermeidung von "Konturbildung" im Schatten des resultierenden Bildes entsprechend den Konturen in dem Beispiel nach Fig. 5 wird Interpolation zwischen den einzelnen in der Nachschlagtabelle 606 gespeicherten Werten entsprechend Bruchanteilen der Polarkoordinaten implementiert. Dieses Merkmal kann deutlich unter Verwendung von Hardware gemeinsam mit der Strukturdarstellungshardware implementiert werden, es erlaubt ebenfalls eine große Einsparung in den Nachschlagtabellen. Weil die meisten Lichtquellenmuster geschmeidig variierende Funktionen enthalten, ermöglicht der Glättungseffekt der Interpolation die Verwendung einer Nachschlagtabelle mit relativ wenig Eingängen, relativ grob quantisiert (nur wenige Bits je Eingang).
- Wie oben bereits erwähnt, kann die Beleuchtungsverteilung komplexer Lichtquellen mit dem Abstand variieren. Auf entsprechende Weise umfasst der Nachschlagspeicher 606 verschiedene Beleuchtungsnachschlagtabellen, die je einem anderen Abstand von der Lichtquelle entsprechen. Der zwischen den Punkten PL und P&sub0; berechnete Abstand d wird benutzt zum Erhalten eines Abstandsindexes D zum Gebrauch zusammen mit den Polarkoordinaten θ und φ zum Adressieren des Nachschlagspeichers 606. Wie bei der Strukturabbildung hat der Abstandsindex D einen Bruchanteil zum Erlauben einer geschmeidigen Interpolation zwischen Eingängen in dem Nachschlagspeicher.
- Fig. 7 zeigt die Beleuchtungsverteilung für eine komplexe Lichtquelle in drei verschiedenen Abständen, A, B und C. Die Verteilung A (Abstand Null) zeigt, dass die Lichtquelle in Wirklichkeit vier kreisförmige Punktleuchten aufweist. Verteilung B entspricht einem geringen Abstand von der Lichtquelle, wobei die Strahlen der einzelnen Punktleuchten sich streuen und sich zu vermischen anfangen. Zum Schluss zeigt die Verteilung C für einen großen Abstand, wie die vier Strahlen effektiv sich zu einem einzigen, nahezu kreisförmigen Strahl zusammentun. Mit gerade diesen drei Verteilungen, die in Anordnungen in dem Nachschlagspeicher 606 gespeichert sind, kann der Interpolationsmechanismus eine ziemlich realistische Simulation der komplexen Lichtquelle schaffen.
- Für die Lichtquelle nach Fig. 7 kann selbstverständlich die bekannte Technik von Warn u. a. dadurch angewandt werden, dass jede einfache Punktleuchte als einzelne Lichtquelle betrachtet wird, mit dem Nachteil eines größeren Verarbeitungsaufwand. Für Lichtquellen, die nicht zu einigen einfachen Bestandteilen reduziert werden können (ein übliches Beispiel ist ein Scheinwerfer eines Kraftwagens), schafft die vorliegende Erfindung eine einzigartige Verlustkosten-Lösung.
- Es sei bemerkt, dass für nahezu alle Lichtquellen die Menge an Einzelheiten in der Beleuchtungsverteilung abnimmt, je nachdem der Abstand von der Lichtquelle zunimmt. Diese Eigenschaft ermöglicht es, dass die aufeinander folgenden 2-D-Nachschlagtabellen immer weniger Eingänge haben, je nachdem der Abstand zunimmt, was zu einer sehr wirtschaftlichen Speicherung dieser Tabellen führt. Dieses Merkmal kann weiterhin aber ausgenutzt werden zum Maximieren der Kompatibilität zwischen der Lichtquellen-Nachschlaghardware und der Strukturabbildungshardware, weil in der MIP-Abbildung und anderen bekannten Schemen, welche die Speicherung einer Reihe vorgefilterter Anordnungen für Strukturabbildungen erfordert, jede Anordnung weniger Details hat und weniger Abtastwerte als die vorhergehende.
- Es dürfte dem Fachmann einleuchten, dass für den Abtastwandler 600 und andere Teile der beschriebenen Anordnung viele Architekturen möglich sind, dass die Einzelheiten derselben zum Verständnis der vorliegenden Erfindung nicht wesentlich sind. So kann beispielsweise das Problem der versteckten-Oberflächenentfernung ("hidden-surface removel" HSR) entsprechend jeder einer Reihe von durchaus bekannten Methoden wie Tiefenpufferung oder Prioritätssortierung von Gegenstandsgrundelementen vor der Darstellung adressiert werden. Im Falle von Tiefenpufferung kann es passieren, dass die geschriebenen Farbwerte einmal oder einige Male überschrieben werden, und zwar durch die Darstellung von Gegenstandsgrundelementen, die immer näher an dem Gesichtspunkt liegen.
- Andere Abwandlungen sind ebenfalls möglich, beispielsweise die Art der Berechnung der umgekehrt-quadratischen Beziehung zwischen der Beleuchtungsintensität und dem Abstand von der Lichtquelle. Statt der Anordnung eines einzelnen Skalierers 610 für diesen Zweck, können die in den aufeinander folgenden Nachschlagtabellen für verschiedene Abstandsindexen D gespeicherten Werte vorskaliert werden zum Unterbringen einer umgekehrt-quadratischen Variation. Wenn zwischen benachbarten Tabellen unter Verwendung eines Bruchteils des Indexes D lineare Interpolation durchgeführt wird, ist das Ergebnis eine stückweise lineare Annäherung an die getreue umgekehrt-quadratische Variation. Ein Nachteil der Unterbringung der umgekehrt-quadratischen Variation in den Nachschlagtabellen selber ist, dass es notwendig sein kann, dass ein sehr großer Bereich von Werten gespeichert wird, wobei mehr Bits je Wert erforderlich sind.
Claims (10)
1. Verfahren zum Darstellen eines zweidimensionalen (2-D) Bildes von
einem dreidimensionalen (3-D) Gegenstandsraum, definiert durch eine
Gegenstandsdatei, wobei die Gegenstandsdatei wenigstens eine Lichtquelle definiert mit einer
Position (PL) und einer Richtung (NL) in dem Gegenstandsraum, wobei das Verfahren
durch die nachfolgenden Verfahrensschritte gekennzeichnet wird:
(a) das für die Lichtquelle Erzeugen und Speichern einer 2-D-Tabelle von
Beleuchtungswerten, die eine Variation der Beleuchtung in einer Ebene darstellen, und zwar
abhängig von einer Richtung gegenüber der Lichtquellenrichtung;
(b) das Identifizieren eines wichtigen Punktes (P&sub0;) in dem Gegenstandsraum und das
Bestimmen einer 2-D Richtung in dem Gegenstandsraum von der
Lichtquellenposition (PL) zu dem betreffenden Punkt (P&sub0;), relativ zu der Lichtquellenrichtung (NL); und
(c) das Anwenden der bestimmten relativen 2-D-Richtung als Index für die
gespeicherte 2-D-Tabelle zum Erhalten eines Wertes zur Beleuchtung durch die Lichtquelle
an dem betreffenden Punkt (P&sub0;).
2. Verfahren nach Anspruch 1, wobei die in der 2-D-Tabelle
gespeicherten Werte die Variation in der Beleuchtung über wenigstens einen Teil einer die
Position (PL) der Lichtquelle in dem Gegenstandsraum umgebenden sphärischen
Oberfläche darstellen, wobei die als Index in dem Verfahrensschritt (c) verwendete 2-D-.
Richtung ein Paar Winkelkoordinaten (θ, φ) umfasst.
3. Verfahren nach Anspruch 1 oder 2, wobei der Richtungsindex (θ, φ)
einen ganzzahligen Anteil und einen Bruchanteil aufweist, wobei der in dem Schritt
(c) erhaltene Beleuchtungswert von einer Anzahl in der 2-D-Tabelle gespeicherter
Werte hergeleitet wird, und zwar durch Filterung entsprechend dem genannten
Bruchanteil.
4. Verfahren nach einem der vorstehenden Ansprüche, wobei die 2-D-
Tabelle eine Tabelle aus einer Reihe von 2-D-Tabellen ist, die für die Lichtquelle
gespeichert worden sind, die je die Variation der Beleuchtung in einem anderen Abstand
von der Lichtquellenposition darstellen, und wobei der Schritt (b) weiterhin das
Bestimmen des Abstandes (d) in dem Gegenstandsraum zwischen der
Lichtquellenposition und dem Betreffenden Punkt umfasst und wobei der Schritt (c) weiterhin die
Verwendung des Abstandes als Abstandsindex (D) zum Selektieren einer geeigneten
2-D-Tabelle aus der Reihe von 2-D-Tabellen umfasst.
5. Verfahren nach Anspruch 4, wobei der Abstandsindex (D) einen
ganzzahligen Anteil und einen Bruchanteil umfasst, wobei der in dem Schritt (c) erhaltene
Beleuchtungswert zwischen Werten interpoliert wird, die in einer Anzahl 2-D-Tabelle
der Reihe gespeichert sind, und zwar entsprechend dem genannten Bruchanteil des
Abstandsindexes.
6. Verfahren nach Anspruch 4 oder 5, wobei die in jeder 2-D-Tabelle der
Reihe gespeicherten Beleuchtungswerte in Bezug auf einen konstanten Abstand von
der Lichtquelle genormt sind, wobei der Schritt (c) weiterhin das Skalieren der aus der
2-D-Tabelle erhaltenen Werte zum Unterbringen einer Intensitätsvariation wenigstens
nahezu umgekehrt proportional zu dem Quadrat des Abstandes von der
Lichtquellenposition umfasst.
7. Verfahren nach Anspruch 4, 5 oder 6, wobei die 2-D-Tabellen der
Reihe in der Größe abnehmen, je nachdem der Abstand von der Lichtquellenposition
zunimmt, wobei jede nachfolgende 2-D-Tabelle in nur einer oder in beiden Dimensionen
die halbe Größe von der Vorhergehenden hat.
8. Verfahren nach einem der vorstehenden Ansprüche, wobei in dem
Schritt (a) ein Richtungsbereich, in dem der Beleuchtungswert konstant ist, nicht in
der 2-D-Tabelle dargestellt ist, wobei der Schritt (c) das Ersetzen des konstanten
Wertes durch den Beleuchtungswert umfasst, wenn die in dem Schritt (b) bestimmten
Richtung innerhalb der genanten bestimmten Bereiche liegt.
9. Verfahren nach einem der vorstehenden Ansprüche, wobei in dem
Schritt (a) den Variationen der Beleuchtungswerte wenigstens ein Symmetriegrad
auferlegt wird und nur ein Teilsatz der möglichen 2-D-Richtungen in den in der 2-D-
Tabelle gespeicherten Werten dargestellt werden, wobei der Schritt (c) in einem Fall,
in dem die in dem Schritt (b) bestimmte Richtung außerhalb des Teilsatzes von in der
2-D-Tabelle dargestellten Richtungen liegt, die bestimmten Richtung entsprechend
dem auferlegten Symmetrie transformiert zum Erhalten des Indexes in der 2-D-
Tabelle.
10. Anordnung zum Synthetisieren von Bildern von dreidimensionalen
Szenen, wobei diese Anordnung die nachfolgenden Elemente umfasst:
- Mittel (OBJ) zum Beibehalten einer Gegenstandsdatei, welche die Anordnung und
das Äußere des Gegenstandes in einem 3-D-Raum (dem Gegenstandsraum)
beschreibt;
- Mittel (VEW) zum Definieren eines Gesichtspunktes zur Darstellung der
Gegenstände für einen Benutzer der Anordnung; und
- Mittel (DRW) zum mittels einer Wiedergabeanordnung (DIS) Darstellen eines
zweidimensionalen Bildes des Gegenstandsraums, gesehen aus dem Gesichtspunkt, mit
Hilfe geometrischer Transformationen der Gegenstandsdatei,
wobei die Gegenstandsdatei die Definition wenigstens einer Lichtquelle mit einer
Position (PL) und einer Richtung (NL) in dem Gegenstandsraum umfasst, und dadurch
gekennzeichnet, dass die Darstellungsmittel (DRW) den Effekt der Lichtquelle
modellieren, und zwar mit Hilfe eines Verfahrens nach einem der vorstehenden
Ansprüche.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB939301661A GB9301661D0 (en) | 1993-01-28 | 1993-01-28 | Rendering an image |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69430647D1 DE69430647D1 (de) | 2002-06-27 |
DE69430647T2 true DE69430647T2 (de) | 2003-01-30 |
Family
ID=10729448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69430647T Expired - Lifetime DE69430647T2 (de) | 1993-01-28 | 1994-01-21 | Bilddarstellung |
Country Status (6)
Country | Link |
---|---|
US (1) | US5905503A (de) |
EP (1) | EP0613099B1 (de) |
JP (1) | JP3736862B2 (de) |
KR (1) | KR100316352B1 (de) |
DE (1) | DE69430647T2 (de) |
GB (1) | GB9301661D0 (de) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2336982B (en) * | 1995-01-31 | 2000-01-19 | Videologic Ltd | Improvements relating to computer 3D rendering systems |
US6018350A (en) * | 1996-10-29 | 2000-01-25 | Real 3D, Inc. | Illumination and shadow simulation in a computer graphics/imaging system |
WO1998050890A1 (fr) * | 1997-05-07 | 1998-11-12 | Sega Enterprises, Ltd. | Procede d'obtention de fonction projecteur et processeur d'images utilisant ce procede |
EP0891077B1 (de) * | 1997-07-09 | 2006-08-23 | Canon Kabushiki Kaisha | Farbbildverarbeitungsgerät und -verfahren |
US6549206B1 (en) * | 1997-07-11 | 2003-04-15 | France Telecom And Telediffusion De France | Graphic scene animation signal, corresponding method and device |
US6441820B2 (en) | 1998-01-23 | 2002-08-27 | Pixar Animation Studios | Pseudo area lights |
US7034827B2 (en) * | 1998-07-17 | 2006-04-25 | Intel Corporation | Extension of fast phong shading technique for bump mapping |
US6552726B2 (en) * | 1998-07-17 | 2003-04-22 | Intel Corporation | System and method for fast phong shading |
US6674917B1 (en) * | 1998-09-29 | 2004-01-06 | Hitachi, Ltd. | Method of synthesizing an image for any light source position and apparatus therefor |
JP2000293687A (ja) | 1999-02-02 | 2000-10-20 | Minolta Co Ltd | 3次元形状データ処理装置および3次元形状データ処理方法 |
US7098925B1 (en) * | 2000-03-10 | 2006-08-29 | Intel Corporation | Shading of images using texture |
CA2315302A1 (en) * | 2000-07-13 | 2002-01-13 | Paul A. Halmshaw | Three dimensional imaging system |
US6657617B2 (en) | 2001-06-25 | 2003-12-02 | International Business Machines Corporation | Method, apparatus and computer program product for three dimensional text creation |
WO2003005303A2 (en) * | 2001-07-02 | 2003-01-16 | Matchlight Software, Inc. | System and method for discovering and categorizing attributes of a digital image |
JP4612969B2 (ja) * | 2001-07-05 | 2011-01-12 | 富士フイルム株式会社 | 画像比較装置、画像比較方法、画像比較用プログラム、撮影装置、及び撮影方法。 |
JP3629243B2 (ja) * | 2002-02-13 | 2005-03-16 | Necマイクロシステム株式会社 | モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法 |
US20030193503A1 (en) * | 2002-04-10 | 2003-10-16 | Mark Seminatore | Computer animation system and method |
US7696995B2 (en) * | 2004-05-07 | 2010-04-13 | Valve Corporation | System and method for displaying the effects of light illumination on a surface |
JP2006004158A (ja) * | 2004-06-17 | 2006-01-05 | Olympus Corp | 画像処理プログラム、画像処理方法、画像処理装置及び記録媒体 |
US7898519B2 (en) * | 2005-02-17 | 2011-03-01 | Sharp Laboratories Of America, Inc. | Method for overdriving a backlit display |
JP4282587B2 (ja) * | 2004-11-16 | 2009-06-24 | 株式会社東芝 | テクスチャ・マッピング装置 |
US8633927B2 (en) | 2006-07-25 | 2014-01-21 | Nvidia Corporation | Re-render acceleration of frame with lighting change |
US8031193B1 (en) * | 2007-01-25 | 2011-10-04 | Rockwell Collins, Inc. | Dynamic light shading in terrain rendering applications |
US8405657B2 (en) * | 2008-09-09 | 2013-03-26 | Autodesk, Inc. | Animatable graphics lighting analysis |
US9495796B2 (en) * | 2008-09-09 | 2016-11-15 | Autodesk, Inc. | Animatable graphics lighting analysis reporting |
CN103155004B (zh) | 2010-09-01 | 2016-05-18 | 玛斯柯有限公司 | 通过图像渲染来演示照明方案的设备、系统和方法 |
US10489968B1 (en) | 2016-09-14 | 2019-11-26 | Musco Corporation | Apparatus, method, and system for three-dimensional (3D) visualization of light for evaluation of playability, glare, and gaps |
CN111915712B (zh) * | 2020-08-28 | 2024-05-28 | 网易(杭州)网络有限公司 | 光照渲染方法、装置、计算机可读介质及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0746391B2 (ja) * | 1984-09-14 | 1995-05-17 | 株式会社日立製作所 | 図形シエ−デイング装置 |
JPH0814854B2 (ja) * | 1985-10-11 | 1996-02-14 | 株式会社日立製作所 | 三次元図形表示装置 |
GB2181929B (en) * | 1985-10-21 | 1989-09-20 | Sony Corp | Methods of and apparatus for video signal processing |
US4982342A (en) * | 1987-11-05 | 1991-01-01 | Kabushiki Kaisha Toyota Chuo Kenkyusho | Image processor system having multifunction look-up table units |
GB2240015A (en) * | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | Texture memory addressing |
-
1993
- 1993-01-28 GB GB939301661A patent/GB9301661D0/en active Pending
-
1994
- 1994-01-21 DE DE69430647T patent/DE69430647T2/de not_active Expired - Lifetime
- 1994-01-21 EP EP94200150A patent/EP0613099B1/de not_active Expired - Lifetime
- 1994-01-27 KR KR1019940001437A patent/KR100316352B1/ko not_active IP Right Cessation
- 1994-01-28 JP JP00863194A patent/JP3736862B2/ja not_active Expired - Lifetime
-
1996
- 1996-09-03 US US08/707,087 patent/US5905503A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69430647D1 (de) | 2002-06-27 |
EP0613099A1 (de) | 1994-08-31 |
KR100316352B1 (ko) | 2002-02-19 |
EP0613099B1 (de) | 2002-05-22 |
US5905503A (en) | 1999-05-18 |
JP3736862B2 (ja) | 2006-01-18 |
JPH06243267A (ja) | 1994-09-02 |
GB9301661D0 (en) | 1993-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69430647T2 (de) | Bilddarstellung | |
DE69610341T2 (de) | 3-D-Bildertexturierung und -schattierung | |
DE69602728T2 (de) | Vorrichtung zur bildmanipulation und -generation | |
DE69328464T2 (de) | Methode zur Berechnung der Beleuchtung für Daten dreidimensionaler Objekte | |
DE60000686T2 (de) | Graphisches system mit super-abgetastetem musterpuffer mit erzeugung von ausgangpixeln unter verwendung von selektiven adjustierung der filterung zur artifaktverminderung | |
DE68927471T2 (de) | Verfahren zur Schattierung eines graphischen Bildes | |
DE60026197T2 (de) | Detailgerichtete hierarchische Distanzfelder in der Objektmodellierung | |
DE3855231T2 (de) | Prioritätsauflösungssystem zwischen Polygonen mit Antialiasing | |
DE69811849T2 (de) | Verfahren und gerät zur interpolation von attributen bei 3d-grafiken | |
DE60000447T2 (de) | Graphisches system das muster in einem musterpuffer darstellt und in anhängigkeit von gespeicherten mustern pixel erzeugt | |
DE69636599T2 (de) | Verfahren und system zur wiedergabe von grafischen objekten durch teilung in bildstücke und zusammensetzen von bildlagen zu einem wiedergabebild | |
DE69130132T2 (de) | Verfahren zur Erzeugung von Adressen zu texturierten, in RIP Maps gespeicherten graphischen Primitiven | |
DE60100452T2 (de) | Dynamische einstellung von muster zum pixel filterung in antwort auf benutzereingang und/oder sensoreingang | |
DE69424716T2 (de) | Verfahren und Vorrichtung zur adaptiven Steuerung der Texturabbildung | |
DE69322575T2 (de) | Verfahren und Gerät zur Wiedergabe von abgeglichenen NURB Oberflächen | |
DE69329049T2 (de) | Methode zur Verarbeitung von Daten, die dreidimensionale graphische Objekte repräsentieren | |
DE68928941T2 (de) | Bilderzeugungsgerät | |
EP0984397B1 (de) | Verfahren und Vorrichtung zum Eliminieren unerwünschter Stufungen an Kanten bei Bilddarstellungen im Zeilenraster | |
DE69129427T2 (de) | Pixelinterpolation im Perspektivraum | |
DE69127516T2 (de) | Verfahren und Gerät zur Bilderzeugung | |
DE69331486T2 (de) | Bilddatenverarbeitung | |
DE102019118838A1 (de) | Virtuelle photogrammetrie | |
DE102004007835A1 (de) | Vorrichtung zur Darstellung von dynamischen komplexen Szenen | |
DE69722139T2 (de) | Dreidimensionale abbildung von bildtexturen | |
EP0789328A2 (de) | Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung |
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: QUALCOMM, INC., SAN DIEGO, CALIF., US |
|
8328 | Change in the person/name/address of the agent |
Representative=s name: WAGNER & GEYER PARTNERSCHAFT PATENT- UND RECHTSANW |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: QUALCOMM INCORPORATED (N.D.GES.D. STAATES DELA, US |