DE4124564B4 - Verfahren und Einrichtung zur Erzeugung von schattierten Abbildungen - Google Patents

Verfahren und Einrichtung zur Erzeugung von schattierten Abbildungen Download PDF

Info

Publication number
DE4124564B4
DE4124564B4 DE4124564A DE4124564A DE4124564B4 DE 4124564 B4 DE4124564 B4 DE 4124564B4 DE 4124564 A DE4124564 A DE 4124564A DE 4124564 A DE4124564 A DE 4124564A DE 4124564 B4 DE4124564 B4 DE 4124564B4
Authority
DE
Germany
Prior art keywords
change
reflection
vector
vertex
vertices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE4124564A
Other languages
English (en)
Other versions
DE4124564A1 (de
Inventor
Stuart Sunnyvale Wells
James Los Altos Van Loo
Jack R. Cupertino McKeown
Mukund San Jose Bhakta
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of DE4124564A1 publication Critical patent/DE4124564A1/de
Application granted granted Critical
Publication of DE4124564B4 publication Critical patent/DE4124564B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • G06T15/83Phong shading

Abstract

Einrichtung zum Erzeugen von bezüglich einer Lichtquelle schattierten Abbildungen eines auf einer graphischen Anzeigeeinrichtung anzuzeigenden graphischen Bildes, wobei die graphische Anzeigeeinrichtung eine Matrix von Pixeln aufweist,
wobei die erzeugte schattierte Abbildung von einer von einem Benutzer spezifizierten Qualität ist,
wobei die Einrichtung eine zentrale Verarbeitungseinheit (CPU), einen Speicher und einen mit der graphischen Anzeigeeinrichtung verbundenen Einzelbildpuffer aufweist,
wobei die schattierte Abbildung durch eine Vielzahl von Pixeldaten definiert ist,
wobei die Pixeldaten in dem Einzelbildpuffer gespeichert sind,
wobei die Pixeldaten einen Pixelort auf der graphischen Anzeigeeinrichtung und eine Pixelfarbe spezifizieren,
wobei die schattierte Abbildung auf der graphischen Anzeigeeinrichtung entsprechend den in dem Einzelbildpuffer gespeicherten Pixeldaten angezeigt wird,
wobei die Einrichtung ferner aufweist:
a) mit der CPU und dem Einzelbildpuffer gekoppelte Schattierungsmittel, die aufweisen:
1) mit der CPU gekoppelte Eingabemittel zum Empfangen einer Vielzahl von Polygonen von der CPU, welche das graphische Bild...

Description

  • Die Erfindung bezieht sich auf ein Verfahren und eine Einrichtung zur Erzeugung von Bildern durch Computer. Insbesondere bezieht sich die Erfindung auf das Schattieren von Computerbildern.
  • In einem Computergraphiksystem, welches digitale Bilder erzeugt, wird die Oberfläche eines Objekts typischerweise durch ein Netzwerk von ebenen Polygonen dargestellt. Diese Polygone können durch Benutzung bekannter Techniken schnell transformiert und wiedergegeben werden. Bei diesen Techniken wird angenommen, daß die Eingangsgröße ein einfaches Dreieck ist, bei dem die Attribute der Eckpunkte die Position, die Normale und die Farbe sind. Die Lage des Eckpunkts ist beispielsweise im Objektkoordinatenraum definiert. Die Eckpunktnormalen sind Einheitsvektoren, welche die Oberflächenorientierung an jedem Eckpunkt beschreiben. Die Eckpunktfarbe spezifiziert die eigene Farbe des Objekts. Die Eckpunktfarbe gestattet es, die Farbe des Objekts über das Dreieck zu variieren.
  • Um ein realistisches Bild eines Objekts auf einem Computergraphikdisplay zu erzeugen, muß nicht nur der Umriß des Objekts erzeugt werden, sondern es muß auch die Schattierung der sichtbaren Oberflächen des Objekts eingeschlossen werden, wobei die Lichtquellen, Oberflächencharakteristiken und die Anordnungen und Orientierungen der Oberflächen und Quellen zu berücksichtigen sind. Eine Kombination von drei Reflexionsfunktionen kann benutzt werden, um die Schattierung eines Bildes zu bestimmen. Diese drei Reflexionsfunktionen sind die ambiente, die diffuse und die spiegelnde Reflexion. Die ambiente Reflexion ist das Licht von willkürlich angeordneten Lichtquellen, welches das Objekt absorbiert und dann ausstrahlt. Hierbei gibt es keine Abhängigkeit von der Richtung des Lichts. Die ambiente Funktion wichtet einfach die Farbe des Objekts. Beispielsweise kann mit den ambienten Gewichten für rot, grün und blau, Kar, Kag, Kab, die Funktion der ambienten Reflexion wie folgt beschrieben werden: Iar = Kar·Cr Iag = Kag·Cg Iab = Kab·Cb,wobei Iar, Iag, Iab die ambienten Reflexionen für den roten, grünen und blauen Farbbestandteil, Kar, Kag, Kab die ambienten Gewichte für die Farbbestandteile Rot, Grün und Blau und Cr, Cg, Cb die Objektfarben oder Farbintensitäten für die roten, grünen und blauen Bestandteile des Objekts sind. Der Wertebereich der ambienten Gewichte ist: 0 ≤ Kar ≤ 1, 0 ≤ Kag ≤ 1, 0 ≤ Kab ≤ 1
  • Es sollte angemerkt werden, daß die ambienten Gewichte Kar, Kag, Kab und die unten genannten Gewichte der diffusen Reflexion Kdr, Kdg, Kdb in Wirklichkeit ein Produkt aus zwei Termen sind. Der erste Term drückt die Lichtintensität der Komponente aus. Der zweite Term drückt die Fähigkeit der Objektoberfläche aus, diese Komponente zu reflektieren. Da keiner der Terme von der Geometrie der Szene abhängt, werden in den vorliegenden Betrachtungen die zwei Terme in den Gewichten kombiniert. Enthält die Szene mehrfache Lichtquellen, so gibt es separate Gewichte für jede Lichtquelle.
  • Stumpfe, matte Oberflächen zeigen diffuse Reflexionen, die das Licht gleichmäßig in alle Richtungen streuen, so daß die Oberfläche aus allen Blickwinkeln die gleiche Helligkeit zu haben scheint. Bei solchen Oberflächen setzt das Lambert'sche Kosinus-Gesetz die Menge des reflektierten Lichtes zum Kosinus des Winkels α zwicgen der Richtung L zur Punktlichtquelle und dem Normalenvektor N der Oberfläche, wie sie in 1a dargestellt sind, in Beziehung. Die diffuse Reflexion kann durch die folgende Gleichung ausgedrückt werden: Idr = cos(α)·Kdr·Cr Idg = cos(α)·Kdg·Cg Idb = cos(α)·Kdb·Cb,wobei cos(α) = N·L ist (da die diffuse Reflexion einen positiven Wert haben muß, ist für die Berechnung von cos(α) zu for dern: cos(α) = max(cos(α), 0).), Idr, Idg bzw. Idb die diffusen Reflexionswerte für die roten, grünen und blauen Elemente, Kdr, Kdg und Kdb die diffusen Reflexionskoeffizienten für die roten, grünen und blauen Elemente der Lichtquelle (welche eine Konstante zwischen 0 und 1 sind und in Abhängigkeit vom Material der Oberfläche variieren) und Cr, Cg, und Cb die Farben der roten, grünen und blauen Elemente der Oberfläche sind.
  • Die spiegelnde Reflexion ist das auf einer glänzenden Oberfläche zu beobachtende Glanzlicht. Das von Bui Tuong-Phong entwickelte Modell modelliert die spiegelnde Reflexion als eine Funktion vom Kosinus des Winkels zwischen V, dem Vektor zum Punkt des Beobachters, und R, dem Vektor, der in Richtung der maximalen Reflexion zeigt, wie es in 1b dargestellt ist (Phong, B.T. "Illumination for Computer Generated Images", PhD Dissertation, Dept. of Computer Science, University of Utah, Salt Lake City, Gov. Ordering No. AD-A0008-786 (Juli 1973)). Für weitere Informationen über die ambiente, die diffuse und die spiegelnde Reflexion siehe auch: Foley und Van Dam "Fundamentals of Interactive Computer Graphics", (Addison Wesley 1983), Seiten 575–580; und Cook und Torrance, "A Reflectance Model For Computer Graphics", Computer Graphics, Bd. 15, Nr. 3, August 1981.
  • Die reflektierte Lichtmenge ist additiv. Folglich wird, wenn drei separate Lichtquellen auf eine Oberfläche scheinen, die auf der Oberfläche reflektierte Lichtmenge dadurch berechnet, daß die Reflexionsstärke in bezug auf jede Lichtquelle bestimmt und die für alle Lichtquellen bestimmten Reflexionsanteile summiert werden. Bei der Bestimmung der Art und der Menge der Reflexion sollte man sich vergegenwärtigen, daß es drei verschiedene Arten von Lichtquellen gibt. Ein Fall tritt auf, wenn in der Lösung angenommen wird, daß die Entfernung zum Licht unendlich ist. Die Beschreibung der Lichtquelle reduziert sich zu dem folgenden einfachen Lichtvektor: L = (Lx, Ly, Lz), wobei sich der Betrag des Lichtvektors zu
    Figure 00040001
    ergibt und der Wert von |L| gleich 1 für eine Lichtquelle im Unendlichen ist.
  • Ein anderer Fall tritt auf, wenn die Lösung annimmt, daß die Entfernung zur Lichtquelle endlich, aber die Strahlungscharakteristik isotrop ist. Das Licht strahlt folglich in alle Richtungen mit der gleichen Intensität. Die Beschreibung der Lichtquelle reduziert sich in diesem Fall auf die Position des Lichtes: Q = (Qx, Qx, Qz).
  • Der Lichtvektor, also die Position des Lichtes relativ zur Position des Eckpunktes (Px, Py, Pz) ist: L = (Qx – Px, Qy – Py, Qz – Pz)mit dem Betrag:
    Figure 00040002
  • Da der Betrag nicht gleich 1 sein kann, aber die Beleuchtungsstärkegleichungen einen Einheitsvektor erfordern, wird der Lichtvektor normiert: L = ((Qx – Px)/|L|, (Qy – Py)/|L|, (Qz – Pz)/|L|).
  • Ein dritter Fall tritt auf, wenn die Strahlungscharakteristik nicht isotrop ist. Wenn die Strahlungscharakteristik nicht isotrop ist, erfordert die Beschreibung der Lichtquelle den Vektor des Strahlungsdiagramms, welcher die Strahlungscharakteristikfunktion beschreibt: K = (Kx, Ky, Kz).
  • Der Strahlungscharakteristik-Vektor dient zur Beschreibung der Richtung, in welcher die Lichtintensität ein Maximum hat. Das das Objekt überstreichende Licht nimmt dann ab, wenn der Winkel κ zwischen dem Lichtvektor L und dem Strahlungscharakteristik-Vektor κ zunimmt (siehe 2). Vor dem Einbeziehen der Strahlungscharakteristikfunktion ist der Lichtvektor wie zuvor: L = ((Qx – Px)/|L|, (Qy – Py)/|L|, (Qz – Pz)/|L|)mit dem Betrag:
    Figure 00050001
  • Die Strahlungscharakteristikfunktion, welche die Intensität als Funktion vom Winkel zwischen dem Lichtvektor und dem Strahlungscharakteristik-Vektor darstellt, ist oftmals: cos(κ) = Kx·Lx + Ky·Ly + Kz·Lz.
  • Unter Aufnahme dieses Werts wird der Lichtvektor zu: L = (cos(κ)·Lx, cos(κ)Ly, cos(κ)Lz).
  • Computergraphiksysteme stellen gewöhnlich gekrümmte Oberflächen von Bildern als ein Netzwerk von ebenen Polygonen dar, welche schattiert sind, um ein weiches Erscheinungsbild wiederzugeben. Die Systeme versuchen das weiche Erscheinungsbild durch Variieren der Intensität über die Polygone wiederzugeben. Bekannte Techniken zum realistischen Schattieren von Polygonen werden aufgrund ihres großen Rechenaufwands von Echtzeitsystemen nicht benutzt. Die am einfachsten auszuführende Schattierungsberechnung ist die Berechnung der diffusen Reflexion, welche dem Lambert'schen Gesetz für diffuses Licht folgt. Jedoch nimmt diese Berechnung die gleiche Reflexionshelligkeit aus allen Blickwinkeln an. Da die einfache diffuse Gleichung die Reflexionsgleichungen nicht unter Beachtung der physikalischen Eigenschaften der Oberfläche, beispielsweise einem Rauheits-Koeffizienten, ausrechnet, nähert der Ausdruck die Reflexion nur an. Der Ausdruck kann beispielsweise nicht beschreiben, wie sich die Wellenlänge in Abhängigkeit vom Einfallswinkel verschieben kann, wenn das Licht eine metallische Oberfläche überstreicht. Diese Wellenlängenverschiebung bewirkt eine Veränderung der Farbe. Auch berücksichtigt die einfache diffuse Gleichung nicht, wie das Licht von Oberfläche zu Oberfläche gestreut wird.
  • Außerdem nimmt die einfachste Version der diffusen Reflexion an, daß die Reflexion über die gesamte Seitenfläche oder das gesamte Polygon konstant ist. Obwohl dies einfach zu berechnen ist, ist die Intensität oftmals an den Grenzen zwischen den Polygonen diskontinuierlich. Eine verbesserte Technik zur Ausführung des Schattierens von Bildern in Echtzeit wird als Gouraud-Schattieren bezeichnet. Bei der Gouraud-Schattierungstechnik wird die Intensität an jedem Punkt durch lineare Interpolation der Intensitäten an den Eck- oder Scheitelpunkten der Polygone berechnet. Diese Intensitäten werden durch Nutzung der Reflexionsgleichung für die diffuse Reflexion mit den an den Eckpunkten gegebenen Normalen bestimmt. Weitere Informationen über die Gouraud-Schattierung siehe: Gouraud, H. "Continuous Shading of Curved Surfaces", IEEE Transactions on Computers, Bd. 20, Nr. 6, Seiten 623–628 (Juni 1971). Jedoch läßt sich diese Technik nur für diffuse Reflexionen anwenden, und somit erscheinen durch diese Technik schattierte Oberflächen matt. Außerdem können die Bilder infolge von diskontinuierlichen Intensitätsänderungen an den Polygongrenzen Mach-Bänder reflektieren.
  • Die Phong-Schattierungstechnik erleuchtet die matten Oberflächen und reduziert die Mach-Bänder, welche die Gouraud-Schattierungstechnik erzeugt, aber sie wird aufgrund der langen Rechenzeit und des für die Erzeugung des Bildes erforderlichen Aufwandes gewöhnlich nicht in Echtzeitsystemen benutzt. In dieser Technik wird die Intensität jedes Punktes durch Verwendung einer angenäherten Oberflächennormalen bestimmt, welche aus den an den Eckpunkten beschriebenen tatsächlichen Oberflächennormalen linear interpoliert wird. Das Phong-Schattieren nutzt die Gleichung N(x,y) = Ax + By + C, wobei A, B und C die ausgewählten Eckpunkte sind, um die Normale über das Polygon zu interpolieren. Die Phong-Schattierungsgleichung erfordert sieben Additionen, sechs Multiplikationen, eine Division und eine Quadratwurzel pro Pixel. Diese Operation ist sehr aufwendig und zeitintensiv, insbesondere weil sie die Berechnung der Quadratwurzel einschließt. Zu weiteren Informationen über das Phong-Schattieren siehe: Phong B.T. "Illumination for Computer Generated Images", PhD Dissertation, Dept. of Computer Science, University of Utah, Salt Lake City, Gov. Ordering No. AD-A0008- 786.
  • Die Berechnung der Phong-Schattierung wurde durch Tom Duff vereinfacht (beschrieben in "Smoothly Shaded Renderings of Polyhedral Objects on Raster Displays", ACM Computer Graphics, Bd. 13, Nr. 2, Seiten 270–275, 1979). Duff vereinfachte das Phong-Schattieren durch Kombination der Interpolation der Reflexionsgleichungen:
    Figure 00070001
  • Somit kann diese Implementierung für aufeinanderfolgende Werte von x und y ausgewertet werden mit nur drei Additionen, einer Division und einer Quadratwurzel pro Pixel. Obwohl dies eine Verbesserung gegenüber Phong's Formel ist, machen die Berechnungen der Division und Quadratwurzel die Technik noch zu zeitintensiv und aufwendig für Echtzeitrealisierungen.
  • In einer anderen Implementierung des Phong-Schattierens wird eine Näherung der Reflexionsgleichung berechnet, wobei Zeit und Aufwand gegenüber der exakten Berechnung der Reflexionsgleichung gespart werden. In Weimer "Fast Phong Shading", Computer Graphics, Bd. 20, Nr. 4, (1986), Seiten 103–105 wird eine Taylor-Reihen-Näherung zweiter Ordnung benutzt, um die Reflexion zu berechnen. Um die Näherung zu vereinfachen, wird das Polygon so verschoben, daß der Koordinatennullpunkt im Zentrum des Polygons liegt. Mit Hilfe dieser Technik kann die Intensität an einem Pixel durch nur zwei Additionen pro Pixel bewertet werden.
  • Jedoch werden in allen o.g. Techniken die gleichen Funktionen benutzt, um die Reflexion aller Polygone eines Bildes zu bestimmen. Aus Bergman, L. et al. "Image Rendering by Adaptive Refinement", Computer Graphics, Vol 20. No. 4, August 1986 ist ein Verfahrung zur Schattierung bekannt, bei dem an einigen der Polygone in Abfolge wiederholt zunehmend komplexe Schattierungsverfahren ausgeführt werden. Zunächst werden bei dem bekannten Verfahren alle Polygone mit einem Schattierungsverfahren geringen Komplexität schattiert.
  • Die DE 38 25 539 A1 offenbart ein Verfahren und eine Einrichtung zum Schattieren von Bildern durch Wiedergabe einer Serie benachbarter Pixelkurven derart, daß keine Lücken zwischen den wiedergegebenen Kurven entstehen.
  • Wenn die Reflexion für einige der Polygone des Bildes nur dann mit der gewünschten Qualität bestimmt werden kann, wenn ein komplexer zeitintensiver Prozeß benutzt wird, so werden alle Polygone unter Verwendung desselben Prozesses bearbeitet. Somit wird, um ein Qualitätsbild wiederzugeben, ein komplexer zeitintensiver Prozeß benutzt, obwohl die Reflexion für eine bedeutende Anzahl von Polygonen durch einen einfacheren, schnelleren Prozeß bestimmt werden könnte.
  • Aufgabe der vorliegenden Erfindung ist es, eine Einrichtung und ein Verfahren zur Erzeugung von schattierten Abbildungen zu schaffen, die bzw. das den Aufwand an Rechnerressourcen und Zeit derart reduziert, daß schattierte Bilder in Echtzeit zur Verfügung gestellt werden können.
  • Die Aufgabe wird erfindungsgemäß gelöst durch eine Einrichtung mit den Merkmalen des Patentanspruchs 1 und ein Verfahren mit den Merkmalen des Patentanspruchs 52.
  • Die Erfindung verwendet ein adaptives Schattierungsverfahren, um schattierte Bilder in Echtzeit zu erzeugen. Zuerst wird die Farbe oder die Intensität an jeder der Ecken des Polygons berechnet. Dann wird eine Folge von Tests ausgeführt, um die Ordnung der Gleichung zu bestimmen, welche benutzt werden soll, um die Farbe oder die Intensität über das Polygon zwischen den Eckpunkten zu interpolieren. Gemäß dieser Technik wird bei Po lygonen, die eine leichte oder keine Krümmung haben, und bei einer unendlich entfernten Lichtquelle (dies ist die einfachste Form des Schattierens) eine extrem schnelle Gleichung niederer Ordnung benutzt, um über das Polygon zu interpolieren. Bei Polygonen, die einen hohen Grad der Krümmung und/oder der Positionsveränderung der Lichtquelle aufweisen, wird ggf. eine Gleichung höherer Ordnung benutzt, welche zusätzliche Rechenzeit erfordert, aber wünschenswerte Schattierungsergebnisse erzeugt.
  • Im folgenden wird die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert. In der Zeichnung zeigen:
  • 1a die in der Berechnung der diffusen Reflexion benutzte Geometrie;
  • 1b die in der Berechnung der spiegelnden Reflexion benutzte Geometrie;
  • 2 die Geometrie, die bei Lichtquellen mit anisotroper Strahlungscharakteristik benutzt wird;
  • 3 ein im System der vorliegenden Erfindung benutztes Computersystem;
  • 4a, 4b und 4c die Ausleuchtung der Oberflächen, welche zur Erzeugung qualitativ guter schattierter Bilder Gleichungen höherer Ordnung erfordert;
  • 5 ein Ablaufdiagramm, welches ein bevorzugtes Ausführungsbeispiel der Erfindung darstellt;
  • 6a und 6b Ablaufdiagramme, welche andere bevorzugte Ausführungsbeispiele der vorliegenden Erfindung darstellen;
  • 7a bis 7d die Terminologie und die Variablen, die in einem bevorzugten Ausführungsbeispiel der Erfindung benutzt werden;
  • 8a, 8b und 8c eine weitere Darstellung der Terminologie und Variablen eines bevorzugten Ausführungsbeispiels;
  • 9 eine Tabelle, welche die Qualität von den gemäß dem System der Erfindung erzeugten Bildern mit gemäß dem Phong-Schattierungsverfahren erzeugten Bildern vergleicht;
  • 10a bis 10e die Terminologie und Variablen, die bei Nutzung von Gleichungen zweiter und dritter Ordnung im System der Erfindung benutzt werden; und
  • 11a und 11b die Terminologie und Variablen, die bei Nutzung der ebenen Gleichungen im System der Erfindung benutzt werden.
  • Generelle Systemkonfiguration
  • 3 zeigt ein typisches System auf Computerbasis zur anpassungsfähigen Bild-Schattierung von Polygonen gemäß der Erfindung. Gezeigt ist ein Computer 101 mit drei Hauptkomponenten. Die erste dieser Hauptkomponenten ist die Ein/Ausgabe-Schaltung 102, die zur Informationsübertragung in geeignet strukturierter Form zu und aus den anderen Teilen des Computers 101 verwendet wird. Ebenfalls als Teil des Computers 101 sind die Zentraleinheit (CPU) 103 und der Speicher 104 gezeigt. Die beiden zuletzt genannten Komponenten sind diejenigen, die typischerweise bei den meisten Universalcomputern und beinahe allen Spezialcomputern vorhanden sind. Tatsächlich sind einige der im Computer 101 vorhandenen Elemente repräsentativ für diese breite Kategorie von Datenverarbeitungsmaschinen. Einzelne Beispiele für geeignete Datenverarbeitungsmaschinen, welche die Rollen des Computers 101 erfüllen können, sind die von der Firma Sun Microsystems, Inc., Mountain View, Kalifornien hergestellten Maschinen. Andere Computer mit ähnlichen Eigenschaften sind natürlich ebenfalls geeignet, die weiter unten beschriebenen Funktionen in direktem Ablauf durchzuführen.
  • Ebenfalls in 1 ist ein Eingabegerät 105 in einer Ausführungsform als Tastatur gezeigt. Es ist jedoch klar, daß als Eingabegerät auch ein Kartenleser, ein Magnet- oder Papierbandleser oder andere bekannte Eingabegeräte (ebenso wie ein anderer Computer) vorgesehen sein können. Ein Massenspeicher 106 ist mit der Ein/Ausgabeschaltung 102 gekoppelt und liefert zusätzliche Speicherkapazität für den Computer 101. Der Massenspeicher kann andere Programme u.dgl. enthalten und die Form eines Magnet- oder Papierbandlesers oder eines anderen bekannten Geräts annehmen. Es ist klar, daß die im Massenspeicher 106 enthaltenen Daten in geeigneten Fällen auch in herkömmlicher Weise in den Computer 101 als Teil des Speichers 104 einbezogen werden können.
  • Zusätzlich ist ein Displaymonitor 107 dargestellt, der zur Anzeige von Nachrichten oder anderen Benutzerkommunikationen ebenso wie graphischen Bildern, d.h. schattierten Bildern, die gemäß dem Verfahren der Erfindung wiedergegeben werden, verwendet werden kann. Der Displaymonitor enthält eine Matrix von Anzeigeelementen, die als Pixel bezeichnet werden und welche in einem speziellen Muster mit vorgegebenen Intensitäten aktiviert oder eingeschaltet werden, um ein graphisches Bild auf dem Display zu erzeugen. Wenn das Display ein Farbmonitor ist, werden für jedes Grundfarbelement, d.h. das rote, das grüne und das blaue Element, die Pixel in einem speziellen Muster mit einer vorgegebenen Intensität aktiviert. Der Betrachter des angezeigten Bildes kombiniert visuell die roten, grünen und blauen Elemente an jedem Pixel und nimmt ein Farbbild wahr. Ein solcher Displaymonitor kann die Form eines üblichen Kathodenstrahlbildschirms annehmen. Die graphischen Bilddaten werden an den Bild-Pufferspeicher 108 geliefert. Die I/O-Schaltung 102 liest die graphischen Bilddaten aus dem Bild-Pufferspeicher 108 und aktiviert die entsprechenden Pixel auf dem Displaymonitor 107 an der Stelle und mit der Intensität, die durch die graphischen Bilddaten spezifiziert sind. Ein Cursorsteuergerät 108 dient zur Auswahl von Befehlsmoden und zum Editieren von Eingabedaten und bildet generell ein zweckmäßiges Mittel zur Informationseingabe in das System.
  • Prozeßbeschreibung
  • Bei der Erfindung werden die zur Bestimmung des Schattie rungsgrades auf einer Polygonoberfläche verwendeten Schritte der Krümmung des Polygons, der Position der Lichtquelle in bezug auf die Oberfläche des Polygons und der Position des Beobachtungspunktes, d.h. der Position des Auges des Betrachters in bezug auf die Oberfläche des Polygons angepaßt. Je größer die Krümmung des Polygons, je näher die Lichtquelle dem Polygon und je näher der Beobachtungspunkt dem Polygon ist, desto größer ist die Änderung der Reflexion über die Polygonoberfläche und desto mehr Schritte sind erforderlich, um den Schattierungsgrad über die Polygonoberfläche akurat zu bestimmen.
  • Diese Beobachtung wird benutzt, um ein Qualitätsbilder wiedergebendes Verfahren zu schaffen, und zwar ohne den Berechnungs-Mehraufwand zur Erzeugung von Qualitätsbildern bei durchgängiger Nutzung von Schattierungsgleichungen hoher Ordnung. Eine Serie von Tests wird zur Bestimmung des Grades der Krümmung, der Position der Lichtquelle und der Position des Blickpunkts in bezug auf das Polygon ausgeführt. Wenn der Grad der Krümmung gering ist und die Entfernungen der Lichtquelle und des Blickpunkts groß sind, so wird eine einfache, schnelle Gleichung nullter Ordnung benutzt, um die Reflexion über den Polygon zu berechnen. Dies ist möglich, weil das Maß der Reflexion über das Polygon konstant ist, wenn die Änderung des Normalen-Vektors gering ist, was auf eine geringe Oberflächenkrümmung hinweist, und wenn die Änderungen des Lichtquellenvektors und des Blickpunktvektors gering sind. Wenn die Änderung des Maßes der Reflexion gering ist, wenn die Reflexion beispielsweise weniger als 1/250 variiert, so ist die Änderung für den Beobachter beinahe nicht wahrnehmbar, und wenn die Reflexion weniger als 1/64 variiert, so ist die Änderung noch sehr fein. So ist es möglich, die Farbänderung mit einem konstanten Farbwert anzunähern.
  • Wenn das Maß der Reflexionsänderung über das Polygon wächst, wird eine Gleichung höherer Ordnung zur Berechnung der Reflexion über das Polygon benutzt. Dies erzeugt eine genauere Wiedergabe der Reflexion, welche mit einer Gleichung nullter Ordnung nicht erreicht werden kann. Wenn das Maß der Krümmung größer wird und/oder die Lichtquelle näherkommt, so daß sich der Richtungsvektor von den Eckpunkten des Polygons zur Lichtquelle von Eckpunkt zu Eckpunkt ändert, so wird eine Gleichung höherer Ordnung benutzt. Weil das Maß der Reflexion sich über die Oberfläche des Polygons signifikant ändert, so daß sie für den Beobachter wahrnehmbar ist und somit der Grad des Schattierens über das Polygon nicht konstant ist, muß eine rechenzeitintensive Gleichung höherer Ordnung benutzt werden, um ein Qualitätsbild wiederzugeben.
  • Die 4a, 4b und 4c stellen drei Situationen dar, in denen Gleichungen nullter Ordnung und erster Ordnung zur Bestimmung der Reflexion nicht adäquat sind. In 4a wird angenommen, daß die Oberflächenkrümmung über dem Dreieck groß ist. Somit variieren die Eckpunkt-Normalenvektoren N und die diffuse Reflexion, welche proportional zur Projektion des Eckpunkt-Normalenvektors auf den Eckpunkt-Lichtquellenvektor L ist. So ist es wünschenswert, eine Gleichung mit einer Ordnung auszuwählen, die diese Reflexionsänderung berücksichtigt. In diesem Beispiel würde die Gleichung erster Ordnung nicht adäquat sein, und das System würde die Gleichung der nächsthöheren Ordnung (Phong) auswählen, um die Reflexion zu simulieren. Es sollte angemerkt werden, daß die Phong-Gleichung strenggenommen keine Gleichung zweiter Ordnung ist. Die Methode schließt eine Normierung ein, welche eine Quadratwurzel und eine Division an jedem Pixel erfordert. In der Literatur wird jedoch angegeben, daß Gleichungen zweiter Ordnung diese Lösung annähern (siehe Weimer, "Fast Phong Shading", Computer Graphics, Bd. 20, Nr. 4 (1986) Seiten 103–105). Soweit nicht anders angegeben, wird die Phong-Gleichung in der Beschreibung als eine Gleichung zweiter Ordnung bezeichnet.
  • Es wird angenommen, daß das Dreieck, welches in 4b dargestellt ist, keine Krümmung hat, d.h., daß die Eckpunkt- Normalenvektoren identisch sind, aber daß die Lichtquelle unmittelbar über der Dreiecksoberfläche positioniert ist. Folglich variieren die Eckpunkt-Lichtquellenvektoren und die diffuse Reflexion, welche proportional zur Projektion der Eckpunkt-Normalenvektoren auf die Eckpunkt-Lichtquellenvektoren ist. Eine diese Änderung enthaltene Gleichungsordnung würde dann ausgewählt werden.
  • In 4c wird angenommen, daß das Dreieck keine Krümmung hat, aber die Blickpunktposition unmittelbar über der Dreiecksoberfläche ist. Somit variieren die Eckpunkt-Blickpunktvektoren und die spiegelnde Reflexion, welche die Projektion der Eckpunkt-Normalenvektoren auf die Eckpunkt-Blickpunktvektoren enthält. Das System der Erfindung würde diese Situation erkennen und eine Gleichungsordnung auswählen, welche die Reflexionsänderung enthält.
  • Somit balanciert das System die Vorteile der schnellen, billigen Berechnungen mit Bildern geringerer Qualität und der langsamen, teureren Berechnungen mit Bildern hoher Qualität aus. Schnelle, billige Berechnungen werden vorzugsweise benutzt, um das Maß der Reflexion auf einem Polygon zu bestimmen; wenn jedoch die Krümmung des Polygons, die Position der Lichtquelle oder die Position des Blickpunkts eine signifikante Reflexionsänderung über die Oberfläche anzeigen, so wird eine Gleichung höherer Ordnung benutzt, um ein Qualitätsbild wiederzugeben. Somit werden die langsameren, kostenintensiveren Berechnungen höherer Ordnung nur soweit nötig ausgeführt. Die Polygone mit geringer Krümmung, großen Entfernungen zur Lichtquelle und großen Entfernungen zum Blickpunkt werden unter Nutzung von Gleichungen niedrigerer Ordnung schnell und unaufwendig berechnet. Es wurde gefunden, daß ein wesentlicher Teil der ein Bild bildenden Polygone durch Nutzung einer Gleichung nullter oder erster Ordnung wiedergegeben werden kann. Bilder, die mit Hilfe des anpassungsfähigen Schattierungssystems der Erfindung wiedergegeben werden, werden mit geringer oder nicht wahr nehmbarer Verringerung der Bildqualität 20 bis 50 % schneller erzeugt, als durch Gleichungen hoher Ordnung wiedergegebene Bilder.
  • Im bevorzugten Ausführungsbeispiel können drei Typen von Gleichungen benutzt werden, um das Maß der Reflexion über ein Polygon zu berechnen: Gleichungen nullter Ordnung, erster Ordnung und zweiter Ordnung. Die Gleichung nullter Ordnung berechnet einen konstanten Wert für die gesamte Polygonoberfläche. Vorzugsweise folgt die Gleichung nullter Ordnung dem Lambert'schen Gesetz und berechnet das Gewicht der diffusen Reflexion gemäß der Gleichung: cos(α) = N·L,wobei N die Oberflächennormale und L der Lichtquellenvektor ist. Die Normale kann eine Eckpunktnormale oder eine Normale an einem beliebigen Punkt auf der Oberfläche sein. Vorzugsweise ist die Normale die gemittelte Normale der Eckpunktnormalen.
  • Eine Gleichung erster Ordnung wird vorzugsweise gemäß der Gouraud-Schattierungsmethode berechnet. Die Gouraud-Methode erzeugt ein Bild von adäquater Qualität, wenn die Änderung der Reflexion über die Polygonoberfläche gering ist. Wenn die Änderung der Reflexion über die Polygonoberfläche signifikant ist, was auf die Notwendigkeit der Verwendung einer Gleichung zweiter Ordnung, hinweist, wird vorzugsweise die Phong-Schattierungsmethode benutzt.
  • Im folgenden wird das Verfahren der Erfindung anhand der 5, 6a und 6b beschrieben. 5 stellt den Ablauf des Verfahrens in bezug auf ein erstes Ausführungsbeispiel der Erfindung dar, und die 6a und 6b stellen den Ablauf des Verfahrens in bezug auf ein anderes Ausführungsbeispiel der Erfindung dar. Die bevorzugten Ausführungsbeispiele werden anhand von Bildwiedergaben beschrieben, die die Abtastzeilen-Technik (scan line technique) benutzen. Für den Fachmann ist es jedoch offensichtlich, daß die Erfindung nicht nur bei der Abtastzeilen-Technik, sondern auch bei anderen Techniken, wie beispiels weise Ebenengleichungen, angewendet werden kann, um die Farbe an den Polygoneckpunkten oder andere Randbedingungen über das Polygon zu interpolieren.
  • Wenn die Abtastzeilen-Technik benutzt wird, werden die Displayelemente, die das Polygon für jede Abtastzeile bzw. -linie schneidet, bestimmt und die Farbe jedes dieser Displayelemente aus den Eckpunkt-Attributen (Farbe, Position und Normale) abgeleitet, wobei bekannte Schattierungsgleichungen, wie beispielsweise die oben beschriebenen Gleichungen nullter, erster oder zweiter Ordnung, benutzt werden. Um die Eckpunkt-Attribute (oder andere Randbedingungen) über die Displayelemente, die das Polygon schneidet, zu interpolieren, werden Differenzvariable bestimmt. Die Differenzvariablen bestimmen, wie die Eckpunkt-Attribute (Tiefe, Normale, Farbe) entlang der Polygonkanten und über die Abtastlinie zwischen den Polygonkanten zu inkrementieren sind. Wie unten dargestellt, wird in den meisten Fällen die Normalendifferenzvariable (ebenso wie die der Farbe und der Position) bestimmt. Wenn jedoch die hier beschriebenen Testkriterien anzeigen, daß der Lichtvektor und/oder der Blickpunktvektor variieren, so werden die Differenzvariablen für diese Vektoren in der gleichen Weise wie für die Normalendifferenzvariable bestimmt und die Attribute über das Polygon interpoliert.
  • Bezugnehmend auf die 7a und 7b werden zuerst die Differenzvariablen für die Position, die Normale und die Farbe wie folgt bestimmt.
    Figure 00170001
    Figure 00180001
    wobei dPx(1), dPy(1), dPz(1) die Positionsdifferenzvariablen für die Kante zwischen dem ersten und dem zweiten Eckpunkt, dPx(2), dPy(2), dPz(2) die Positionsdifferenzvariablen für die Kante zwischen dem ersten und dem dritten Eckpunkt und dPx(3), dPy(3), dPz(3) die Positionsdifferenzvariablen für die Kante zwischen dem dritten und dem ersten Eckpunkt sind. Die Variablen dNx(1), dNy(1), dNz(1) stellen die Normalendifferenzvariablen für die Normalen am ersten und am zweiten Eckpunkt, dNx(2), dNy(2), dNz(2) die Normalendifferenzvariablen für die Normalen am zweiten und am dritten Eckpunkt und dNx(3), dNy(3), dNz(3) die Normalendifferenzvariablen für die Normalen am dritten und am ersten Eckpunkt dar. Die Variablen dCr(1), dCg(1), dCb(1) stellen die Farbdifferenzvariablen entlang der Kante zwischen der ersten und dem zweiten Eckpunkt, dCr(2), dCg(2) und dCb(2) die Farbdifferenzvariablen entlang der Kante zwischen dem zweiten und dem dritten Eckpunkt und dCr(3), dCg(3) und dCb(3) die Farbdifferenzvariablen entlang der Kante zwischen dem dritten und dem ersten Eckpunkt dar.
  • Aus dem Betrag der Positionsdifferenzvariablen (dPx gegenüber dPy) kann die Hauptachse bestimmt werden. Die Hauptachse zeigt die Richtung an, in welcher die Kanten des Polygons wiedergegeben werden. In der vorliegenden Darstellung ist die Y-Achse die Hauptachse für die erste Kante und für die zweite Kante und die X-Achse die Hauptachse für die dritte Kante. Die Positionsdifferenzvariable für die Nebenachse wird durch die Positionsdifferenzvariable der Hauptachse dividiert, um das Inkrement für die Nebenachse abzuleiten. Es werden dann Einheitsschritte benutzt, um die Dreieckskanten entsprechend der Abtastlinien-Wiedergabetechnik zu durchlaufen. Die Eckpunkte wer den dann sortiert, um eine linke Kante und eine rechte Kante jeder Abtastlinie zu bestimmen.
  • Entsprechend der Logik der Abtastlinien-Technik werden die in den Abtastlinien-Gleichungen benutzten Variablen, die die Kanten zwischen den Eckpunkten beschreiben, auf die Eckpunkt-Attribute als Anfangswerte eingestellt, und aus den Differenzvariablen abgeleitete Schrittweitevariablen werden benutzt, um das Polygon zu durchlaufen. Die Positionsdifferenzvariablen ergeben nach der Division durch die Hauptachse normierte Positionsinkremente, die Normalendifferenzvariablen nach der Division durch die Hauptachse normierte Normaleninkremente und die Farbdifferenzvariablen nach Division durch die Hauptachse normierte Farbinkremente:
    Figure 00190001
  • Die Inkrementwerte werden dann benutzt, um mit Hilfe einer Kanteninterpolationslogik die Eckpunkt-Attribute entlang der Dreieckskanten zu interpolieren:
    Figure 00190002
    Figure 00200001
  • Um das Polygon zu durchlaufen, werden die Eckpunkt-Attribute interpoliert, um Werte an der linken Seite und der rechten Seite der Abtastzeile zu erzeugen (siehe 7c). Um die Abtastzeile bzw. -linie auszufüllen, werden zuerst die Differenzvariablen für die Abtastlinie bestimmt. Die Differenzvariablen für die Abtastlinie gemäß 7d sind:
    Figure 00200002
  • Die Variablen werden dann durch die Breite der Abtastlinie, d.h. dPx(y), dividiert, um die Variablen zu normieren und einheitliche Schrittvariablen für die Abtastlinie zu erzeugen (vorzugsweise angepaßt an die einheitlichen Inkremente des Rasters):
    Figure 00200003
  • Mit dieser Information werden dann die Eckpunkt-Attribute über das Dreieck interpoliert, um das Dreieck auszufüllen:
    Figure 00200004
    Figure 00210001
  • Die Lösung erster Ordnung der Reflexionsgleichung vereinfacht den Wiedergabeprozeß. Anders als bei Lösungen höherer Ordnung entfernt die Lösung erster Ordnung die Notwendigkeit, die Differenzgleichungen für den Normalenvektor zu bestimmen. Stattdessen werden die Gewichte der diffusen Reflexion an den Eckpunkten (1, 2, 3) bestimmt: cos(α1): = Lx(1)·Nx(1) + Ly(1)·Ny(1) + Lz(1)·Nz(1) cos(α2): = Lx(2)·Nx(2) + Ly(2)·Ny(2) + Lz(2)·Nz(2) cos(α3): = Lx(3)·Nx(3) + Ly(3)·Ny(3) + Lz(3)·Nz(3)
  • Die diffusen Gewichte werden dann in jedes der Eckpunkt-Farbattribute aufgenommen. Cr(1) = (Kar + Kdr·cos(α1))·Cr(1) Cg(1) = (Kag + Kdg·cos(α1))·Cg(1) Cb(1) = (Kab + Kdb·cos(α1))·Cb(1) Cr(2) = (Kar + Kdr·cos(α2))·Cr(2) Cg(2) = (Kag + Kdg·cos(α2))·Cg(2) Cb(2) = (Kab + Kdb·cos(α2))·Cb(2) Cr(3) = (Kar + Kdr·cos(α3))·Cr(3) Cg(3) = (Kag + Kdg·cos(α3))·Cg(3) Cb(3) = (Kab + Kdb·cos(α3))·Cb(3)
  • Es sollte angemerkt werden, daß die o.g. Gleichungen die diffuse Reflexion für eine Lichtquelle beschreiben. Gibt es mehrere Lichtquellen, so summiert die Lösung die diffusen Reflexionen, da die Beiträge additiv sind.
  • In der Lösung erster Ordnung werden die Positionsdifferenzvariablen und die Farbdifferenzvariablen wie oben dargelegt be stimmt. Es gibt keine Notwendigkeit die Normalendifferenzvariablen zu bestimmen. Die Eckpunktfarbwerte begründen die diffusen Gewichtswerte. Ein Problem, welches mit dieser Lösung entsteht, ist jedoch, daß die diffusen Gewichte unterschätzt werden können. Eine Lösung zweiter Ordnung korrigiert dies durch Nutzung der Normalendifferenzvariablen. Wie oben beschrieben werden die Normalenvektoren an den Eckpunkten zuerst entlang der Polygonkante interpoliert und dann auf ihren Betrag normiert. Der Normalenvektor wird dann entlang der Abtastlinie des Polygons zwischen der linken und der rechten Polygonkante inkrementiert und ist an jedem Displayelement normiert.
  • Dieser Normalenvektor wird dann benutzt, um das diffuse Gewicht an jedem Displayelement zu berechnen: cos(α(x,y)): = Lx(x,y)·Nx(x,y) + Ly(x,y)·Ny(x,y) + Lz(x,y)·Nz(x.y)und das diffuse Gewicht wird in den Farbwert aufgenommen: Cr(x,y): = (Kar + Kdr·cos(α(x,y)))Cr(x,y) Cg(x,y): = (Kag + Kdg·cos(α(x,y)))·Cg(x,y) Cb(x,y): = (Kab + Kdb·cos(α(x,y)))·Cb(x,y)
  • Die o.g. Gleichungen nehmen an, daß der Lichtvektor L(x,y) sich über das Polygon nicht ändert. Wenn sich der Lichtvektor tatsächlich ändert, so muß der Lichtvektor ebenso wie der Normalenvektor interpoliert und normiert werden. Die zusätzlichen Interpolationen und Normierungen sind zeitraubend und aufwendig. Das System der vorliegenden Erfindung vereinfacht die Reflexionsgleichung in dreierlei Hinsicht. Erstens bestimmt das System der Erfindung, wann Lösungen nullter, erster oder zweiter Ordnung anzuwenden sind, so daß die aufwendigen Lösungen hoher Ordnung nur dann benutzt werden, wenn es die Normalenvektoränderung, Lichtvektoränderung oder Blickpunktvektoränderung aktuell erfordern. Zweitens kann das System der Erfindung wahlweise erkennen, welche speziellen Vektorwerte eine Interpolation erfordern, indem es bestimmt, welche Vektoren sich signi fikant über das Polygon ändern, und somit die zeitraubende Interpolation der drei Vektorwerte (einschließlich jener, die keine Interpolation erfordern) vermeiden. Zusätzlich kann das System der Erfindung wahlweise gewöhnliche Differenzengleichungen einsetzen, um die Farbwerte zu interpolieren. Diese Option vermeidet die aufwendigere klassische Lösung, welche die drei Vektoren interpoliert und normiert.
  • Bezugnehmend auf 5 wird im folgenden das Verfahren der Erfindung erläutert. Am Block 200 wird die Krümmung über die Oberfläche bestimmt. Sie wird in bezug auf die Normalen an jedem Eckpunkt des Polygons und entsprechend dem von den Normalen bestimmten Grad der Krümmung bestimmt, indem die Krümmungsgrade zwischen Paaren von Eckpunkten verglichen werden, um festzustellen, ob die Krümmung über dem Polygon stark ist. Vorzugsweise werden die folgenden Gleichungen benutzt (siehe 8a): cos(ϕ) = min(cos(ϕ1)), cos(ϕ(2)), cos(ϕ(3)))wobei cos(ϕ(1)) = Nx(1)·Nx(2) + Ny(1)·Ny(2) + Nz(1)·Nz(2) cos(ϕ(2)) = Nx(2)·Nx(3) + Ny(2)·Ny(3) + Nz(2)·Nz(3) cos(ϕ(3)) = Nx(3)·Nx(1) + Ny(3)·Ny(1) + Nz(3)·Nz(1)
  • Der cos(ϕ)-Wert ist ein Maß für die maximale Abweichung zwischen den Eckpunkt-Normalenvektoren. Er sagt die maximale Krümmung des Polygons voraus. Wenn am Block 205 der cos(ϕ)-Wert eine starke Krümmung anzeigt, so wird am Block 210 eine Schattierungsgleichung zweiter Ordnung implementiert, anderenfalls wird der cos(ϕ)-Wert gespeichert, um nachfolgend im Verfahren verwendet zu werden.
  • Ein vorgegebener Grenzwert wird benutzt, um den Wert von cos(ϕ) zu bestimmen, welcher eine starke Krümmung anzeigt. Der Grenzwert wird vorzugsweise empirisch bestimmt. Der Grenzwert korrespondiert mit der minimalen Krümmung, bei welcher ein Qualitätsbild nur bei Nutzung einer Gleichung zweiter (oder höhe rer) Ordnung erzeugt werden kann. Die Kriterien der Qualität hängen von der Anwendung ab. Wenn beispielsweise cos(α) ungefähr gleich Eins ist, was darauf hinweist, daß L und N parallel sind, und wenn die Kriterien eine Genauigkeit von 8 Bit für den Farb-Term vorsehen, so ergeben sich die Grenzwerte für die Auswahl der Gleichungen nullter, erster und zweiter Ordnung wie folgt:
    1,000 < cos(ϕ) < 0,996: nullte Ordnung,
    0,996 < cos(ϕ) < 0,992: erste Ordnung,
    0,992 < cos(ϕ) < 0: zweite Ordnung.
  • Vorzugsweise ist der Grenzwert durch den Benutzer modifi zierbar, um das Verfahren den Kundenwünschen für jede benutzte Anwendung und jedes erzeugte Bild anzupassen. Wenn typischerweise cos(ϕ) annähernd den Wert Eins hat, so ist die Krümmung über das Polygon gering und der Verfahrensablauf wird mit dem Block 220 fortgesetzt. Wenn die Krümmung stark ist und anzeigt, daß eine schnelle Schattierungsgleichung geringer Ordnung nicht die gewünschte Qualität im Bild liefern würde, so wird ein präziseres, aber zeitraubendes und teures Schattierungsverfahren hoher Ordnung benutzt. Wenn natürlich der Benutzer ein schnell erzeugtes Bild fordert und keine Anforderungen an die Qualität stellt, so kann der Grenzwert auf einen niedrigeren Wert gesetzt werden, um einen größeren Prozentsatz der Polygone des Bildes mit einer Gleichung nullter Ordnung zu erzeugen. Wenn beispielsweise die Kriterien eine Einhaltung einer Genauigkeit von 4 Bit für den Farb-Term fordern, so ergeben sich die Grenzwerte für die Auswahl der Gleichung nullter, erster und zweiter Ordnung wie folgt:
    1,000 < cos((ϕ) < 0,938: nullte Ordnung
    0,938 < cos(ϕ) < 0,879: erste Ordnung
    0,879 < cos(ϕ) < 0: zweite Ordnung.
  • In ähnlicher Weise kann, wenn der Benutzer ein präzise schattiertes Bild fordert, der Grenzwert auf einen Wert, der näher an Eins liegt, gesetzt werden, um einen größeren Prozent satz der Polygone mit einer Schattierungsgleichung höherer Ord nung wiederzugeben. Wenn die Krümmung nicht stark ist, wird im Block 220 die Positionsänderung der Lichtquelle in bezug auf die Eckpunkte bestimmt.
  • Die Richtung des Lichts wird sich relativ zu einem Eckpunkt um so mehr ändern, je näher die Lichtquelle dem Polygon ist. Bei einer im Unendlichen liegenden Lichtquelle, ist die Lichtquellenrichtung für alle Eckpunkte die gleiche. Bei einer in endlicher Entfernung angeordneten Lichtquelle, wie sie in 8b dargestellt ist, wird die Änderung der Lichtquellenanordnung zwischen den Eckpunkten wie folgt bestimmt: cos(ψ) = min(cos(ψ(1)), cos(ψ(2)), cos(ψ(3)))wobei cos(ψ(1)) = Lx(1)·Lx(2) + Ly(1)·Ly(2) + Lz(1)·Lz(2) cos(ψ(2)) = Lx(2)·Lx(3) + Ly(2)·Ly(3) + Lz(2)·Lz(3) cos(ψ(3)) = Lx(3)·Lx(1) + Ly(3)·Ly(1) + Lz(3)·Lz(1)wobei Lx, Ly, Lz die Positionen der Lichtquelle in bezug auf den Eckpunkt darstellen.
  • Der cos(ψ)-Wert ist ein Maß für die Abweichung zwischen den Eckpunkt-Lichtvektoren. Wenn der Lichtquellentyp eine unendliche Lichtquelle ist, so hat der cos(ψ)-Wert definitionsgemäß einen Wert von Eins. Wenn am Block 225 gefunden wird, daß die Änderung stark ist, so wird eine Schattierungsgleichung zweiter Ordnung implementiert (Block 230).
  • Wenn die Reflexionsgleichungen spiegelnde Reflexion enthal ten (Block 240), so werden die Eckpunkt-Blickpunktvektoren (siehe 8c), d.h. die Blickpunktpositionen relativ zu den Eckpunktpositionen, am Block 250 berechnet: cos(η) = min(cos(η(1)), cos(η(2)), cos(η(3)))wobei cos(η(1)) = Lx(1)·Lx(2) + Ly(1)·Ly(2) + Lz(1)·Lz(2) cos(η(2)) = Lx(2)·Lx(3) + Ly(2)·Ly(3) + Lz(2)·Lz(3) cos(η(3)) = Lx(3)·Lx(1) + Ly(3)·Ly(1) + Lz(3)·Lz(1).
  • Die spiegelnde Schattierung enthält die Menge des Glanz lichts einer Oberfläche. Das Glanzlicht (highlight) entspricht direkt der Anordnung der Lichtquelle in bezug auf die Oberfläche und der Anordnung des Auges in bezug auf die Lichtquelle auf der Oberfläche. Wenn die Reflexionsgleichungen nicht die spiegelnde Schattierung umfassen sollen, so wird am Block 245 der cos(η) auf Eins gesetzt, was anzeigt, daß es keine Änderung des Blickpunktvektors gibt.
  • Am Block 260 wird dann die maximale Intensitätsänderung als eine Funktion der Normalenvektoränderung, der Lichtvektoränderung und der Blickpunktvektoränderung bestimmt. Die unten angegebene Funktion wählt beispielsweise den Minimalwert der drei Kosinusmeßwerte aus, wobei die maximale Winkeländerung ausgewählt wird: cos(ϕψη) = min(a(ϕ)·cos(ϕ), a(ψ)·cos(ψ), a(η)·cos(η))
  • Die Gewichte a(ϕ), a(ψ), a(η) geben wieder, wie die drei Kosinuswerte die komplette Reflexionsgleichung beeinflussen. Beispielsweise kann eine geringe Änderung in dem cos(η)-Wert in eine große Änderung in der Reflexionsintensität, welche das Auge erreicht, umgesetzt werden. Somit werden die Gewichte benutzt, um die Werte auszubalancieren, so daß eine akkurate Bestimmung der maximalen Änderung ausgeführt werden kann.
  • An den Blöcken 270 und 280 werden durch Vergleichen der maximalen Intensitätsänderung mit Grenzwerten Tests ausgeführt, um zu bestimmen, ob eine Schattierungsgleichung erster oder zweiter Ordnung benutzt werden sollte, um das Schattieren des Polygons zu berechnen. Ein erster und zweiter Grenzwert können empirisch bestimmt oder durch den Benutzer für jede Anwendung entsprechend der gewünschten Qualität des Bildes und der Zeit zur Erzeugung des Bildes eingestellt werden. Vorzugsweise liegt der erste Grenzwert im Bereich von 0,996 bis 0,938 und der zweite Grenzwert im Bereich von 0,992 bis 0,879. Beispielsweise ergibt sich für eine maximale Änderung cos(ϕψη):
    1 < cos(ϕψη) < ε1: nullte Ordnung,
    ε1 < cos(ϕψη) < ε2: erste Ordnung,
    ε2 < cos(ϕψη) < 0: zweite Ordnung.
  • Am Block 270 wird die maximale Intensitätsänderung mit dem ersten Grenzwert ε1 verglichen. Wenn die maximale Intensitätsänderung größer als der erste Grenzwert ist, so wird eine Gleichung nullter Ordnung benutzt (Block 310). Wenn die Änderung kleiner als oder gleich dem ersten Grenzwert ist, so wird am Block 280 die maximale Änderung mit dem zweiten Grenzwert ε2 verglichen. Wenn die maximale Intensitätsänderung kleiner als der zweite Grenzwert ist, so wird die Schattierung unter Nutzung einer Gleichung zweiter Ordnung erzeugt. Wenn nicht, so wird am Block 290 die Schattierung mittels einer Gleichung erster Ordnung ausgeführt. Wenn die Ordnung der zu benutzenden Reflexionsgleichung bestimmt wurde, so werden die Farbwerte entlang der Kanten des Polygons bestimmt, und das Polygon wird wiedergegeben, indem durch Vorwärtsdifferenzieren die Pixel (Anzeigeelemente) auf jeder Abtastlinie, welche das Polygon schneidet, wiedergegeben werden (Block 320).
  • Ein zweites Ausführungsbeispiel der Erfindung wird in den 6a und 6b beschrieben. 6a beschreibt ein Ausführungsbeispiel, welches die diffuse Reflexion enthält. 6b beschreibt ein Ausführungsbeispiel, welches außerdem die spiegelnde Reflexion enthält. Alternativ kann das Ausführungsbeispiel gemäß 6a mit dem Ausführungsbeispiel gemäß 5 kombiniert werden, um ein umfassendes System zur Verfügung zu stellen, welches bei seiner Anwendung die Geschwindigkeit des Ausführungsbeispiels gemäß 6a und die hohe Präzision des Ausführungsbeispiels gemäß 5 nutzt. In ähnlicher Weise kann das Ausführungsbeispiel gemäß 6a mit dem Ausführungsbeispiel gemäß 5 kombiniert werden.
  • Bezugnehmend auf 6a wird am Block 420 die Anordnung der Lichtquelle in bezug auf jeden der Eckpunkte bestimmt. Wenn die Lichtquelle eine positionierte Lichtquelle ist, d.h. eine Lichtquelle, welche einen endlichen Abstand von den Eckpunkten des Polygons hat, so wird die Anordnung der Lichtquelle in be zug auf jeden der Eckpunkte sich ändern. Wenn die Lichtquelle eine unendlich weit entfernte Lichtquelle ist, so wird die Anordnung der Lichtquelle für jeden der Eckpunkte die gleiche sein.
  • Am Block 430 wird das Punktprodukt des Lichtvektors und der Oberflächennormalen an jedem Eckpunkt bestimmt, und am Block 440 werden die Differenzen zwischen jedem der Punktprodukte an den Eckpunkten berechnet. Am Block 450 wird der Maximalwert cosdiff(α) als maximale Differenz zwischen den Punktprodukten bestimmt: max(abs(cos(α1) – cos(α2)), abs(cos(α2) – cos(α3)), abs(cos(α3) – cos(α1))).
  • Dieser Wert wird benutzt, um zu bestimmen, ob eine Gleichung nullter, erster, zweiter oder höherer Ordnung benutzt werden soll, um die Schattierung des Polygons zu berechnen. Ein erster Grenzwert τD1 wird benutzt, um zu bestimmen, ob eine Schattierungsgleichung nullter Ordnung benutzt werden soll. Bei Nutzung einer Schattierungsgleichung nullter Ordnung können Zeit und Aufwand gespart werden, wobei noch ein Bild der gewünschten Qualität erzeugt wird. Ein zweiter Grenzwert τD2 wird benutzt, um zu bestimmen, ob eine Schattierungsgleichung zweiter Ordnung benutzt werden sollte.
  • Die Grenzwerte τD1 und τD2 können empirisch oder auf der Basis der jeweiligen Anwendung bestimmt werden. Wenn beispielsweise ein Benutzer ein Bild mit präziser Schattierung wiederzugeben wünscht, so ist es zweckmäßig, die Schattierung mit einer Reflexionsgleichung zweiter Ordnung zu berechnen. Folglich sollte der Grenzwert τD2 auf einen Wert gesetzt werden, der die Mehrheit der Anzeigeelemente in dem Polygon mit einer Gleichung zweiter Ordnung wiederzugeben veranlaßt. Der Grenzwert τD1 kann auf einen niedrigen Wert und der Grenzwert τD2 kann ebenfalls auf einen niedrigen Wert gesetzt werden, so daß die Schattierung der meisten Polygone des Bildes mit Gleichungen zweiter Ordnung ausgeführt wird. Wenn andererseits der Benutzer eine schnelle Darstellung des Bildes wiederzugeben wünscht und auf die Qualität des Schattierens keinen Wert legt, so können die Grenzwerte τD1 und τD2 zur Erzeugung dieses Effekts eingestellt werden. Insbesondere würden die Grenzwerte τD1 und τD2 auf hohe Werte gesetzt werden, damit die meisten ausgeführten Tests anzeigen, daß die Gleichung nullter Ordnung benutzt wird.
  • Vorzugsweise werden die Grenzwerte auf Werte gesetzt, welche die Notwendigkeit eines Qualitätsbildes und die Notwendigkeit der schnellstmöglichen Wiedergabe des Bildes ausbalancieren. Außerdem sollten die Grenzwerte berücksichtigen, wie glänzend die Oberfläche ist, d.h. die Strahlbreite der spiegelnden Reflexion. Wenn die Strahlbreite groß ist, wählt die Technik eine Gleichung erster Ordnung. Dies ergibt akzeptable bis für das Auge nahezu perfekte Bilder mit einer Wiedergabegeschwindigkeit, die 25 bis 50 % schneller ist, als die Wiedergabe des gesamten Bildes mit Hilfe der Phong-Schattierungsmethode. Bilder von akzeptabler Qualität wurden ebenfalls erzeugt, wenn die Strahlbreite gering war, obwohl Diskontinuitäten in der Schattierung bestimmter Polygone auftraten, bei welchen ein Polygon mittels einer Gleichung erster Ordnung und ein angrenzendes Polygon mittels einer Gleichung zweiter Ordnung schattiert wurde. Dieses Problem kann jedoch vermieden werden durch die Benutzung kleinerer Polygone. Typischerweise wird in der Praxis die Gleichung nullter Ordnung aufgrund der Notwendigkeit einer Erzeugung von Bildern höherer Qualität nicht häufig benutzt. Folglich wird der Grenzwert τD1 vorzugweise auf einen Wert von ungefähr 0,1 gesetzt, so daß die meisten Polygone mit Gleichungen höherer Ordnung wiedergegeben werden.
  • Ein anderes Ausführungsbeispiel der Erfindung wird anhand von 6b beschrieben. Der Verfahrensablauf ist ähnlich dem in 6a, abgesehen davon, daß die spiegelnde Reflexion zusätzlich zur diffusen Reflexion berücksichtigt ist. Wenn die spiegelnde Reflexion in das Verfahren einbezogen werden soll, so wird am Block 610 der Blickpunktvektor für jeden Eckpunkt berechnet. Die Berechnung normiert jeden Blickpunktvektor auf seinen Betrag. Am Block 620 wird die Projektion des Reflexionsvektors auf den Blickpunktvektor an jedem Eckpunkt bestimmt (R·V). Dieser Wert cos(δ(i)) sagt die spiegelnde Reflexion voraus. Am Block 630 wird die Differenz zwischen den cos(δ(i))-Werten an jedem Eckpunkt berechnet, d.h.:
    |cos(δ(1)) – cos(δ(2))|, |cos(δ(2)) – cos(δ(3))|, |cos(δ(3)) – cos(δ(1))|.
  • Am Block 640 wird die maximale Differenz bestimmt. Wenn die maximale Differenz cosdiff(δ) kleiner als oder gleich dem ersten Grenzwert ist, so wird am Block 650 eine Schattierung nullter Ordnung ausgewählt. Wenn die maximale Differenz cosdiff(δ) größer als oder gleich dem zweiten Grenzwert ist, so wird am Block 670 eine Schattierung zweiter Ordnung ausgewählt. Anderenfalls wird am Block 690 eine Schattierung erster Ordnung benutzt.
  • 9 stellt eine Tabelle dar, welche die Vorteile der Nutzung des hier beschriebenen Verfahrens illustriert. Die Tabelle zeigt die Ergebnisse des Schattierens desselben Objekts mittels der Phong-Schattierungsmethode, welche eine Gleichung zweiter Ordnung benutzt, der Gouraud-Methode, welche eine Gleichung erster Ordnung benutzt, und der anpassungsfähigen Schattierungstechnik der vorliegenden Erfindung. Die Spiegelkraft ist der Wert, welcher die Reflexionsfähigkeit der Oberfläche anzeigt. Wenn die Spiegelkraft wächst, wächst der Glanz der Oberfläche. Die Wiedergabezeit ist die Zeitspanne, die zur Wiedergabe des Bildes mittels dieser Technik gebraucht wird. "NMSE" ist der normierte mittlere quadratische Fehler zwischen der Pixeldarstellung des durch die adaptive Schattierungsmethode nach der Erfindung erzeugten Bildes und der Phong-Schattierungstechnik zweiter Ordnung. Dieser wurde berechnet mittels der Gleichung:
    Figure 00300001
    wobei
    Pr(i): rote Komponente des i'ten Pixels des über die Phong-Technik erzeugten Bildes;
    Pg(i): grüne Komponente des i'ten Pixels des über die Phong-Technik erzeugten Bildes;
    Pb(i): blaue Komponente des i'ten Pixels des über die Phong-Technik erzeugten Bildes;
    Ar(i): rote Komponente des i'ten Pixels desselben Bildes, erzeugt über die adaptive Schattierung;
    Ag(i): grüne Komponente des i'ten Pixels desselben Bildes, erzeugt über die adaptive Schattierung;
    Ab(i): blaue Komponente des i'ten Pixels desselben Bildes, erzeugt über die adaptive Schattierung.
  • Je kleiner der NMSE-Wert ist, desto höher ist die Qualität des Bildes. Je geringer somit der Grenzwert τD1 ist, desto besser ist die Qualität des erzeugten Bildes und desto langsamer ist die Wiedergabezeit. Je höher umgekehrt der Grenzwert ist, desto geringer ist die Qualität des erzeugten Bildes und desto schneller ist die Wiedergabezeit unabhängig von der Spiegelkraft, die bei der Wiedergabe des Bildes benutzt wurde. Im allgemeinen ist der normierte mittlere quadratische Fehler (NMSE) eines mit der adaptiven Schattierung erzeugten Bildes kleiner als 0,0001 (verglichen mit einem Phong-erzeugten Bild), was zeigt, daß das Bild annähernd identisch mit dem Phong-schattierten Bild ist. Bilder, die einen NMSE-Wert zwischen 0,0001 und 0,00025 haben, weisen einige kaum sichtbare Schattierungs-Diskontinuitäten auf, währenddessen Bilder, die einen NMSE-Wert zwischen 0,00025 und 0,0005 haben, Schattierungs-Diskontinuitäten aufweisen, welche sichtbar werden. Bilder mit einem NMSE-Wert über 0,0005 weisen deutliche Sprünge oder Brüche auf.
  • Die Erfindung ist eindeutig nicht auf irgendeinen speziellen Gleichungstyp zur Berechnung der Schattierung eines Polygons begrenzt. Beim Lesen der Beschreibung wird es für den Fachmann klar, daß jede beliebige bekannte Schattierungsmethode zur Ausführung der Erfindung benutzt werden kann; vorzugsweise werden jedoch die folgenden Gleichungen benutzt. Die Gleichungen benutzen viele der zuvor zur Bestimmung der Ordnung der zu benutzenden Gleichung ausgeführten Berechnungen und sparen somit Zeit in der Ausführung des Schattierungsalgorithmus. Die beschriebenen Berechnungen benutzen die Abtastzeilentechnik, die zuvor für Gleichungen aller Ordnungen beschrieben wurde.
  • Die folgenden Gleichungen benutzen ein einfaches Dreieck, aber die Technik läßt sich auf beliebige Polygone und parametrische Oberflächen ausdehnen. Die Normalenvektoren an speziellen Punkten oder Eckpunkten werden aus den parametrischen Funktionen, welche die Oberfläche definieren, bestimmt (siehe Bartels, Beatty, Barsky: "An Introduction to Splines for Use in Computer Graphics" (Margan Kaufmann, 1987), Seiten 293–299; Faux, Pratt: "Computational Geometry for Design and Manufacture" (Wiley 1979), Seiten 110–113).
  • Die Lösung erster Ordnung berechnet die totale Reflexion an den Eckpunkten des Dreiecks. Wenn die Reflexion nur aus der ambienten und der diffusen Reflexion besteht; lauten die Gleichungen: C(1) = (Ka + Kd·cos(α1))·C(1), C(2) = (Ka + Kd·cos(α2))·C(2), C(3) = (Ka + Kd·cos(α3))·C(3),wobei Ka der Koeffizient der ambienten Reflexion, Kd der Koeffizient der diffusen Reflexion und cos(α1) = Lx(1)·Nx(1)+Ly(1)·Ny(1)+Lz(1)·Nz(1), cos(α2) = Lx(2)·Nx(2)+Ly(2)·Ny(2)+Lz(2)·Nz(2), cos(α3) = Lx(3)·Nx(3)+Ly(3)·Ny(3)+Lz(3)·Nz(3),ist. Es sollte angemerkt werden, daß die oben genannten Gleichungen zur Vereinfachung der Beschreibung die separaten Ausdrücke für jede Farbkomponente verdichten. Wenn der Farbraum additiv ist, haben die separaten Komponenten die gleiche Form.
  • Wenn in die Reflexion die spiegelnde Reflexion einbezogen werden soll, werden die Ausdrücke zu: C(1) = (Ka + Kd·cos(α1))·C(1) + Ks·(cos(δ1))p·Cl, C(2) = (Ka + Kd·cos(α2))·C(2) + Ks·(cos(δ2))p·Cl, C(3) = (Ka + Kd·cos(α3))·C(3) + Ks·(cos(δ3))p·Cl,wobei Cl die Lichtquellenfarbe ist, Ks der Koeffizient der spiegelnden Reflexion und cos(δ1) = 2·cos(α1)·cos(β1) – cos(χ1) cos(δ2) = 2·cos(α2)·cos(β2) – cos(χ2) cos(δ3) = 2·cos(α3)·cos(β3) – cos(χ3)wobei cos(β1) = Nx(1)·Vx(1) + Ny(1)·Vy(1) + Nz(1)·Vz(1), cos(β2) = Nx(2)·Vx(2) + Ny(2)·Vy(2) + Nz(2)·Vz(2), cos(β3) = Nx(3)·Vx(3) + Ny(3)·Vy(3) + Nz(3)·Vz(3),und cos(χ1) = Vx(1)·Lx(1) + Vy(1)·Ly(1) + Vz(1)·Lz(1), cos(χ2) = Vx(2)·Lx(2) + Vy(2)·Ly(2) + Vz(2)·Lz(2), cos(χ3) = Vx(3)·Lx(3) + Vy(3)·Ly(3) + Vz(3)·Lz(3),
  • Um die Differenz zwischen den Farbwerten zwischen angrenzenden Dreiecken zu minimieren wenn eine Lösung nullter Ordnung benutzt wird, werden die Farbwerte an den drei Eckpunkten gemittelt. (Dieser Mittelwert stimmt mit dem Farbwert überein, welchen die Lösung erster Ordnung im Mittelpunkt des Dreiecks verwirklicht): C = 0,33·(C(1) + C(2) + C(3)).
  • Die Lösung erster Ordnung leitet die Farbwerte wie oben gezeigt ab. Bei einer Lösung erster Ordnung werden dieselben oben (in bezug auf die Lösung nullter Ordnung) beschriebenen Gleichungen benutzt. Die Lösung erster Ordnung mittelt nicht die Eckpunkt-Farbwerte sondern interpoliert die Farbwerte. Hier wird ein Verfahren beschrieben, das einen Abtastlinien-Algorithmus (siehe Beschreibungseinleitung) in bezug auf Eckpunktfarben benutzt. Entsprechend der Kantenlogik werden die Farbwerte zuerst entlang jeder Dreieckskante interpoliert und dann entlang jeder Abtastlinie des Dreiecks.
  • Bei einer Gleichung zweiter Ordnung werden die Farbwerte an den Dreieckseckpunkten bestimmt. Diese Farbwerte repräsentieren zwei Randbedingungen für jede Dreieckskante, d.h. die Farbwerte an den zwei Endpunkten jeder Dreieckskante. Da die Gleichung zweiter Ordnung definitionsgemäß drei Randbedingungen erfordert, interpoliert die Lösung für die ambiente und die diffuse Reflexion den Normalenvektor und den Lichtvektor für einen zwischen den Dreieckseckpunkten liegenden Ort auf der Dreieckskante. Das unten genannte Beispiel nimmt an, daß dieser Ort die Mitte der Kante ist, und außerdem nimmt dieses Beispiel den schlechtesten Fall an, bei dem sich sowohl der Normalenvektor als auch der Lichtvektor über das Dreieck ändern. Somit wird die dritte Randbedingung, welche im vorliegenden Beispiel die Hälfte der Distanz zwischen den Eckpunkten ist (siehe 10a), wie folgt bestimmt:
    Figure 00340001
    und Nx(4), Ny(4), Nz(4) sind die Normalenkoordinaten für den ausgewählten Punkt zwischen dem ersten und dem zweiten Eckpunkt, Nx(5), Ny(5) und Nz(5) die Normalenkoordinaten für den ausgewählten Punkt zwischen dem zweiten und dem dritten Eckpunkt und Nx(6), Ny(6) und Nz(6) die Normalenkoordinaten für den ausgewählten Punkt zwischen dem dritten und dem ersten Eckpunkt.
  • Außerdem sind:
    Figure 00340002
    wobei Lx(4), Ly(4) und Lz(4) die Lichtvektorkoordinaten des ausgewählten Punktes zwischen dem ersten und dem zweiten Eckpunkt, Lx(5), Ly(5) und Lz(5) die Lichtvektorkoordinaten des ausgewählten Punktes zwischen dem zweiten und dem dritten Eckpunkt und Lx(6), Ly(6) und Lz(6) die Lichtvektorkoordinaten des ausgewählten Punktes zwischen dem dritten und dem ersten Eck punkt sind. Um die Vektoren zu normieren, werden die Beträge der Vektoren berechnet. Um Rechenzeit und Aufwand zu sparen, wird die Division durch den Betrag vorzugsweise hinter die Berechnung der diffusen Gewichte zurückgestellt: cos(α4): = (Lx(4)·Nx(4) + Ly(4)·Ny(4) + Lz(4)·Nz(4))/(L(4)·N(4)) cos(α5): = (Lx(5)·Nx(5) + Ly(5)·Ny(5) + Lz(5)·Nz(5))/(L(5)·N(5)) cos(α6): = (Lx(6)·Nx(6) + Ly(6)·Ny(6) + Lz(6)·Nz(6))/(L(6)·N(6))wobei L(4): = √Lx(4)·Lx(4) + Ly(4)·Ly(4) + Lz(4)·Lz(4) L(5): = √Lx(5)·Lx(5) + Ly(5)·Ly(5) + Lz(5)·Lz(5) L(6): = √Lx(6)·Lx(6) + Ly(6)·Ly(6) + Lz(6)·Lz(6) und N(4): = √Nx(4)·Nx(4) + Ny(4)·Ny(4) + Nz(4)·Nz(4) N(5): = √Nx(5)·Nx(5) + Ny(5)·Ny(5) + Nz(5)·Nz(5) N(6): = √Nx(6)·Nx(6) + Ny(6)·Ny(6) + Nz(6)·Nz(6)
  • Die zusammengesetzte Reflexion für die Mittelpunkte, die als dritte Randbedingung genutzt werden soll, wird bestimmt: C(4): = (Ka + Kd·cos(α4))·C(4) C(5): = (Ka + Kd·cos(α5))·C(5) C(6): = (Ka + Kd·cos(α6))·C(6)
  • Im vorliegenden Beispiel wird der schlechteste Fall angenommen, bei dem die Eckpunktfarben selbst über das Dreieck variieren. Somit sind die Farben der Zwischenpunkte auf der Polygonkante:
    Figure 00350001
  • Wenn die zusammengesetzte Reflexion die spiegelnde Reflexion einschließen soll, werden die Blickpunktvektoren an den Mittelpunkten ebenso bestimmt. Das Beispiel nimmt wiederum den schlechtesten Fall an, bei dem der Blickpunktvektor sich über das Dreieck ändert:
    Figure 00350002
  • Die Beträge zur Normierung der Vektoren werden dann berech net. Die am wenigstens aufwendige Berechnungsweise ergibt sich durch Zurückstellung der Division durch den Betrag hinter die Berechnung der spiegelnden Gewichte: cos(δ4): = 2·cos(α4)·cos(β4) – cos(χ4) cos(δ5): = 2·cos(α5)·cos(β5) – cos(χ5) cos(δ6): = 2·cos(α6)·cos(β6) – cos(χ6)wobei cos(β4): = (Nx(4)·Vx(4) + Ny(4)·Vy(4) + Nz(4)·Vz(4))/(N(4)·V(4)) cos(β5): = (Nx(5)·Vx(5) + Ny(5)·Vy(5) + Nz(5)·Vz(5))/(N(5)·V(5)) cos(β6): = (Nx(6)·Vx(6) + Ny(6)·Vy(6) + Nz(6)·Vz(6))/(N(6)·V(6))und cos(χ4): = (Vx(4)·Lx(4) + Vy(4)·Ly(4) + Vz(4)·Lz(4))/(V(4)·L(4)) cos(χ5): = (Vx(5)·Lx(5) + Vy(5)·Ly(5) + Vz(5)·Lz(5))/(V(5)·L(5)) cos(χ6): = (Vx(6)·Lx(6) + Vy(6)·Ly(6) + Vz(6)·Lz(6))/(V(6)·L(6))wobei V(4): = √Vx(4)·Vx(4) + Vy(4)·Vy(4) + Vz(4)·Vz(4) V(5): = √Vx(5)·Vx(5) + Vy(5)·Vy(5) + Vz(5)·Vz(5) V(6): = √Vx(6)·Vx(6) + Vy(6)·Vy(6) + Vz(6)·Vz(6)
  • Die Addition der spiegelnden ändert die zusammengesetzte Reflexion zu: C(4) = (Ka + Kd·cos(α4))·C(4) + Ks·(cos(δ4)p)·Cl, C(5) = (Ka + Kd·cos(α5))·C(5) + Ks·(cos(δ5)p)·Cl, C(6) = (Ka + Kd·cos(α6))·C(6) + Ks·(cos(δ6)p)·Cl,
  • Die zusätzlichen Farbwerte C(4), C(5), C(6) liefern die dritte Randbedingung.
  • Wie bereits gesagt, erfordert die Lösung zweiter Ordnung drei Randbedingungen (siehe 10b), um die Koeffizienten (m0, m1, m2) der Gleichung zweiter Ordnung abzuleiten:
    C(u(i)) = mo(i) + m1(i)·u(i) + m2(i)·u(i)2 wobei 0 < = u(i) < = 1.
  • Um die Koeffizienten zu berechnen, werden gleichzeitig die Gleichungen für die drei Randbedingungen bestimmt. Die Randbedingungen sind: C(1) = m0(1) C(4) = m0(1) + 0,5m1(1) + 0,25m2(1) C(2) = m0(1) + m1(1) + m2(1) C(2) = m0(2) C(3) = m0(3) C(5) = m0(2) + 0,5m1(2) + 0,25m2(2) C(3) = m0(3) C(6) = m0(3) + 0,5m1(3) + 0,25m2(3) C(1) = m0(3) + m1(3) + m2(3)
  • Die Parametervariable ist:
    Figure 00370001
    wobei
    Figure 00370002
  • Nachdem die Koeffizienten bestimmt wurden, kann die Gleichung zweiter Ordnung auf Vorwärts-Differenzgleichungen reduziert werden, um die Farbe entlang der Kanten zu berechnen.
  • Um die Farbe innerhalb des Dreiecks zu berechnen, wird die Lösung zweiter Ordnung benutzt, und die Werte werden, wie oben gezeigt, entlang der Kanten interpoliert, um die Vektorwerte an jeder Seite der Rasterspannweite aufzustellen. Die Vektorwerte werden dann zum Zentrum der Spannweite interpoliert. Gemäß 10c werden die Vektoren an einem Punkt in der Mitte der Spannweite wie folgt bestimmt:
    Figure 00370003
    von welchen der Kosinusterm für die Reflexionsgleichungen berechnet wird: cos(δxc): = 2·cos(αxc)·cos(βxc) – cos(χxc)wobei cos(αxc): = (Lx(xc)·Nx(xc) + Ly(xc)·Ny(xc) + Lz(xc)·Nz(xc))/(L(xc)·N(xc))) cos(βxc): = (Nx(xc)·Vx(xc) + Ny(xc)·Vy(xc) + Nz(xc)·Vz(xc))/(N(xc)·V(xc))) cos(χxc): = (Vx(xc)·Lx(xc) + Vy(xc)·Ly(xc) + Vz(xc)·Lz(xc))/(V(xc)·L(xc))) und L(xc): = √Lx(xc)·Lx(xc) + Ly(xc)·Ly(xc) + Lz(xc)·Lz(xc) N(xc): = √(Nx(xc)·Nx(xc) + Ny(xc)·Ny(xc) + Nz(xc)·Nz(xc) V(xc): = √(Vx(xc)·Vx(xc) + Vy(xc)·Vy(xc) + Vz(xc)·Vz(xc)
  • Die Farbe an dem Spannweitenmittelpunkt ist somit: C(xc): = (Ka + Kd·cos(αxc))·C(xc) + Ks·cos(δxc)p·Cl,welche den dritten Farbwert liefert, um die Randbedingungen zu vervollständigen (siehe 10c): C(xl) = m0(4) C(xc) = m0(4) + 0,5·m1(4) + 0,25·m2(4) C(xr) = mo(4) + m1(4) + m2(4)
  • Vorwärtsdifferenzgleichungen werden dann benutzt, um über das Dreieck zu interpolieren, um die komplette Reflexionsgleichung zu realisieren.
  • Diese Technik kann auch auf Gleichungen dritter Ordnung erweitert werden. Vier Farbwerte für jede Kante werden berechnet, um die vier für eine Lösung dritter Ordnung erforderlichen vier Randbedingungen zu spezifizieren. Zusätzlich zu den zwei Eckpunktfarben werden die Farbwerte bei einem Drittel und zwei Dritteln der Kantenlänge bestimmt. Somit werden die Randbedingungen für die Kantenlogik (siehe 10d) zu: C(1) = m0(1) C(4) = m0(1) + 0,33m1(1) + 0,11m2(1) + 0,04m3(1) C(5) = m0(1) + 0,67m1(1) + 0,44m2(1) + 0,30m3(1) C(2) = m0(1) + m1(1) + m2(1) + m3(1) C(2) = m0(2) C(6) = m0(2) + 0,33m1(2) + 0,11m2(2) + 0,04m3(2) C(7) = m0(2) + 0,67m1(2) + 0,44m2(2) + 0,30m3(2) C(3) = m0(2) + m1(2) + m2(2) + m3(2) C(3) = m0(3) C(8) = m0(3) + 0,33m1(3) + 0,11m2(3) + 0,04m3(3) C(9) = m0(3) + 0,67m1(3) + 0,44m2(3) + 0,30m3(3) C(1) = m0(3) + m1(3) + m2(3) + m3(3)
  • Dann werden die vier Randbedingungen für den Rasterausschnitt bestimmt. Die Randbedingungen für die Abtastlogik (siehe 10e) werden zu: C(xl) = m0(4) C(xm) = m0(4) + 0,33m1(4) + 0,11m2(4) + 0,04m3(4) C(xn) = m0(4) + 0,67m1(4) + 0,44m2(4) + 0,30m3(4) C(xr) = m0(4) + m1(4) + m2(4) + m3(4)
  • Die Abtastzeilentechnik ist ein Verfahren zur Interpolation der Eckpunktattribute (Farben) über das Dreieck. Der Vorteil der Anwendung der Abtastlinientechnik ist, daß sie sich auf Polygone beliebiger Gestalt erweitern läßt, weil das Polygon stets auf einfache Segmente zwischen Kanten reduziert wird und die Eckpunktattribute für jedes Segment berechnet werden. Jedoch schließen die berechneten Differenzgleichungen die Divisionsberechnungen für jedes Segment, einen zeitraubenden Prozeß, ein. Andererseits können anstelle von einfachen Dreiecken Ebenengleichungen benutzt werden. Die drei Randbedingungen sind die Eckpunktlagen an den drei Dreieckseckpunkten und die Differenzgleichungen werden für das vollständige einfache Gebilde berechnet. Somit werden die Differenzgleichungen auf das gesamte Dreieck angewendet. Obwohl Ebenengleichungen leicht auf ein Dreieckspolygon angewendet werden können, können sie nicht auf ein Polygon angewendet werden, das mehr als drei Eckpunkte hat, weil es vorkommen kann, daß die Eckpunkte nicht koplanar sind.
  • Um die Schattierung mit Hilfe der Ebenengleichungen zu bestimmen, wird zuerst die Farbe an den drei Eckpunkten berechnet. Die Randbedingungen werden dann berechnet. Um die Randbedingungen zu berechnen, werden die Vektoren (Normalen-, Licht- und Blickpunkt-Vektor) im Dreiecksmittelpunkt bestimmt (siehe 11a). Die Vektoren werden in den Farbwert unter Benutzung der oben beschriebenen Reflexionsgleichungen eingesetzt. Diese vier Farbwerte werden dann in den folgenden bilinearen Ausdruck eingesetzt:
    Figure 00400001
    und 0 < = u < = 1, 0 < = v < = 1
    und die Parametervariablen (u, v) sind:
    u: = u + du wobei du = 1/(Py(2) – Py(1))
    v: = v + dv wobei dv = 1/(Px(2) – Px(3)).
  • Die Randbedingungen für die Lösung erster Ordnung sind:
    C(1) = m00 + m01u·m10·v + m11·u·v wobei u = 0, v = 0
    C(2) = m00 + m01·u·m10·v + m11·u·v wobei u = 1, v = 1
    C(3) = m00 + m01·u·m10·v + m11·u·v wobei u = 1, v = 0
    C(4) = m00 + m01·u·m10·v + m11·u·v wobei u = 2/3, v = 1/2 und somit C(1) = m00 C(2) = m00 + m01 + m10 + m11 C(3) = m00 + m01 C(4) = m00 + 0,67·m01 + 0,5·m10 + 0,33·m11.
  • Es gibt algebraische Lösungen für die Koeffizienten (c00, c01, c10, c11). Der bilineare Ausdruck für die Farben wird in Vorwärtsdifferenzgleichungen konvertiert, welche zur Interpolation über das Dreieck benutzt werden.
  • Die Ebenentechnik kann auf Gleichungen zweiter Ordnung erweitert werden. Die Formel hierfür ist:
    Figure 00400002
    wobei 0 < = u < 1, 0 < = v < = 1.
  • Da eine Lösung zweiter Ordnung neun Randbedingungen erfordert, müssen die Vektoren an neun Orten (siehe 11c) bestimmt werden. Die Reflexionsgleichungen (zuvor beschrieben) werden benutzt, um die Formwerte an den neun Orten zu berechnen. Die Randbedingungen für die Koeffizienten (m00, m01, m22) werden dann gelöst. Hierfür sind die Randbedingungen (in bezug auf 11d): C(1) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 0, v = 0 C(2) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobe i u = 1, v = 1 C(3) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 1, v = 0 C(4) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 1/2, v = 1/2 C(5) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 1, v = 1/2 C(6) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 1/2, v = 0 C(7) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 2/3, v = 2/3 C(8) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 2/3, v = 1/3 C(9) = m00 + m01·u + m02·u2 + m10·v + m11·u·v + m12·u2v + m20·v2 + m21·u·v2 + m22·u2·v2 wobei u = 1/3, v = 1/3 und somit: C(1) = 1,00·m00 C(2) = 1,00·m00 + 1,00·m01 + 1,00·m02 + 1,00·m10 + 1,00·m11 + 1,00·m12 + 1,00·m20 + 1,00·m21 + 1,00·m22 C(3) = 1,00·m00 + 1,00·m01 + 1,00·m02 C(4) = 1,00·m00 + 0,50·m01 + 0,25·m02 + 0,50·m10 + 0,25·m11 + 0,12·m12 + 0,25·m20 + 0,12·m21 + 0,06·m22 C(5) = 1,00·m00 + 1,00·m01 + 1,00·m02 + 0,50·m10 + 0,50·m11 + 0,50·m12 + 0,25·m20 + 0,12·m21 + 0,25·m22 C(6) = 1,00·m00 + 0,50·m01 + 0,25·m02 + 1,00·m10 + 0,50·m11 + 0,25·m12 + 1,00·m20 + 0,50·m21 + 0,25·m22 C(7) = 1,00·m00 + 0,67·m01 + 0,44·m02 + 1,67·m10 + 0,44·m11 + 0,30·m12 + 0,40·m20 + 0,30·m21 + 0,19·m22 C(8) = 1,00·m00 + 0,67·m01 + 0,44·m02 + 0,33·m10 + 0,22·m11 + 0,15·m12 + 0,11·m20 + 0,07·m21 + 0,05·m22 C(9) = 1,00·m00 + 0,33·m01 + 0,11·m02 + 0,33·m10 + 0,11·m11 + 0,04·m12 + 0,11·m20 + 0,04·m21 + 0,01·m22
  • Der biquadratische Ausdruck für die Farbe wird dann in Vorwärtsdifferenzgleichungen konvertiert, welche zur Interpolation über das Dreieck benutzt werden.
  • Es gibt drei Ausnahmen für die Lösung zweiter Ordnung. Die erste Situation bezieht sich auf die Funktion, welche sichert, daß die Gewichte positiv bleiben: cos(α(i)): = max(cos(α(i)), 0) cos(δ(i)): = max(cos(δ(i)), 0)
  • Wenn sich ein negatives diffuses Gewicht ergibt, so wird der Ort auf der Dreieckskante bestimmt, an dem der Wert gleich Null wird. Das Dreieck wird an diesem Punkt geteilt, was zu einer mosaikförmigen Aufteilung des Dreiecks in zwei, drei oder vier Dreiecke führt. Die Anzahl der Dreiecke hängt davon ab, ob einer, zwei oder drei Kanten zugeordnete Werte gefunden wurden.
  • Die zweite Situation tritt auf, wenn die Oberflächenkrümmung stark ist. Das Maß von cos(ϕ) offenbart diese Bedingung. Da eine Gleichung dritter Ordnung die Änderung des Normalenvektors über das Dreieck unterbewerten kann, wird das Dreieck in mehrere Dreiecke aufgeteilt.
  • Die dritte Situation tritt auf, wenn die Lichtquelle nahe dem Dreieck ist. Das Maß von cos(χ) offenbart diese Bedingung. Da die Gleichung dritter Ordnung die Änderung des Lichtvektors über das Dreieck unterbewerten kann, wird das Dreieck in mehrere Dreiecke aufgeteilt.
  • Die folgende Diskussion illustriert das adaptive Schattierungssystem der vorliegenden Erfindung. Dieses Beispiel umfaßt nur den diffusen Beleuchtungsfall und berücksichtigt nicht die spiegelnde Illumination. Weil die spiegelnde Illumination nicht berücksichtigt wird, ist es nicht notwendig, den Blickpunktvektor zu berechnen. Das Bild enthält ein Dreiecksnetzwerk, welches aus sechs Eckpunkten, die vier Dreiecke bilden, besteht. Dieses Beispiel nimmt an, daß der Farbwert C(i) und der Lichtvektor L(i) an jedem Eckpunkt konstant sind, aber daß der Normalenvektor N(i) sich an jedem Eckpunkt ändert. Die Werte für die Normalenvektoren sind:
    N(v0) = (0,000000, 0,000000, 1,000000)
    N(v1) = (0,017450, –0,017452, 0,999695)
    N(v2) = (0,035188, –0,034590, 0,998782)
    N(v3) = (0,053199, –0,051396, 0,997260)
    N(v4) = (0,071466, –0,067857, 0,995132)
    N(v5) = (0,089973, –0,083957, 0,992399)
  • Das Beispiel nimmt an, daß der Lichtvektor L(vi) = (0, 0, 1) ist.
  • Der erste Schritt ist die Berechnung der diffusen Gewichte gemäß der Gleichung: cos(α(v)) = N(v)·L(v)
  • Die Werte dieses Beispiels sind:
    cos(α(v0)) = 1,000000
    cos(α(v1)) = 0,999695
    cos(α(v2)) = 0,998782
    cos(α(v3)) = 0,997260
    cos(α(v4)) = 0,995132
    cos(α(v5)) = 0,992399.
  • Dann wird die Änderung der Intensität bestimmt. Die maximale Differenz zwischen den diffusen Gewichten ist das Maß, welches die maximale Änderung voraussagt: dcos(α(t0)) = max(abs(cos(α(v0)) – cos(α(v1))), abs(cos(α(v1)) – cos(α(v2))) – abs(cos(α(v2)) – cos(α(v0)))) dcos(α(t1)) = max(abs(cos(α(v0)) – cos(α(v3))), abs(cos(α(v3)) – cos(α(v1))) – abs(cos(α(v1)) – cos(α(v0))))) dcos(α(t2)) = max(abs(cos(α(v1)) – cos(α(v4))), abs(cos(α(v4)) – cos(α(v2))) – abs(cos(α(v2)) – cos(α(v1)))) dcos(α(t3)) = max(abs(cos(α(v0)) – cos(α(v2))), abs(cos(α(v2)) – cos(α(v5))) – abs(cos(α(v5)) – cos(α(v0))))
  • Die Werte für die maximale Änderung sind:
    cosdiff(α(t0)) = 0,001218
    cosdiff(α(t1)) = 0,002740
    cosdiff(α(t2)) = 0,004563
    cosdiff(α(t3)) = 0,007601.
  • Die maximale Änderung wird dann mit dem ersten (ε1) und dem zweiten (ε2) Grenzwert verglichen. In diesem Beispiel sind die Grenzwerte:
    ε1 = 0,0025, wobei ε1 die nullte von der ersten Ordnung trennt;
    ε2 = 0,0050, wobei ε2 die erste von der zweiten Ordnung trennt.
  • In bezug auf das erste Dreieck ergibt sich: 0 < max(cosdiff(α(t0))) < ε1.
  • Dafür wird eine Gleichung nullter Ordnung benutzt. Um irgendeine Differenz zwischen den diffusen Gewichten an den drei Eckpunkten zu kompensieren, werden die Werte gemittelt: cos(α(t0)) = 0,333·(cos(α(v0)) + cos(α(v1)) + cos(α(v2)))
  • Dann wird die konstante Farbe bestimmt: C(t0) = (Ka + Kd·cos(α(t0))·C(t0)).
  • In bezug auf das zweite und dritte Dreieck ergibt sich: ε1 < max(dcos(α(t1))) < ε2 ε1 < max(dcos(α(t2))) < ε2
  • Es werden Gleichungen erster Ordnung benutzt. Bei einem Abtastlinienalgorithmus angewendet, erfordert die Lösung, daß zuerst die Farbwerte entlang der Dreieckskanten interpoliert werden. Dann werden die Farbwerte von der linken Kante zur rechten Kante über das Dreieck interpoliert. Beispielsweise ergibt sich in bezug auf das zweite Dreieck: C(v0) = (Ka + Kd·cos(α(v0))·C(t1)) C(v3) = (Ka + Kd·cos(α(v3))·C(t1)) C(v1) = (Ka + Kd·cos(α(v1))·C(t1))
  • Dann wird die Abtastlinienlogik benutzt, um zuerst die Farbwerte auf den Dreieckskanten und dann über das Dreiecksinnere zu interpolieren.
  • Die maximale Änderung des vierten Dreiecks ist: dcos(α(t3))) > ε2
  • Somit wird eine Gleichung zweiter Ordnung (Phong-Schattierung) für dieses Dreieck ausgewählt. Während die Technik die Tatsache ausnutzen kann, daß das diffuse Gewicht jederzeit an den Eckpunkten zur Verfügung steht, müssen die Normalenkomponenten entlang der Dreieckskanten fortschreitend ermittelt werden. In jedem Schritt werden die Komponenten normiert. Dann werden die Normalenkomponenten über den Dreiecksinnenraum schrittweise ermittelt und die Normalenkomponenten an jedem Pixel normiert. Dann werden die diffusen Gewichte an jedem Pixel bestimmt: cos(α(x,y) = Lx(x,y)·Nx(x,y) + Ly(x,y)·Ny(x,y) + Lz(x,y)·Nz(x,y) C(x,y) = (Ka + Kd·cos(α(x,y)))·C(t3), wobei L(x,y) als konstant unterstellt wird.
  • Obwohl die vorliegende Erfindung in Verbindung mit den bevorzugten Ausführungsbeispielen beschrieben wurde, ist es klar, daß im Rahmen der Erfindung zahlreiche Alternativen, Modifikationen, Abänderungen und Anwendungen möglich sind. Insbesondere kann die Erfindung auf andere als die beschriebenen Schattierungsgleichungen angewendet werden. Es können Grenzwerte hinzugefügt werden, um die Anzahl der ausgeführten Tests und die Anzahl der benutzbaren Gleichungen verschiedener Ordnung zu erhöhen. Andererseits kann das System so konfiguriert werden, daß es nur Schattierungsgleichungen nullter und erster Ordnung oder nur Gleichungen erster und zweiter Ordnung benutzt.

Claims (71)

  1. Einrichtung zum Erzeugen von bezüglich einer Lichtquelle schattierten Abbildungen eines auf einer graphischen Anzeigeeinrichtung anzuzeigenden graphischen Bildes, wobei die graphische Anzeigeeinrichtung eine Matrix von Pixeln aufweist, wobei die erzeugte schattierte Abbildung von einer von einem Benutzer spezifizierten Qualität ist, wobei die Einrichtung eine zentrale Verarbeitungseinheit (CPU), einen Speicher und einen mit der graphischen Anzeigeeinrichtung verbundenen Einzelbildpuffer aufweist, wobei die schattierte Abbildung durch eine Vielzahl von Pixeldaten definiert ist, wobei die Pixeldaten in dem Einzelbildpuffer gespeichert sind, wobei die Pixeldaten einen Pixelort auf der graphischen Anzeigeeinrichtung und eine Pixelfarbe spezifizieren, wobei die schattierte Abbildung auf der graphischen Anzeigeeinrichtung entsprechend den in dem Einzelbildpuffer gespeicherten Pixeldaten angezeigt wird, wobei die Einrichtung ferner aufweist: a) mit der CPU und dem Einzelbildpuffer gekoppelte Schattierungsmittel, die aufweisen: 1) mit der CPU gekoppelte Eingabemittel zum Empfangen einer Vielzahl von Polygonen von der CPU, welche das graphische Bild definieren, wobei jedes der Polygone durch die Orte von Scheitelpunkten des Polygons und einen Normalenvektor an jedem Scheitelpunkt definiert ist, wobei der Normalenvektor an jedem Scheitelpunkt ein Normalenvektor der Oberfläche des Polygons an dem Scheitelpunkt ist; 2) Reflexionsbestimmungsmittel zum Bestimmen einer Reflexion über jeweils ein Polygon, wobei die Reflexionsbestimmungsmittel eine Vielzahl von modifizierten Pixeldaten erzeugen, die eine schattierte Polygonabbildung darstellen; 3) mit den Reflexionsbestimmungsmitteln und dem Einzelbildpuffer gekoppelte Ausgabemittel zum Ausgeben der Vielzahl von das schattierte Polygon darstellenden modifizierten Pixeldaten an den Einzelbildpuffer; und b) mit dem Einzelbildpuffer und der graphischen Anzeigeeinrichtung verbundene Anzeigesteuermittel zum Lesen der in dem Einzelbildpuffer gespeicherten Vielzahl von modifizierten Pixeldaten und zum Freigeben der entsprechenden Pixel auf der graphischen Anzeigeeinrichtung mit einer durch die Vielzahl von modifizierten Pixeldaten spezifizierten Farbe, um die schattierte Polygonabbildung auf der Anzeige zu erzeugen; dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel Auswahlmittel zum Auswählen einer geordneten Reflexionsgleichung aus einem Satz von zumindest drei geordneten Reflexionsgleichungen aufweisen, wobei eine geordnete Reflexionsgleichung einer höchsten Ordnung eine Reflexion einer höchsten Qualität über das Polygon erzeugt, wobei die Auswahlmittel aufweisen: i) Änderungsbestimmungsmittel zum Bestimmen eines Betrags der Krümmungsänderung über die Oberfläche des jeweiligen Polygons und der Krümmungsänderung zwischen den Scheitelpunkten gemäß den Normalenvektoren an den Scheitelpunkten des Polygons und zum Bestimmen eines Lichtvektors an jedem Scheitelpunkt sowie einer Lichtvektoränderung zwischen den Scheitelpunkten, wobei die Lichtvektoren eine Funktion des Normalenvektors an dem jeweiligen Scheitelpunkt und eines Ortes der Lichtquellen sind, und ii) Vergleichsmittel zum Vergleichen des so bestimmten Betrags der Krümmungsänderung zwischen den Scheitelpunkten mit einem Krümmungsschwellwert, der einen großen Betrag der Änderung anzeigt, und zum Vergleichen der bestimmten Lichtvektoränderung zwischen den Scheitelpunkten mit einem Lichtvektor-Schwellenwert, der einen großen Betrag der Änderung anzeigt, wobei ein Steuermittel eine vorgegebene Reflexionsgleichung höherer Ordnung auswählt, wenn der Betrag wenigstens einer Änderung den zugehörigen Schwellenwert überschreitet, und daß die Reflexionsbestimmungsmittel die durch die Auswahlmittel ausgewählte geordnete Reflexionsgleichung empfangen und die geordnete Reflexionsgleichung verwenden, um die Reflexion über das Polygon zu bestimmen.
  2. Einrichtung nach der Anspruche 1, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel die Reflexion über das Polygon unter fortschreitendem Differenzieren für das wiederzugebende Bild bestimmen.
  3. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel die Reflexion über das Polygon unter Nutzung von Abtastliniengleichungen für wiederzugebende Bilder bestimmen.
  4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel aufweisen: Mittel zur Bestimmung der Reflexion an jedem Eckpunkt des Polygons entsprechend der empfangenen Reflexionsgleichung; Mittel zur Bestimmung von Differenzvariablen zwischen benachbarten Polygonecken, wobei die Differenzvariablen eine die Differenz zwischen benachbarten Eckpunktnormalen enthaltende Normalendifferenzvariable, eine die Differenz zwischen den Orten benachbartet Eckpunkte enthaltende Positionsdifferenzvariable und eine Farbdifferenzvariable enthalten, welche die Differenz zwischen den durch die Pixeldaten an benachbarten Eckpunkten definierten Farben ist; und Mittel zum Interpolieren der an jedem Eckpunkt bestimmten Reflexion über das Polygon unter Nutzung der Differenzvariablen, um die Reflexion und die modifizierten Pixeldaten der Pixel über das Polygon zu bestimmen.
  5. Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel die Reflexion über das Polygon unter Nutzung der Ebenengleichungen für wiederzugebende Bilder bestimmen.
  6. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Steuermittel die Reflexionsgleichung höchster Ordnung auswählt, wenn die Krümmungsänderung zwischen den Eckpunkten größer als oder gleich dem Krümmungsgrenzwert ist.
  7. Einrichtung nach Anspruch 6, dadurch gekennzeichnet, daß die Auswahlmittel aufweisen: Maximaländerungsbestimmungsmittel zum Bestimmen der maximalen Änderung der Krümmungsänderung zwischen den Eckpunkten und der Lichtvektoränderung zwischen den Eckpunkten; Maximaländerungsvergleichsmittel zum Vergleichen der maximalen Änderung mit mehreren Grenzwerten, die zur Bestimmung der zu verwendenden Ordnung der Reflexionsgleichung benutzt werden, wobei jeder Grenzwert die maximale Änderung beschreibt, bei welcher eine Reflexionsgleichung einer vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann; und wobei die Steuermittel eine Reflexionsgleichung einer vorgegebenen Ordnung auswählen, wenn die maximale Änderung kleiner als oder gleich dem Grenzwert ist, der die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung der vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann und größer als der Grenzwert ist, welcher die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung einer vorgegebenen Ordnung, die kleiner als die vorgegebene Ordnung ist, benutzt werden soll, um ein Qualitätsbild zu erzeugen.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß zumindest vier Ordnungen von Reflexionsgleichungen verwendet werden.
  9. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß als Reflexionsgleichung der höchsten Ordnung eine Gleichung zweiter Ordnung verwendet wird.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß der Krümmungsgrenzwert der maximalen Krümmungsänderung entspricht, bei welcher ein Qualitätsbild unter Benutzung einer Gleichung erster Ordnung erzeugt werden kann.
  11. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß der Lichtvektorgrenzwert der maximalen Lichtvektoränderung entspricht, bei welcher ein Qualitätsbild unter Benutzung einer Gleichung erster Ordnung erzeugt werden kann.
  12. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die Maximaländerungsvergleichsmittel die maximale Änderung mit ersten und zweiten Grenzwerten vergleichen, wobei der erste Grenzwert die maximale Änderung ist, bei welcher eine Reflexionsgleichung nullter Ordnung zur Erzeugung eines schattierten Bildes hoher Qualität benutzt werden kann, und wobei der zweite Grenzwert die maximale Änderung ist, bei welcher eine Reflexionsgleichung erster Ordnung zur Erzeugung eines schattierten Bildes hoher Qualität verwendbar ist; und daß die Steuermittel eine für die Berechnung der Reflexion über das Polygon zu benutzende Reflexionsgleichung auswählen, die nullter Ordnung ist, wenn die maximale Änderung kleiner als der erste Grenzwert ist, die erster Ordnung ist, wenn die maximale Änderung kleiner als der zweite Grenzwert ist, und die zweiter Ordnung ist, wenn die maximale Änderung größer als der zweite Grenzwert ist.
  13. Einrichtung nach Anspruch 9, dadurch gekennzeichnet, daß Reflexionsgleichungen nullter, erster und zweiter Ordnung benutzt werden; daß die Gleichung nullter Ordnung das Punktprodukt L·N enthält, wobei L der gemittelte Lichtvektor und N der gemittelte Normalenvektor der Oberfläche ist; daß die Gleichung erster Ordnung C = (Ka + Kd·cos(α))·C enthält, wobei C die Farbe eines Pixels, Ka das ambiente Gewicht, Kd das diffuse Gewicht und cos(α) gleich dem Punktprodukt L·N ist; daß die Gleichung zweiter Ordnung C = (Ka + Kd·cos(α(x,y)))·C enthält, wobei C die Farbe eines Pixels, Ka das ambiente Gewicht, Kd das diffuse Gewicht und cos (α(x,y)) gleich L(x,y)·N(x,y) ist und L(x,y) den normierten Lichtvektor und N(x,y) den normierten Normalenvektor der Oberfläche darstellen.
  14. Einrichtung nach Anspruch 13, dadurch gekennzeichnet, daß die Reflexionsgleichungen nullter, erster und zweiter Ordnung in dem Speicher (104) gespeichert sind, und daß die Steuermittel die ausgewählte Reflexionsgleichung entnehmen und sie an die Reflexionsbestimmungsmittel ausgeben.
  15. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß die Auswahlmittel ferner aufweisen: Blickpunktvektorbestimmungsmittel zur Bestimmung eines Blickpunktvektors an jedem Eckpunkt und einer Blickpunktvektoränderung zwischen den Eckpunkten, wobei die Blickpunktvektoren eine Funktion der Lage des Blickpunkts relativ zur Lage der Eckpunkte sind; Blickpunktvektorvergleichsmittel zum Vergleichen der zwischen den Eckpunkten stattfindenden Blickpunktvektoränderung mit einem Blickpunktvektorgrenzwert, der eine große Änderung zwischen Blickpunktvektoren anzeigt; wobei die Steuermittel eine Reflexionsgleichung der höchsten Ordnung auswählen, wenn die Blickpunktvektoränderung zwischen den Eckpunkten größer als oder gleich dem Blickpunktvektorgrenzwert ist; und wobei die Maximaländerungsbestimmungsmittel die maximale Änderung unter der Krümmungsänderung zwischen den Eckpunkten, der Lichtvektoränderung zwischen den Eckpunkten und der Blickpunktvektoränderung zwischen den Eckpunkten ermitteln.
  16. Einrichtung nach Anspruch 15, dadurch gekennzeichnet, daß die zu benutzende Reflexionsgleichung der höchsten Ordnung eine Gleichung zweiter Ordnung ist und daß der Blickpunktvektorgrenzwert einer maximalen Blickpunktvektoränderung entspricht, bei welcher ein Qualitätsbild unter Benutzung einer Gleichung erster Ordnung erzeugt werden kann.
  17. Einrichtung nach Anspruch 15, dadurch gekennzeichnet, daß das Polygon ein Dreieck mit einem ersten, zweiten und dritten Eckpunkt ist, und wobei die Blickpunktbestimmungsmittel die maximale Blickpunktvektoränderung (cos(η)) gemäß der Gleichung: cos(η) = min(cos(η(1)), cos(η(2)), cos(η(3)))mit cos(η(1)) = Vx(1)·Vx(2) + Vy(1)·Vy(2) + Vz(1)·Vz(2) cos(η(2)) = Vx(2)·Vx(3) + Vy(2)·Vy(3) + Vz(2)·Vz(3) cos(η(3)) = Vx(3)·Vx(1) + Vy(3)·Vy(1) + Vz(3)·Vz(1)bestimmen, wobei Vx(1), Vy(1), Vz(1) die x-, y- und z-Komponenten des Blickpunktvektors am ersten Eckpunkt, Vx(2), Vy(2), Vz(2) die x-, y- und z-Komponenten des Blickpunktvektors am zweiten Eckpunkt und Vx(3), Vy(3), Vz(3) die x-, y- und z-Komponenten des Blickpunktvektors am dritten Eckpunkt sind, cos(η(1)) die Blickpunktvektoränderung zwischen dem ersten Eckpunkt und dem zweiten Eckpunkt, cos(η(2)) die Blickpunktvektoränderung zwischen dem zweiten Eckpunkt und dem dritten Eckpunkt und cos(η(3)) die Blickpunktvektoränderung zwischen dem dritten Eckpunkt und dem ersten Eckpunkt anzeigt; und daß die Blickpunktvektorvergleichsmittel die maximale Blickpunktvektoränderung mit dem Blickpunktvektorgrenzwert vergleichen.
  18. Einrichtung nach Anspruch 15, dadurch gekennzeichnet, daß ein der maximalen Änderung entsprechender Wert bestimmt ist durch die Formel: cos(ϕψ) = min(a(ϕ)·cos(ϕ), a(ψ)·cos(ψ)),wobei cos(ϕ) der Kosinus des Winkels der maximalen Normalenvektoränderung und somit ein Maß für die maximale Krümmungsänderung und a(ϕ) ein Krümmungsgewicht sowie cos(ψ) der Kosinus des Winkels der maximalen Lichtvektoränderung und a(ψ) das Lichtvektorgewicht ist.
  19. Einrichtung nach Anspruch 18, dadurch gekennzeichnet, daß der erste Grenzwert im Bereich von 0,996 bis 0,938 und der zweite Grenzwert im Bereich von 0,992 bis 0,879 liegt.
  20. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß das Polygon ein Dreieck mit einem ersten, zweiten und dritten Eckpunkt ist.
  21. Einrichtung nach Anspruch 20, dadurch gekennzeichnet, daß die Krümmungsbestimmungsmittel die maximale Krümmungsänderung (cos(ϕ)) zwischen den Eckpunkten bestimmen nach den Beziehungen: cos(ϕ) = min(cos(ϕ(1)), cos(ϕ(2)), cos(ϕ(3))),wobei cos(ϕ(1)) = Nx(1)·Nx(2) + Ny(1)·Ny(2) + Nz(1)·Nz(2), cos(ϕ(2)) = Nx(2)·Nx(3) + Ny(1)·Ny(2) + Nz(2)·Nz(3), cos(ϕ(3)) = Nx(3)·Nx(1) + Ny(3)·Ny(1) + Nz(3)·Nz(1),und wobei Nx(1), Ny(1), Nz(1) die x, y- und z-Komponenten der Eckpunktnormalen an dem ersten Eckpunkt, Nx(2), Ny(2), Nz(2) die x-, y- und z-Komponenten der Eckpunktnormalen an dem zweiten Eckpunkt, Nx(3), Ny(3), Nz(3) die x-, y- und z-Komponenten der Eckpunktnormalen an dem dritten Eckpunkt sind und cos(ϕ(1)) die Krümmungsänderung zwischen dem ersten Eckpunkt und dem zweiten Eckpunkt, cos(ϕ(2)) die Krümmungsänderung zwischen dem zweiten Eckpunkt und dem dritten Eckpunkt und cos(ϕ(3)) die Krümmungsänderung zwischen dem dritten Eckpunkt und dem ersten Eckpunkt anzeigt; und daß die Krümmungsvergleichsmittel die maximale Krümmungsänderung mit dem Krümmungsgrenzwert vergleichen.
  22. Einrichtung nach Anspruch 20, dadurch gekennzeichnet, daß die Lichtvektorbestimmungsmittel die maximale Lichtvektoränderung (cos(ψ)) gemäß der Gleichung: cos(ψ) = min(cos(ψ(1)), cos(ψ(2)), cos(ψ(3))),mit cos(ψ(1)) = Lx(1)·Lx(2) + Ly(1)·Ly(2) + Lz(1)·Lz(2) cos(ψ(2)) = Lx(2)·Lx(3) + Ly(2)·Ly(3) + Lz(2)·Lz(3) cos(ψ(3)) = Lx(3)·Lx(1) + Ly(3)·Ly(1) + Lz(3)·Lz(1)bestimmen, wobei Lx(1), Ly(1), Lz(1) die x-, y- und z-Komponenten des Lichtvektors an dem ersten Eckpunkt, Lx(2), Ly(2), Lz(2) die x-, y- und z-Komponenten des Lichtvektors an dem zweiten Eckpunkt und Lx(3), Ly(3), Lz(3) die x-, y- und z-Komponenten des Lichtvektors an dem dritten Eckpunkt sind, cos(ψ(1)) die Lichtvektoränderung zwischen dem ersten Eckpunkt und dem zweiten Eckpunkt, cos(ψ(2)) die Lichtvektoränderung zwischen dem zweiten Eckpunkt und dem dritten Eckpunkt und cos(ψ(3)) die Lichtvektoränderung zwischen dem dritten Eckpunkt und dem ersten Eckpunkt anzeigt; und daß die Lichtvektorvergleichsmittel die maximale Lichtvektoränderung mit dem Lichtvektorgrenzwert vergleichen.
  23. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß ein der maximalen Änderung entsprechender Wert bestimmt ist durch die Formel: cos(ϕψ) = min(a(ϕ)·cos(ϕ), a(ψ)·cos(ψ)),wobei cos(ϕ) der Kosinus des Winkels der maximalen Normalenvektoränderung und somit ein Maß für die maximale Krümmungsänderung und a(ϕ) ein Krümmungsgewicht sowie cos(ψ) der Kosinus des Winkels der maximalen Lichtvektoränderung und a(ψ) das Lichtvektorgewicht ist.
  24. Einrichtung nach Anspruch 23, dadurch gekennzeichnet, daß der erste Grenzwert im Bereich von 0,996 bis 0,938 und der zweite Grenzwert im Bereich von 0,992 bis 0,879 liegt.
  25. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß das Steuermittel die Reflexionsgleichung höchster Ordnung auswählt, wenn die Lichtvektoränderung zwischen Eckpunkten größer als oder gleich dem Lichtvektorgrenzwert ist.
  26. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahlmittel ferner aufweisen: Blickpunktvektorbestimmungsmittel zur Bestimmung eines Blickpunktvektors an jedem Eckpunkt und einer Blickpunktvektoränderung zwischen den Eckpunkten, wobei die Blickpunktvektoren eine Funktion der Lage des Blickpunkts relativ zur Lage der Eckpunkte sind; Blickpunktvektorvergleichsmittel zum Vergleichen der zwischen den Eckpunkten stattfindenden Blickpunktvektoränderung mit einem Blickpunktvektorgrenzwert, der eine große Änderung zwischen Blickpunktvektoren anzeigt; wobei die Steuermittel eine Reflexionsgleichung der höchsten Ordnung auswählen, wenn die Blickpunktvektoränderung zwischen den Eckpunkten größer als oder gleich dem Blickpunktvektorgrenzwert ist; und wobei die Maximaländerungsbestimmungsmittel die maximale Änderung unter der Krümmungsänderung zwischen den Eckpunkten, der Lichtvektoränderung zwischen den Eckpunkten und der Blickpunktvektoränderung zwischen den Eckpunkten ermitteln.
  27. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Änderungsbestimmungsmittel aufweisen: Lichtvektorbestimmungsmittel zum Bestimmen eines Lichtvektors an jedem Eckpunkt; Diffusreflexion-Bestimmungsmittel zum Bestimmen des Punktprodukts der Normalen an jedem Eckpunkt und des Lichtvektors an jedem Eckpunkt und der Maximaldifferenz der Punktprodukte an den Eckpunkten; und wobei die Vergleichsmittel diffus-Vergleichsmittel zum Vergleichen der Maximaldifferenz zwischen Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert, wobei der erste Grenzwert eine solche Reflexionsänderung über die Polygonoberfläche anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer ersten vorgegebenen Ordnung bedingt, und wobei der zweite Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche eine Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung bedingt, die höher als die erste vorgegebene Ordnung ist; wobei die Steuermittel, die Reflexionsgleichung einer niedrigeren als die erste vorgegebene Ordnung auswählen, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist und eine Reflexionsgleichung der ersten vorgegebenen Ordnung auswählen, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist, und eine Reflexionsgleichung der zweiten vorgegebenen Ordnung auswählen, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als oder gleich dem zweiten Grenzwert ist.
  28. Einrichtung nach Anspruch 27, dadurch gekennzeichnet, daß als Reflexionsgleichung der höchsten Ordnung eine Gleichung zweiter Ordnung vorgesehen ist.
  29. Einrichtung nach Anspruch 28, dadurch gekennzeichnet, daß der zweite Schwellenwert auf einen Wert im Bereich von 0,9 bis 0,6 einstellbar ist.
  30. Einrichtung nach Anspruch 28, dadurch gekennzeichnet, daß der erste Grenzwert auf einen Wert von angenäher 0,1 eingestellt ist.
  31. Einrichtung nach Anspruch 28, dadurch gekennzeichnet, daß die Reflexionsgleichungen nullter, erster und zweiter Ordnung in dem Speicher (104) gespeichert sind, und daß die Steuermittel die ausgewählte Reflexionsgleichung entnehmen und sie an die Reflexionsbestimmungsmittel ausgeben.
  32. Einrichtung nach Anspruch 27, dadurch gekennzeichnet, daß das Polygon ein Dreieck mit einem ersten, zweiten und dritten Eckpunkt ist.
  33. Einrichtung nach Anspruch 27, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel die Reflexion über das Polygon unter fortschreitendem Differenzieren für das wiederzugebende Bild bestimmen.
  34. Einrichtung nach Anspruch 33, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel die Reflexion über das Polygon unter Nutzung der Ebenengleichungen für wiederzugebende Bilder bestimmen.
  35. Einrichtung nach Anspruch 34, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel aufweisen: Mittel zur Bestimmung der Reflexion an jedem Eckpunkt des Polygons entsprechend der empfangenen Reflexionsgleichung; Mittel zur Bestimmung von Differenzvariablen zwischen benachbarten Polygonecken, wobei die Differenzvariablen eine die Differenz zwischen benachbarten Eckpunktnormalen enthaltende Normalendifferenzvariable, eine die Differenz zwischen den Orten benachbartet Eckpunkte enthaltende Positionsdifferenzva- riable und eine Farbdifferenzvariable enthalten, welche die Differenz zwischen den durch die Pixeldaten an benachbarten Eckpunkten definierten Farben ist; und Mittel zum Interpolieren der an jedem Eckpunkt bestimmten Reflexion über das Polygon unter Nutzung der Differenzvariablen, um die Reflexion und die modifizierten Pixeldaten der Pixel über das Polygon zu bestimmen.
  36. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahlmittel aufweisen: Blickpunktvektorbestimmungsmittel zum Bestimmen eines Blickpunktvektors an jedem Eckpunkt; Reflexionsvektorbestimmungsmittel zum Bestimmen des Reflexionsvektor an jedem Eckpunkt, wobei der Reflexionsvektor derjenige Vektor ist, unter dem das Licht von der Polygonoberfläche reflektiert wird; Spiegelreflexionsbestimmungsmittel zum Bestimmen des Punktprodukts des Reflexionsvektors und des Blickpunktvektors an jedem Eckpunkt und der Betragsdifferenz zwischen den Punktprodukten an jedem Eckpunkt; wobei die Vergleichsmittel Spiegelvergleichsmittel zum Vergleichen der Differenzen zwischen den Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert enthalten, wobei der erste Grenzwert eine Reflexionsänderung über die Polygonoberfläche anzeigt, welche die Verwendung einer Reflexionsgleichung von wenigstens einer ersten vorgegebenen Ordnung bedingt, und der zweite Grenzwert eine Reflexionsänderung über die Polygonoberfläche anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung, die größer als die erste vorgegebene Ordnung ist, bedingt; wobei die Steuereinrichtung die Reflexionsgleichung einer niedrigeren als die erste vorgegebene Ordnung auswählt, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist, und eine Reflexionsgleichung der ersten vorgegebenen Ordnung auswählt, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist, und eine Reflexionsgleichung der zweiten vorgegebenen Ordnung auswählt, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem zweiten Grenzwert ist.
  37. Einrichtung nach Anspruch 36, dadurch gekennzeichnet, daß als Reflexionsgleichung der höchsten Ordnung eine Gleichung zweiter Ordnung vorgesehen ist.
  38. Einrichtung nach Anspruch 37, dadurch gekennzeichnet, daß die Reflexionsgleichungen nullter, erster und zweiter Ordnung in dem Speicher (104) gespeichert sind, und daß die Steuereinrichtung die ausgewählte Reflexionsgleichung entnehmen und sie an die Reflexionsbestimmungsmittel ausgibt.
  39. Einrichtung nach Anspruch 36, dadurch gekennzeichnet, daß als Reflexionsgleichung der ersten vorgegebenen Ordnung eine Reflexionsgleichung erster Ordnung, als Reflexionsgleichung der zweiten vorgegebenen Ordnung eine Reflexionsgleichung der zweiten Ordnung und als diejenige der niedrigeren als der ersten vorgegebenen Ordnung eine Reflexionsgleichung der nullten Ordnung vorgesehen ist.
  40. Einrichtung nach Anspruch 36, dadurch gekennzeichnet, daß außerdem ein Grenzwert-Einstellmittel vorgesehen ist, das vom Benutzer zum Einstellen der Grenzwerte nach der gewünschten Qualität verstellbar ist.
  41. Einrichtung nach Anspruch 40, dadurch gekennzeichnet, daß zum schnellen Umsetzen einer schattierten Abbildung die ersten und zweiten Grenzwerte mittels der Grenzwert-Einstelleinrichtung auf niedrige Werte einstellbar ist, wobei das Polygon unter Verwendung einer Reflexionsgleichung nullter oder erster Ordnung erzeugbar ist.
  42. Einrichtung nach Anspruch 36, dadurch gekennzeichnet, daß das Polygon ein Dreieck mit einem ersten, zweiten und dritten Eckpunkt ist.
  43. Einrichtung nach Anspruch 36, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel die Reflexion über das Polygon unter fortschreitendem Differenzieren für das wiederzugebende Bild bestimmen.
  44. Einrichtung nach Anspruch 36, dadurch gekennzeichnet, daß die Reflexionsbestimmungsmittel die Reflexion über das Polygon unter Nutzung der Ebenengleichungen für wiederzugebende Bilder bestimmen.
  45. Einrichtung nach Anspruch 1, aufweisend: Diffusreflexion-Bestimmungsmittel zum Bestimmen des Punktprodukts der Normalen an jedem Eckpunkt und des Lichtvektors an jedem Eckpunkt und der Maximaldifferenz der Punktprodukte an den Eckpunkten; Vergleichsmittel zum Vergleichen der Maximaldifferenz zwischen Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert, wobei der erste Grenzwert eine solche Reflexionsänderung über die Polygonoberfläche anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer ersten vorgegebenen Ordnung bedingt, und wobei der zweite Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche eine Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung bedingt, die höher als die erste vorgegebene Ordnung ist; Steuermittel, welche die Reflexionsgleichung einer niedrigeren als die erste vorgegebene Ordnung auswählen, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist, welche eine Reflexionsgleichung der ersten vorgegebenen Ordnung auswählen, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist, und eine Reflexionsgleichung der zweiten vorgegebenen Ordnung auswählen, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als oder gleich dem zweiten Grenzwert ist, Krümmungsbestimmungsmittel zum Bestimmen der Krümmungsänderung über die Oberfläche des Polygons und der den Normalenvektoren an den Eckpunkten des Polygons entsprechenden Krümmungsänderung zwischen den Eckpunkten; Krümmungsvergleichsmittel zum Vergleichen der Krümmungsänderung zwischen den Eckpunkten mit einem Krümmungsgrenzwert, der eine große Krümmungsänderung anzeigt; Steuermittel, die die Reflexionsgleichung höchster Ordnung auswählen, wenn die Krümmungsänderung zwischen den Eckpunkten größer als oder gleich dem Krümmungsgrenzwert ist; Lichtvektorbestimmungsmittel zum Bestimmen eines Lichtvektors an jedem Eckpunkt und der Lichtvektoränderung zwischen den Eckpunkten, wobei die Lichtvektoren eine Funktion des Normalenvektors an jedem Eckpunkt und der Lage der Lichtquelle relativ zu dem Eckpunkt sind; Lichtvektorvergleichsmittel zum Vergleichen der Lichtvektoränderung zwischen Eckpunkten mit einem eine große Änderung zwischen Lichtvektoren anzeigenden Lichtvektorgrenzwert; wobei die Steuermittel die Reflexionsgleichung höchster Ordnung auswählen, wenn die Lichtvektoränderung zwischen Eckpunkten größer als oder gleich dem Lichtvektorgrenzwert ist; Maximaländerungsbestimmungsmittel zum Bestimmen der maximalen Änderung der Krümmungsänderung zwischen den Eckpunkten und der Lichtvektoränderung zwischen den Eckpunkten; Maximaländerungsvergleichsmittel zum Vergleichen der maximalen Änderung mit mehreren Grenzwerten, die zur Bestimmung der zu verwendenden Ordnung der Reflexionsgleichung benutzt werden, wobei jeder Grenzwert die maximale Änderung beschreibt, bei welcher eine Reflexionsgleichung einer vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann; und wobei die Steuermittel eine Reflexionsgleichung einer vorgegebenen Ordnung auswählen, wenn die maximale Änderung kleiner als oder gleich dem Grenzwert ist, der die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung der vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann und größer als der Grenzwert ist, welcher die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung einer vorgegebenen Ordnung, die kleiner als die vorgegebene Ordnung ist, benutzt werden soll, um ein Qualitätsbild zu erzeugen.
  46. Einrichtung nach Anspruch 45, dadurch gekennzeichnet, daß als Reflexionsgleichung der höchsten Ordnung eine Gleichung zweiter Ordnung vorgesehen ist.
  47. Einrichtung nach Anspruch 46, dadurch gekennzeichnet, daß der Krümmungsgrenzwert mit der maximalen Krümmungsänderung korrespondiert, bei welcher ein Qualitätsbild unter Benutzung einer Gleichung erster Ordnung erzeugt werden kann.
  48. Einrichtung nach Anspruch 46, dadurch gekennzeichnet, daß der Lichtvektorgrenzwert der maximalen Lichtvektoränderung entspricht, bei welcher ein Qualitätsbild unter Benutzung einer Gleichung erster Ordnung erzeugt werden kann.
  49. Einrichtung nach Anspruch 45, dadurch gekennzeichnet, daß die Auswahlmittel ferner aufweisen: Blickpunktvektorbestimmungsmittel zur Bestimmung eines Blickpunktvektors an jedem Eckpunkt und einer Blickpunktvektoränderung zwischen den Eckpunkten, wobei die Blickpunktvektoren eine Funktion der Lage des Blickpunkts relativ zur Lage der Eckpunkte sind; Blickpunktvektorvergleichsmittel zum Vergleichen der zwischen den Eckpunkten stattfindenden Blickpunktvektoränderung mit einem Blickpunktvektorgrenzwert, der eine große Änderung zwischen Blickpunktvektoren anzeigt; wobei die Steuermittel eine Reflexionsgleichung der höchsten Ordnung auswählen, wenn die Blickpunktvektoränderung zwischen den Eckpunkten gröber als oder gleich dem Blickpunktvektorgrenzwert ist; und wobei die Maximaländerungsbestimmungsmittel die maximale Änderung unter der Krümmungsänderung zwischen den Eckpunkten, der Lichtvektoränderung zwischen den Eckpunkten und der Blickpunktvektoränderung zwischen den Eckpunkten ermitteln.
  50. Einrichtung nach Anspruch 49, dadurch gekennzeichnet, daß die zu benutzende Reflexionsgleichung der höchsten Ordnung eine Gleichung zweiter Ordnung ist und daß der Blickpunktvektorgrenzwert einer maximalen Blickpunktvektoränderung entspricht, bei welcher ein Qualitätsbild unter Benutzung einer Gleichung erster Ordnung erzeugt werden kann.
  51. Einrichtung nach Anspruch 1, aufweisend: Blickpunktvektorbestimmungsmittel zum Bestimmen eines Blickpunktvektors an jedem Eckpunkt; Reflexionsvektorbestimmungsmittel zum Bestimmen des Reflexionsvektor an jedem Eckpunkt, wobei der Reflexionsvektor derjenige Vektor ist, unter dem das Licht von der Polygonoberfläche reflektiert wird; Spiegelreflexionsbestimmungsmittel zum Bestimmen des Punktprodukts des Reflexionsvektors und des Blickpunktvektors an jedem Eckpunkt und der Betragsdifferenz zwischen den Punktprodukten an jedem Eckpunkt; Spiegelvergleichsmittel zum Vergleichen der Differenzen zwischen den Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert, wobei der erste Grenzwert eine Reflexionsänderung über die Polygonoberfläche anzeigt, welche die Verwendung einer Reflexionsgleichung von wenigstens einer ersten vorgegebenen Ordnung bedingt, und der zweite Grenzwert eine Reflexionsänderung über die Polygonoberfläche anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung, die größer als die erste vorgegebene Ordnung ist, bedingt; eine Steuereinrichtung, welche die Reflexionsgleichung einer niedrigeren als die erste vorgegebene Ordnung auswählt, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist, welche eine Reflexionsgleichung der ersten vorgegebenen Ordnung auswählt, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist, und eine Reflexionsgleichung der zweiten vorgegebenen Ordnung auswählt, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem zweiten Grenzwert ist, Krümmungsbestimmungsmittel zum Bestimmen der Krümmungsänderung über die Oberfläche des Polygons und der den Normalenvektoren an den Eckpunkten des Polygons entsprechenden Krümmungsänderung zwischen den Eckpunkten; Krümmungsvergleichsmittel zum Vergleichen der Krümmungsänderung zwischen den Eckpunkten mit einem Krümmungsgrenzwert, der eine große Krümmungsänderung anzeigt; Steuermittel, die die Reflexionsgleichung höchster Ordnung auswählen, wenn die Krümmungsänderung zwischen den Eckpunkten größer als oder gleich dem Krümmungsgrenzwert ist; Lichtvektorbestimmungsmittel zum Bestimmen eines Lichtvektors an jedem Eckpunkt und der Lichtvektoränderung zwischen den Eckpunkten, wobei die Lichtvektoren eine Funktion des Normalenvektors an jedem Eckpunkt und der Lage der Lichtquelle relativ zu dem Eckpunkt sind; Lichtvektorvergleichsmittel zum Vergleichen der Lichtvektoränderung zwischen Eckpunkten mit einem eine große Änderung zwischen Lichtvektoren anzeigenden Lichtvektorgrenzwert; wobei die Steuermittel die Reflexionsgleichung höchster Ordnung auswählen, wenn die Lichtvektoränderung zwischen Eckpunkten größer als oder gleich dem Lichtvektorgrenzwert ist; Maximaländerungsbestimmungsmittel zum Bestimmen der maximalen Änderung der Krümmungsänderung zwischen den Eckpunkten und der Lichtvektoränderung zwischen den Eckpunkten; Maximaländerungsvergleichsmittel zum Vergleichen der maximalen Änderung mit mehreren Grenzwerten, die zur Bestimmung der zu verwendenden Ordnung der Reflexionsgleichung benutzt werden, wobei jeder Grenzwert die maximale Änderung beschreibt, bei welcher eine Reflexionsgleichung einer vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann; und wobei die Steuermittel eine Reflexionsgleichung einer vorgegebenen Ordnung auswählen, wenn die maximale Änderung kleiner als oder gleich dem Grenzwert ist, der die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung der vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann und größer als der Grenzwert ist, welcher die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung einer vorgegebenen Ordnung, die kleiner als die vorgegebene Ordnung ist, benutzt werden soll, um ein Qualitätsbild zu erzeugen.
  52. Adaptives Verfahren zum Erzeugen einer schattierten graphischen Abbildung in einem graphischen Anzeigesystem mit einer CPU, einem Speicher, einem Einzelbildpuffer und einer mit dem Einzelbildpuffer verbundenen graphischen Anzeigeeinrichtung, wobei die graphische Anzeigeeinrichtung eine Matrix von Pixeln aufweist, wobei die graphische Abbildung von einer Vielzahl von Pixeldaten definiert ist, wobei die Pixeldaten in dem Einzelbildpuffer gespeichert sind, wobei die Pixeldaten einen Pixelort auf der graphischen Anzeigeeinrichtung und eine Pixelfarbe spezifizieren, wobei die graphische Abbildung auf der graphischen Anzeigeeinrichtung entsprechend den in dem Einzelbildpuffer gespeicherten Pixeldaten angezeigt wird, wobei die graphische Abbildung entsprechend einer Lichtquelle schattiert wird, wobei die erzeugte schattierte Abbildung von einer von einem Benutzer spezifizierten Qualität ist, wobei das Verfahren die Schritte aufweist: a) Empfangen einer Vielzahl von Polygonen, welche die graphische Abbildung definieren, wobei jedes der Polygone von Orten seiner Scheitelpunkte und jeweils einem Normalenvektor an jedem Scheitelpunkt definiert ist, wobei der Normalenvektor an jedem Scheitelpunkt der Normalenvektor der Oberfläche des Polygons an dem Scheitelpunkt ist; b) Bestimmen einer Reflexion über das Polygon unter Verwendung einer Reflexionsgleichung und Erzeugen einer Vielzahl von modifizierten Pixeldaten, die eine schattierte Polygonabbildung darstellen; c) Ausgeben der Vielzahl der das schattierte Polygon darstellenden modifizierten Pixeldaten an den Einzelbildpuffer; und d) Lesen der Vielzahl der in dem Einzelbildpuffer gespeicherten modifizierten Pixeldaten und Freigeben der entsprechenden Pixel auf der graphischen Anzeigeeinrichtung mit einer Farbe, die von der Vielzahl der modifizierten Pixeldaten spezifiziert ist, um eine schattierte Polygonabbildung auf der graphischen Anzeigeeinrichtung zu erzeugen, dadurch gekennzeichnet, daß nach dem Empfangen jeweils eines Polygons und vor dem Bestimmen der Reflexion eine geordnete Reflexionsgleichung aus einem Satz von zumindest drei geordneten Reflexionsgleichungen ausgewählt wird, wobei eine geordnete Reflexionsgleichung einer höchsten Ordnung eine Reflexion der höchsten Qualität über das Polygon erzeugt, wobei der Schritt des Auswählens die Schritte aufweist: 1) Bestimmen des Betrags der Krümmungsänderung über die Oberfläche des Polygons und einer Krümmungsänderung zwischen den Scheitelpunkten gemäß den Normalenvektoren an den Scheitelpunkten des Polygons und Bestimmen eines Lichtvektors an jedem Scheitelpunkt und einer Lichtvektoränderung zwischen den Scheitelpunkten, wobei die Lichtvektoren eine Funktion des Normalenvektors an dem jeweiligen Scheitelpunkt und eines Ortes der Lichtquellen in Bezug auf den Scheitelpunkt sind, und 2) Vergleichen des Betrags der Krümmungsänderung zwischen den Scheitelpunkten mit einem Krümmungsschwellenwert, der einen großen Betrag der Änderung anzeigt, und Vergleichen der Lichtvektoränderung zwischen den Scheitelpunkten mit einem Lichtvektor-Schwellenwert, der einen großen Betrag der Änderung anzeigt, so daß dann, wenn der Betrag wenigstens einer Änderung den zugehörigen Schwellenwert überschreitet, eine Steuereinrichtung eine vorgegebene Reflexionsgleichung höherer Ordnung auswählt, und daß die Reflexion über das Polygon unter Verwendung der ausgewählten Reflexionsgleichung bestimmt wird.
  53. Verfahren nach Anspruch 52, dadurch gekennzeichnet, daß zumindest vier Ordnungen von Reflexionsgleichungen verwendet werden.
  54. Verfahren nach Anspruch 52, dadurch gekennzeichnet, daß als Reflexionsgleichung der höchsten Ordnung eine Gleichung zweiter Ordnung verwendet wird.
  55. Verfahren nach Anspruch 54, dadurch gekennzeichnet, daß als Polygon ein Dreieck mit einem ersten, zweiten und dritten Eckpunkt verwendet wird.
  56. Verfahren nach Anspruch 55, dadurch gekennzeichnet, daß der Schritt des Bestimmens des Lichtvektors an jedem Eckpunkt und der Lichtvektoränderung unter den Eckpunkten das Bestimmen einer maximalen Lichtvektoränderung (cos(ψ)) gemäß der Gleichung: cos(ψ) = min(cos(ψ(1)), cos(ψ(2)), cos(ψ(3))) einschließt, wobei cos(ψ(1)) = Lx(1)·(Lx(2) + Ly(1)·Ly(2) + Lz(1)·Lz(2) cos(ψ(2)) = Lx(2)·(Lx(3) + Ly(2)·Ly(3) + Lz(2)·Lz(3) cos(ψ(3)) = Lx(3)·(Lx(1) + Ly(3)·Ly(1) + Lz(3)·Lz(1),und wobei Lx(1), Ly(1), Lz(1) die x-, y- und z-Komponenten des Lichtvektors an dem ersten Eckpunkt, Lx(2), Ly(2), Lz(2) die x-, y- und z-Komponenten des Lichtvektors an dem zweiten Eckpunkt und Lx(3), Ly(3), Lz(3) die x-, y- und z-Komponenten des Lichtvektors an dem dritten Eckpunkt sind, cos(ψ(1)) die Lichtvektoränderung zwischen dem ersten Eckpunkt und dem zweiten Eckpunkt, cos(ψ(2)) die Lichtvektoränderung zwischen dem zweiten Eckpunkt und dem dritten Eckpunkt und cos(ψ(3)) die Lichtvektoränderung zwischen dem dritten Eckpunkt und dem ersten Eckpunkt anzeigt; und daß die maximale Lichtvektoränderung mit dem Lichtvektorgrenzwert verglichen wird.
  57. Verfahren nach Anspruch 52, dadurch gekennzeichnet, daß der erste Grenzwert im Bereich von 0,996 bis 0,938 und der zweite Grenzwert im Bereich von 0,992 bis 0,879 liegt.
  58. Verfahren nach Anspruch 52, dadurch gekennzeichnet, daß dann, wenn keine Refelxionsgleichung höherer Ordnung ausgewählt wurde, die Schritte ausgeführt werden: Bestimmen der maximalen Änderung unter der Krümmungsänderung zwischen den Eckpunkten und der Lichtvektoränderung zwischen den Eckpunkten; Vergleichen der maximalen Änderung mit mehreren Grenzwerten, die zur Bestimmung der Ordnung der anzuwendenden Reflexionsgleichung benutzt werden, wobei jeder Grenzwert die maximale Änderung beschreibt, bei welcher eine Refle xionsgleichung einer vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann; Auswählen einer Reflexionsgleichung einer vorgegebenen Ordnung, wenn die maximale Änderung kleiner als oder gleich dem Grenzwert ist, der die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung der vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann und größer als der Grenzwert ist, welcher die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung einer vorgegebenen Ordnung, die kleiner als die vorgegebene Ordnung ist, benutzt werden soll, um ein Qualitätsbild zu erzeugen.
  59. Verfahren nach Anspruch 58, gekennzeichnet durch die folgenden weiteren Schritte: Bestimmen eines Blickpunktvektors an jedem Eckpunkt und der Blickpunktvektoränderung zwischen den Eckpunkten, wobei die Blickpunktvektoren eine Funktion der Anordnung des Blickpunkts relativ zur Anordnung der Eckpunkte sind; Vergleichen der Blichpunktvektoränderung zwischen den Eckpunkten mit einem Blickpunktvektorgrenzwert, der eine große Änderung zwischen Blickpunktvektoren anzeigt; Auswählen einer Reflexionsgleichung der höchsten Ordnung, wenn die Blickpunktvektoränderung zwischen den Eckpunkten größer als oder gleich dem Blickpunktvektorgrenzwert ist; und Ermitteln der maximalen Änderung unter der Krümmungsänderung zwischen den Eckpunkten, der Lichtvektoränderung zwischen den Eckpunkten und der Blickpunktvektoränderung zwischen den Eckpunkten.
  60. Verfahren nach Anspruch 55, dadurch gekennzeichnet, daß der Schritt des Bestimmens des Lichtvektors an jedem Eckpunkt und der Lichtvektoränderung unter den Eckpunkten das Bestimmen einer maximalen Lichtvektoränderung (cos(ψ)) gemäß der Gleichung: cos(ψ) = min(cos(ψ(1)), cos(ψ(2)), cos(ψ(3))) einschließt, wobei cos(ψ(1)) = Lx(1)·(Lx(2) + Ly(1)·Ly(2) + Lz(1)·Lz(2) cos(ψ(2)) = Lx(2)·(Lx(3) + Ly(2)·Ly(3) + Lz(2)·Lz(3) cos(ψ(3)) = Lx(3)·(Lx(1) + Ly(3)·Ly(1) + Lz(3)·Lz(1),und wobei Lx(1), Ly(1), Lz(1) die x-, y- und z-Komponenten des Lichtvektors an dem ersten Eckpunkt, Lx(2), Ly(2), Lz(2) die x-, y- und z-Komponenten des Lichtvektors an dem zweiten Eckpunkt und Lx(3), Ly(3), Lz(3) die x-, y- und z-Komponenten des Lichtvektors an dem dritten Eckpunkt sind, cos(ψ(1)) die Lichtvektoränderung zwischen dem ersten Eckpunkt und dem zweiten Eckpunkt, cos(ψ(2)) die Lichtvektoränderung zwischen dem zweiten Eckpunkt und dem dritten Eckpunkt und cos(ψ(3)) die Lichtvektoränderung zwischen dem dritten Eckpunkt und dem ersten Eckpunkt anzeigt; und daß die maximale Lichtvektoränderung mit dem Lichtvektorgrenzwert verglichen wird.
  61. Verfahren nach Anspruch 59, dadurch gekennzeichnet, daß das Polygon ein Dreieck mit einem ersten, zweiten und dritten Eckpunkt ist, daß der Schritt des Bestimmens des Blickpunktvektors an jedem Eckpunkt und der Blickpunktvektoränderung zwischen den Eckpunkten eine maximale Blickpunktvektoränderung (cos(η)) entsprechend der Gleichung: cos(η) = min(cos(η(1)), cos(η(2)), cos(η(3))) bestimmt, wobei cos(η(1)) = Vx(1)·(Vx(2) + Vy(1)·Vy(2) + Vz(1)·Vz(2) cos(η(2)) = Vx(2)·(Vx(3) + Vy(2)·Vy(3) + Vz(2)·Vz(3) cos(η(3)) = Vx(3)·(Vx(1) + Vy(3)·Vy(1) + Vz(3)·Vz(1),und wobei Vx(1), Vy(1), Vz(1) die x-, y- und z-Komponenten des Blickpunktvektors am ersten Eckpunkt, Vx(2), Vy(2), Vz(2) die x-, y- und z-Komponenten des Blickpunktvektors am zweiten Eckpunkt und Vx(3), Vy(3), Vz(3) die x-, y- und z-Komponenten des Blickpunktvektors am dritten Eckpunkt sind, cos(η(1)) die Blickpunktvektoränderung zwischen dem ersten Eckpunkt und dem zweiten Eckpunkt, cos(η(2)) die Blickpunktvektoränderung zwischen dem zweiten Eckpunkt und dem dritten Eckpunkt und cos(η(3)) die Blickpunktvektoränderung zwischen dem dritten Eckpunkt und dem ersten Eckpunkt anzeigt; und daß die maximale Blickpunktvektoränderung mit dem Blickpunktvektorgrenzwert verglichen wird.
  62. Verfahren nach Anspruch 59, dadurch gekennzeichnet, daß ein der maximalen Änderung entsprechender Wert bestimmt wird nach der Formel: cos(ϕψ) = min(a(ϕ)·cos(ϕ), a(ψ)·cos(ψ))wobei cos(ϕ) der Kosinus des Winkels der maximalen Normalenvektoränderung und somit ein Maß für die maximale Krümmungsänderung und a(ϕ) ein Krümmungsgewicht sowie cos(ψ) der Kosinus des Winkels der maximalen Lichtvektoränderung und a(ψ) das Lichtvektorgewicht ist.
  63. Verfahren nach Anspruch 59, dadurch gekennzeichnet, daß der erste Grenzwert im Bereich von 0,996 bis 0,938 und der zweite Grenzwert im Bereich von 0,992 bis 0,879 liegt.
  64. Verfahren nach Anspruch 58, dadurch gekennzeichnet, daß ein der maximalen Änderung entsprechender Wert bestimmt wird nach der Formel: cos(ϕψ) = min(a(ϕ)·cos(ϕ), a(ψ)·cos(ψ))wobei cos(ϕ) der Kosinus des Winkels der maximalen Normalenvektoränderung und somit ein Maß für die maximale Krümmungsänderung und a(ϕ) ein Krümmungsgewicht sowie cos(ψ) der Kosinus des Winkels der maximalen Lichtvektoränderung und a(ψ) das Lichtvektorgewicht ist.
  65. Verfahren nach Anspruch 52, gekennzeichnet durch die folgenden weiteren Schritte: Bestimmen eines Blickpunktvektors an jedem Eckpunkt und der Blickpunktvektoränderung zwischen den Eckpunkten, wobei die Blickpunktvektoren eine Funktion der Anordnung des Blickpunkts relativ zur Anordnung der Eckpunkte sind; Vergleichen der Blichpunktvektoränderung zwischen den Eckpunkten mit einem Blickpunktvektorgrenzwert, der eine große Änderung zwischen Blickpunktvektoren anzeigt; Auswählen einer Reflexionsgleichung der höchsten Ordnung, wenn die Blickpunktvektoränderung zwischen den Eckpunkten größer als oder gleich dem Blickpunktvektorgrenzwert ist.
  66. Verfahren nach Anspruch 52, gekennzeichnet durch die folgenden weiteren Schritte: Bestimmen eines Punktprodukts der Normalen und des Lichtvektors an jedem Eckpunkt und der maximalen Betragsdifferenz zwischen den Produkten an den Eckpunkten; Vergleichen der Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert, wobei der erste Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer ersten vorgegebenen Ordnung bedingt, und wobei der zweite Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung, die größer als die erste vorgegebene Ordnung ist, bedingt; daß die Reflexionsgleichung einer vorgegebenen Ordnung niedriger als die erste vorgegebene Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist; daß die Reflexionsgleichung der ersten vorgegebenen Ordnung gewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist; daß die Reflexionsgleichung der zweiten vorgegebenen Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem zweiten Grenzwert ist.
  67. Verfahren nach Anspruch 52, gekennzeichnet durch die weiteren Schritte: Bestimmen eines Blickpunktvektors an jedem Eckpunkt; Bestimmen eines Reflexionsvektors an jedem Eckpunkt, der den Vektor darstellt, unter dem das Licht von der Polygonoberfläche reflektiert wird, Bestimmen eines Punktprodukts des Reflexionsvektors und des Blickpunktvektors an jedem Eckpunkt und der maximalen Betragsdifferenz zwischen den Punktprodukten an den Eckpunkten; Vergleichen der Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert, wobei der erste Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer ersten vorgegebenen Ordnung bedingt, und wobei der zweite Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung, die größer als die erste vorgegebene Ordnung ist, bedingt; daß die Reflexionsgleichung einer vorgegebenen Ordnung niedriger als die erste vorgegebene Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist; daß die Reflexionsgleichung der ersten vorgegebenen Ordnung gewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist; daß die Reflexionsgleichung der zweiten vorgegebenen Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem zweiten Grenzwert ist.
  68. Verfahren nach Anspruch 67, dadurch gekennzeichnet, daß als Reflexionsgleichung höchster Ordnung eine Gleichung zweiter Ordnung verwendet wird.
  69. Verfahren nach Anspruch 67, gekennzeichnet durch die folgenden weiteren Schritte: Bestimmen der Blickpunktvektoränderung zwischen den Eckpunkten, wobei die Blickpunktvektoren eine Funktion der Anordnung des Blickpunkts relativ zur Anordnung der Eckpunkte sind; Vergleichen der Blichpunktvektoränderung zwischen den Eckpunkten mit einem Blickpunktvektorgrenzwert, der eine große Änderung zwischen Blickpunktvektoren anzeigt; Auswählen einer Reflexionsgleichung der höchsten Ordnung, wenn die Blickpunktvektoränderung zwischen den Eckpunkten größer als oder gleich dem Blickpunktvektorgrenzwert ist; und Ermitteln der maximalen Änderung unter der Krümmungsänderung zwischen den Eckpunkten, der Lichtvektoränderung zwischen den Eckpunkten und der Blickpunktvektoränderung zwischen den Eckpunkten.
  70. Verfahren nach Anspruch 52, gekennzeichnet durch die folgenden weiteren Schritte: Bestimmen eines Punktprodukts der Normalen und des Lichtvektors an jedem Eckpunkt und der maximalen Betragsdifferenz zwischen den Produkten an den Eckpunkten; Vergleichen der Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert, wobei der erste Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer ersten vorgegebenen Ordnung bedingt, und wobei der zweite Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung, die größer als die erste vorgegebene Ordnung ist, bedingt; daß die Reflexionsgleichung einer vorgegebenen Ordnung niedriger als die erste vorgegebene Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist; daß die Reflexionsgleichung der ersten vorgegebenen Ordnung gewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist; daß die Reflexionsgleichung der zweiten vorgegebenen Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem zweiten Grenzwert ist; Bestimmen der Krümmungsänderung über die Oberfläche des Polygons und der den Normalenvektoren an den Eckpunkten des Polygons entsprechenden Krümmungsänderung zwischen den Eckpunkten; Vergleichen der Krümmungsänderung zwischen den Eckpunkten mit einem Krümmungsgrenzwert, der eine große Krümmungsänderung anzeigt; Auswählen der Reflexionsgleichung der höchsten Ordnung, wenn die Krümmungsänderung zwischen den Eckpunkten größer als oder gleich dem Krümmungsgrenzwert ist; Bestimmen einer Lichtvektoränderung zwischen den Eckpunkten; Vergleichen der Lichtvektoränderung zwischen den Eckpunkten mit einem Lichtvektorgrenzwert, der eine große Änderung zwischen den Lichtvektoren anzeigt; Auswählen der Reflexionsgleichung der höchsten Ordnung, wenn die Lichtvektoränderung zwischen Eckpunkten größer als der oder gleich dem Lichtvektorgrenzwert ist; Bestimmen der maximalen Änderung unter der Krümmungsänderung zwischen den Eckpunkten und der Lichtvektoränderung zwischen den Eckpunkten; Vergleichen der maximalen Änderung mit mehreren Grenzwerten, die zur Bestimmung der Ordnung der anzuwendenden Reflexionsgleichung benutzt werden, wobei jeder Grenzwert die maximale Änderung beschreibt, bei welcher eine Reflexionsgleichung einer vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann. Auswählen einer Reflexionsgleichung einer vorgegebenen Ordnung, wenn die maximale Änderung kleiner als oder gleich dem Grenzwert ist, der die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung der vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann und größer als der Grenzwert ist, welcher die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung einer vorgegebenen Ordnung, die kleiner als die vorgegebene Ordnung ist, benutzt werden soll, um ein Qualitätsbild zu erzeugen.
  71. Verfahren nach Anspruch 52, gekennzeichnet durch die folgenden weiteren Schritte: Bestimmen eines Blickpunktvektors an jedem Eckpunkt; Bestimmen eines Reflexionsvektors an jedem Eckpunkt, der den Vektor darstellt, unter dem das Licht von der Polygonoberfläche reflektiert wird, Bestimmen eines Punktprodukts des Reflexionsvektors und des Blickpunktvektors an jedem Eckpunkt und der maximalen Betragsdifferenz zwischen den Punktprodukten an den Eckpunkten; Vergleichen der Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten mit wenigstens einem ersten Grenzwert und einem zweiten Grenzwert, wobei der erste Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer ersten vorgegebenen Ordnung bedingt, und wobei der zweite Grenzwert über die Polygonoberfläche eine Reflexionsänderung anzeigt, welche die Verwendung einer Reflexionsgleichung wenigstens einer zweiten vorgegebenen Ordnung, die größer als die erste vorgegebene Ordnung ist, bedingt; daß die Reflexionsgleichung einer vorgegebenen Ordnung niedriger als die erste vorgegebene Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten kleiner als der erste Grenzwert ist; daß die Reflexionsgleichung der ersten vorgegebenen Ordnung gewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem ersten Grenzwert und kleiner als der zweite Grenzwert ist; daß die Reflexionsgleichung der zweiten vorgegebenen Ordnung ausgewählt wird, wenn die Maximaldifferenz zwischen den Punktprodukten an den Eckpunkten größer als der oder gleich dem zweiten Grenzwert ist; Bestimmen des Betrages der Krümmungsänderung über die Polygonoberfläche und der Krümmungsänderung zwischen den Eckpunkten entsprechend den Normalenvektoren an den Polygoneckpunkten; Vergleichen der Krümmungsänderung zwischen den Eckpunkten mit einem Krümmungsgrenzwert, der einen großen Betrag einer Krümmungsänderung anzeigt, Auswählen der Reflexionsgleichung der höchsten Ordnung, wenn die Krümmungsänderung zwischen de Eckpunkten größer als oder gleich dem Krümmungsgrenzwert ist; Bestimmen einer Lichtvektoränderung unter den Eckpunkten; Vergleichen der Lichtvektoränderung zwischen den Eckpunkten mit dem Betrag eines Lichtvektorgrenzwerts, der eine große Änderung zwischen den Lichtvektoren darstellt; Auswählen der Reflexionsgleichung der höchsten Ord-nung, wenn die Lichtvektoränderung zwischen Eckpunkten größer als der oder gleich dem Lichtvektorgrenzwert ist, Bestimmen der maximalen Änderung unter der Krümmungsänderung zwischen den Eckpunkten und der Lichtvektoränderung zwischen den Eckpunkten; Vergleichen der maximalen Änderung mit mehreren Grenzwerten, die zur Bestimmung der Ordnung der anzuwendenden Reflexionsgleichung benutzt werden, wobei jeder Grenzwert die maximale Änderung beschreibt, bei welcher eine Reflexionsgleichung einer vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann; Auswählen einer Reflexionsgleichung einer vorgegebenen Ordnung, wenn die maximale Änderung kleiner als oder gleich dem Grenzwert ist, der die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung der vorgegebenen Ordnung zur Erzeugung eines Qualitätsbildes benutzt werden kann und größer als der Grenzwert ist, welcher die maximale Änderung beschreibt, bei welcher die Reflexionsgleichung einer vorgebenen Ordnung, die kleiner als die vorgegebene Ordnung ist, benutzt werden soll, um ein Qualitätsbild zu erzeugen.
DE4124564A 1990-07-26 1991-07-24 Verfahren und Einrichtung zur Erzeugung von schattierten Abbildungen Expired - Fee Related DE4124564B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US560869 1990-07-26
US07/560,869 US5253339A (en) 1990-07-26 1990-07-26 Method and apparatus for adaptive Phong shading

Publications (2)

Publication Number Publication Date
DE4124564A1 DE4124564A1 (de) 1992-02-27
DE4124564B4 true DE4124564B4 (de) 2005-02-24

Family

ID=24239700

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4124564A Expired - Fee Related DE4124564B4 (de) 1990-07-26 1991-07-24 Verfahren und Einrichtung zur Erzeugung von schattierten Abbildungen

Country Status (11)

Country Link
US (1) US5253339A (de)
JP (1) JP2645620B2 (de)
KR (1) KR960012670B1 (de)
CN (2) CN1048347C (de)
AU (1) AU638102B2 (de)
CA (1) CA2045889C (de)
DE (1) DE4124564B4 (de)
FR (1) FR2665277B1 (de)
GB (1) GB2246497B (de)
HK (1) HK65995A (de)
SG (1) SG32582G (de)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5415549A (en) * 1991-03-21 1995-05-16 Atari Games Corporation Method for coloring a polygon on a video display
JP2682559B2 (ja) * 1992-09-30 1997-11-26 インターナショナル・ビジネス・マシーンズ・コーポレイション 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム
GB2271259A (en) * 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
GB2271261A (en) * 1992-10-02 1994-04-06 Canon Res Ct Europe Ltd Processing image data
US5739820A (en) * 1992-11-19 1998-04-14 Apple Computer Inc. Method and apparatus for specular reflection shading of computer graphic images
JPH06274653A (ja) * 1993-03-18 1994-09-30 Fujitsu Ltd グラフィック表示装置
EP0622747B1 (de) * 1993-04-01 2000-05-31 Sun Microsystems, Inc. Verfahren und Vorrichtung zur adaptiven Steuerung der Texturabbildung
US5798765A (en) * 1994-03-21 1998-08-25 Motorola, Inc. Three dimensional light intensity display map
JP3794502B2 (ja) * 1994-11-29 2006-07-05 ソニー株式会社 画像領域抽出方法及び画像領域抽出装置
JP3442181B2 (ja) * 1995-02-17 2003-09-02 株式会社ナムコ 3次元ゲーム装置及び画像合成方法
US5704024A (en) * 1995-07-20 1997-12-30 Silicon Graphics, Inc. Method and an apparatus for generating reflection vectors which can be unnormalized and for using these reflection vectors to index locations on an environment map
JPH09128529A (ja) * 1995-10-30 1997-05-16 Sony Corp ディジタル画像の雑音の投影に基づく除去方法
JP3994445B2 (ja) * 1995-12-05 2007-10-17 ソニー株式会社 動きベクトル検出装置及び動きベクトル検出方法
DE19606357A1 (de) * 1996-02-12 1997-08-14 Gmd Gmbh Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
TW357327B (en) * 1996-08-02 1999-05-01 Sony Corp Methods, apparatus and program storage device for removing scratch or wire noise, and recording media therefor
JP3387750B2 (ja) * 1996-09-02 2003-03-17 株式会社リコー シェーディング処理装置
WO1998015328A1 (fr) 1996-10-09 1998-04-16 Namco Ltd. Machine a jeu et support de donnees
US5854632A (en) * 1996-10-15 1998-12-29 Real 3D Apparatus and method for simulating specular reflection in a computer graphics/imaging system
US6078616A (en) 1997-03-13 2000-06-20 Sony Corporation Methods and apparatus for error concealment utilizing temporal domain motion vector estimation
DE19714915A1 (de) * 1997-04-03 1998-10-08 Gmd Gmbh Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
JP3514945B2 (ja) * 1997-05-26 2004-04-05 株式会社ソニー・コンピュータエンタテインメント 画像作成方法および画像作成装置
US6226006B1 (en) * 1997-06-27 2001-05-01 C-Light Partners, Inc. Method and apparatus for providing shading in a graphic display system
JP2001509934A (ja) * 1997-11-14 2001-07-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ コンピュータグラフィックス・バンプマッピングの方法及び装置
US6072505A (en) * 1998-04-01 2000-06-06 Real 3D, Inc. Method and apparatus to efficiently interpolate polygon attributes in two dimensions at a prescribed clock rate
JP4383585B2 (ja) * 1998-06-30 2009-12-16 シーメンス コーポレイト リサーチ インコーポレイテツド コンピュータグラフィック処理方法
US6552726B2 (en) * 1998-07-17 2003-04-22 Intel Corporation System and method for fast phong shading
US6259454B1 (en) 1998-08-11 2001-07-10 S3 Graphics Co., Ltd. Method and apparatus for interpolative, adaptive illumination in 3D graphics
EP1026639A3 (de) 1999-02-04 2002-09-04 Canon Kabushiki Kaisha 3D-Rechnergraphik-Verarbeitungsgerät und -verfahren
EP1033683B1 (de) 1999-03-01 2006-03-22 Canon Kabushiki Kaisha Bildverarbeitungsgerät
DE19915308A1 (de) * 1999-04-03 2000-10-12 Daimler Chrysler Ag Verfahren zur zweidimensionalen Bildpunkt-Darstellung von Objekten auf einer Anzeigevorrichtung
US6226007B1 (en) * 1999-05-21 2001-05-01 Sun Microsystems, Inc. Method and apparatus for modeling specular reflection
JP2001084405A (ja) * 1999-09-16 2001-03-30 Sega Corp ポリゴン画像形成方法及び、これを用いた画像処理装置
JP3269814B2 (ja) * 1999-12-03 2002-04-02 株式会社ナムコ 画像生成システム及び情報記憶媒体
US6654013B1 (en) * 2000-03-17 2003-11-25 Hewlett-Packard Development Company, Lp. Apparatus for and method of enhancing shape perception with parametric texture maps
US7071937B1 (en) * 2000-05-30 2006-07-04 Ccvg, Inc. Dirt map method and apparatus for graphic display system
US6614431B1 (en) 2001-01-18 2003-09-02 David J. Collodi Method and system for improved per-pixel shading in a computer graphics system
JP4581261B2 (ja) 2001-02-14 2010-11-17 ソニー株式会社 演算装置、演算処理方法及び画像処理装置
FR2826769B1 (fr) * 2001-06-29 2003-09-05 Thales Sa Procede d'affichage d'informations cartographiques sur ecran d'aeronef
US8133115B2 (en) 2003-10-22 2012-03-13 Sony Computer Entertainment America Llc System and method for recording and displaying a graphical path in a video game
US20060071933A1 (en) * 2004-10-06 2006-04-06 Sony Computer Entertainment Inc. Application binary interface for multi-pass shaders
US7636126B2 (en) 2005-06-22 2009-12-22 Sony Computer Entertainment Inc. Delay matching in audio/video systems
US20070139408A1 (en) * 2005-12-19 2007-06-21 Nokia Corporation Reflective image objects
US8976174B2 (en) * 2006-01-27 2015-03-10 Tandent Vision Science, Inc. Bi-illuminant dichromatic reflection model for image manipulation
US8976173B2 (en) * 2006-01-27 2015-03-10 Tandent Vision Science, Inc. Bi-illuminant dichromatic reflection model for image manipulation
US7880746B2 (en) 2006-05-04 2011-02-01 Sony Computer Entertainment Inc. Bandwidth management through lighting control of a user environment via a display device
US7965859B2 (en) 2006-05-04 2011-06-21 Sony Computer Entertainment Inc. Lighting control of a user environment via a display device
US8169435B2 (en) * 2007-12-06 2012-05-01 Esko Ip Nv Generating and rendering three dimensional models of flexible packaging
US8355022B2 (en) * 2008-11-25 2013-01-15 Sony Computer Entertainment America Llc Method and apparatus for aggregating light sources per-vertex in computer graphics
US20100128038A1 (en) * 2008-11-25 2010-05-27 Sony Computer Entertainment America Inc. Method and apparatus for interpolating color and direction as one entity in computer graphics
JP5561975B2 (ja) * 2009-03-09 2014-07-30 カルソニックカンセイ株式会社 表面加工データの作成方法および装置
US10786736B2 (en) 2010-05-11 2020-09-29 Sony Interactive Entertainment LLC Placement of user information in a game space
US9342817B2 (en) 2011-07-07 2016-05-17 Sony Interactive Entertainment LLC Auto-creating groups for sharing photos
US9208603B2 (en) * 2012-05-03 2015-12-08 Zemax, Llc Methods and associated systems for simulating illumination patterns
US9965893B2 (en) * 2013-06-25 2018-05-08 Google Llc. Curvature-driven normal interpolation for shading applications
US10733794B2 (en) 2013-12-13 2020-08-04 Nvidia Corporation. Adaptive shading in a graphics processing pipeline
US9552667B2 (en) 2013-12-13 2017-01-24 Nvidia Corporation Adaptive shading in a graphics processing pipeline
IL233523A (en) 2014-07-06 2017-06-29 Au10Tix Ltd A system and method for quantifying repetition such as in the analysis of laminated documents
EP3057067B1 (de) * 2015-02-16 2017-08-23 Thomson Licensing Vorrichtung und verfahren zur schätzung eines glänzenden teils von strahlung
KR20170034727A (ko) 2015-09-21 2017-03-29 삼성전자주식회사 그림자 정보 저장 방법 및 장치, 3d 렌더링 방법 및 장치
US10152819B2 (en) 2016-08-15 2018-12-11 Microsoft Technology Licensing, Llc Variable rate shading
US10147227B2 (en) 2017-02-17 2018-12-04 Microsoft Technology Licensing, Llc Variable rate shading

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0259971A1 (de) * 1986-08-14 1988-03-16 AT&T Corp. Schnelle Phongschattierung
DE3825539A1 (de) * 1987-07-27 1989-02-09 Sun Microsystems Inc Einrichtung zum schattieren von bildern auf einem display

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60217461A (ja) * 1984-04-13 1985-10-31 Hitachi Ltd 3次元物体表示方式
US4805116A (en) * 1986-04-23 1989-02-14 International Business Machines Corporation Interpolated display characteristic value generator
US5109481A (en) * 1987-07-24 1992-04-28 Hewlet-Packard Company Quadratic interpolation for shaded image generation
JP2667835B2 (ja) * 1987-10-09 1997-10-27 株式会社日立製作所 コンピユータグラフイツクス表示装置
US4866637A (en) * 1987-10-30 1989-09-12 International Business Machines Corporation Pipelined lighting model processing system for a graphics workstation's shading function
US4912659A (en) * 1987-10-30 1990-03-27 International Business Machines Corporation Parallel surface processing system for graphics display
JPH0269882A (ja) * 1988-09-06 1990-03-08 Toshiba Corp 画像処理方式
US5142617A (en) * 1988-10-27 1992-08-25 Tektronix, Inc. Method of shading a graphics image
US5031117A (en) * 1990-02-13 1991-07-09 International Business Machines Corporation Prioritization scheme for enhancing the display of ray traced images
US5163126A (en) * 1990-05-10 1992-11-10 International Business Machines Corporation Method for adaptively providing near phong grade shading for patterns in a graphics display system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0259971A1 (de) * 1986-08-14 1988-03-16 AT&T Corp. Schnelle Phongschattierung
DE3825539A1 (de) * 1987-07-27 1989-02-09 Sun Microsystems Inc Einrichtung zum schattieren von bildern auf einem display

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BERGMAN, L. et al.: Image Rendering by Adaptive Refinement, Computer graphics, Vol. 20, No. 4 August 1986, S. 29-37 *
FOLEY, James D. u.a.: "Computer Graphics: Principles and Practice", Addison-Wesley Publishing Company, 1990, S. 721-745 *

Also Published As

Publication number Publication date
AU7139491A (en) 1992-01-30
FR2665277B1 (fr) 1996-03-08
AU638102B2 (en) 1993-06-17
SG32582G (en) 1995-09-01
KR960012670B1 (ko) 1996-09-23
DE4124564A1 (de) 1992-02-27
JP2645620B2 (ja) 1997-08-25
HK65995A (en) 1995-05-12
FR2665277A1 (fr) 1992-01-31
GB2246497A (en) 1992-01-29
GB2246497B (en) 1994-11-02
JPH04233674A (ja) 1992-08-21
CA2045889C (en) 2001-03-20
CN1058480A (zh) 1992-02-05
CN1048347C (zh) 2000-01-12
CN1233030A (zh) 1999-10-27
KR920003200A (ko) 1992-02-29
CA2045889A1 (en) 1992-01-27
GB9104327D0 (en) 1991-04-17
US5253339A (en) 1993-10-12

Similar Documents

Publication Publication Date Title
DE4124564B4 (de) Verfahren und Einrichtung zur Erzeugung von schattierten Abbildungen
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE60026197T2 (de) Detailgerichtete hierarchische Distanzfelder in der Objektmodellierung
US7027050B1 (en) 3D computer graphics processing apparatus and method
DE69924700T2 (de) Verfahren zur Darstellung von durch Oberflächenelemente repräsentierten grafischen Objekten
DE69907415T2 (de) Bestimmung sichtbarer objekte für interaktive visualisation
DE60032832T2 (de) Darstellung einer gekrümmten Oberfläche in mehreren Auflösungen
DE60107130T2 (de) Sichtbarkeitsprojektion und Bildrekonstruktion für Oberflächenelemente
EP0789328B1 (de) Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
US5659671A (en) Method and apparatus for shading graphical images in a data processing system
US6593924B1 (en) Rendering a non-photorealistic image
EP2024793B1 (de) Verfahren und einrichtung zum rendern und generieren computer-generierter videohologramme
DE19807013B4 (de) Volumetrisches Vorabschneidungsverfahren, das eine minimale Anzahl von Abtastpunkten durch ein Volumen gewährleistet
CA2107945C (en) Hologram information forming method
DE19807053B4 (de) Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung
DE69916808T2 (de) Verfahren und system zur strahlverfolgung
US6867769B1 (en) Generation of free-form surface model by reversible rounding operation
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE112012002623T5 (de) Verfahren zum Simulieren der Bearbeitung von Objekten durch Bewegung eines Werkzeugs, und System und Computerprogrammprodukt für dieses
DE69921696T2 (de) Verfahren zur perspektivischen darstellung, ausgehend von einem voxelraum
EP0862141A2 (de) Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens
DE102006023633A1 (de) Gleichzeitige Projektion von mehrfach verzweigten Gefäßen und ihrer Umgebung auf einem einzigen Bild
DE60122333T2 (de) Verfahren und System zur kachelweisen Bildwiedergabe
DE102005035796B4 (de) System und Verfahren zum Polygon-Glätten beim texturbasierten Volumen-Rendering

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8339 Ceased/non-payment of the annual fee