Lighting Beleuchtung, Reflexion und Transparenz Ziel der Grafikprogrammierung ist die fotorealistische Grafik, d.h. die Erzeugung möglichst wirklichkeitsgetreuer Bilder. Dabei müssen viele physikalische Gesetzmäßigkeiten der Lichtausbreitung nachgebildet werden, was zum Teil zu hoher Rechenzeit führt. Ein Ansatz für echtzeitfähige Grafik - bei noch guter Wirkung - ist die lokale Beleuchtung. Im folgenden setzen wir uns mit den physikalischen Grundlagen von Licht, ambientem Licht, Licht das idealisiert von einer oder mehreren punktförmigen Lichtquellen ausgeht, der Reflexion von Licht und dem Durchgang von Licht durch transparente Objekte auseinander und schneiden zum Abschluss noch kurz die beiden „großen“ Verfahren der globalen Beleuchtung an. Physikalische Grundlagen des Lichts Licht ist der Teil der elektromagnetischen Strahlung der vom menschlichen Auge wahrgenommen werden kann. Dies sind die elektromagnetischen Wellen im Bereich von etwa 380-780 Nanometer (nm) Wellenlänge. Die Farbwirkung entsteht durch die Absorption einzelner Wellenlängen durch z.B. einen Gegenstand. Erscheint dieser Gegenstand rot, so absorbiert er alle Wellen im Wellenlängenbereich von grün und blau und es entsteht der rote Farbeindruck für das menschliche Auge. Lichtquellen Es existieren verschiedene Lichtquellen, deren Eigenarten beachtet werden müssen. Ambiente Lichtquellen, deren Ursprung und Richtung nicht definiert ist und die einen gleichmäßigen Lichteinfall von allen Seiten zufolge haben. Gerichtete Lichtquellen, die eine definierte Richtung, parallele Lichtstrahlen und konstante Einfallswinkel haben Punktlichtquellen, die ihr Licht gleichmäßig in alle Richtungen emittieren und deren Lichtintensität auch entfernungsabhängig sein kann. Spotlichtquellen (erweiterte Punktlichtquellen), deren Lichtemission nur innerhalb eines Lichtkegels stattfindet. Flächenlichtquellen, die eine konstante Emissionsdichte über eine Fläche haben und die Lichtemission in Richtung des Normalenvektors erfolgt. Lokale Beleuchtung Unter lokaler Beleuchtung versteht man die Lichtverhältnisse in einem Punkt einer Szene. Die Intensität bzw. Farbe eines Objektpunkts ist nur vom direkten Lichteinfall abhängig. Hierbei sind die folgenden Arten interessant. Seite 1 von 5 Ambientes Licht Beim ambienten Licht kommt das Licht nicht von einer definierten Quelle, sondern aus allen Richtungen. Es handelt sich also um ein gleichmäßiges Hintergrundlicht, das alle Objekte einer Szene beleuchtet. Alle sichtbaren Flächen werden mit der gleichen Lichtintensität beleuchtet, was zufolge hat, dass die Szene nicht realistisch und alle Objekte nur zweidimensional erscheinen. Die Intensität einer Fläche „i“ errechnet sich aus dem Kreuzprodukt der ambienten Lichtintensität und des materialabhängigen Reflexionskoeffizienten. Vai : I a R i Reflexion Die Farbe eines Gegenstandes entsteht durch die Kombination von Absorption und Reflexion des einfallenden Lichts. Die Reflexion ist durch die Rauhigkeit der Oberfläche bestimmt. Gesetz von Lambert Die Lichtintensität einer Fläche „i“ ist proportional zum Kosinus des Einfallswinkels. Der Kosinus ist durch das Skalarprodukt von „l“ und „n“ definiert, wobei „l“ der normierte Lichteinfallsvektor und „n“ der Normalenvektor der Fläche „i“ ist. Dieses Skalarprodukt berücksichtigt dabei die Abhängigkeit der Intensität bei Punktquellen vom Einfallswinkel des Lichts. cos l ,n Diffuse Reflexion Bei der diffusen Reflexion wird ein einfallender Strahl gleichmäßig in alle Richtungen gestreut. Neben dem ambienten Licht berücksichtigt man dabei nun noch zusätzlich eine oder mehrere punktförmige Lichtquellen. Diese Lichtquellen sind idealisiert auf einen Punkt reduziert (Bsp.: Sonne) und senden gerichtete Lichtstrahlen aus. Ihre Eigenschaften kann man nun nutzen um die Intensität eines Punktes auf einer Fläche von der Position und der Orientierung der Fläche in Bezug auf die Lichtquelle abhängen zu lassen. Die Intensität eines Punktes, die aus der Punktquelle P j (Licht) resultiert, errechnet sich aus dem Kreuzprodukt der Intensität der Lichtquelle und dem Reflexionskoeffizienten der Fläche und dem Faktor des Skalarprodukts aus „l“ und „n“. V ji : I j R i l j , n Für die Intensität einer Fläche „i“ unter zusätzlicher Berücksichtigung des ambienten Lichts als auch von „m“ punktförmigen Lichtquellen ergibt sich folgende Berechnungsformel („C“ ist die Entfernungskomponente). m m j 1 j 1 V i : Vai V ji I a R i I j R i l j , n C ji Spiegelnde Reflexion Bei der spiegelnden Reflexion liegt die Erkenntnis zugrunde, dass Licht, das auf eine glatte bzw. glänzende Oberfläche trifft, nicht diffus in alle Richtungen, sondern hauptsächlich in eine bestimmte Richtung geworfen wird. Hierbei ist sowohl der Winkel des einfallenden Lichts als auch der Standpunkt des Betrachters von Seite 2 von 5 Bedeutung, da sich die Richtung, in die das Licht bei perfekter Spiegelung reflektiert wird aus der Beziehung „Ausfallswinkel = Einfallswinkel“ ergibt. Das Modell von Phong Das Beleuchtungsmodell von Phong Bui-Tong ist einfach und weit verbreitet. Es ist ein rein empirisch/heuristisches Modell, hat also keine physikalische Grundlage. Dieses Modell geht von der Erkenntnis aus, dass die spiegelnde Reflexion dann am stärksten ist, wenn der perfekt reflektierte Strahl genau ins Auge des Betrachters trifft. Zur Berechnung der Intensität eines Punktes werden hier der materialabhängige Spiegelreflexionskoeffizient R Si und der Spiegelreflexionsexponent k eingeführt. Für die Intensität eines Punktes einer Fläche „i“ bei einer punktförmigen Lichtquelle P j und spiegelnder Reflexion ergibt sich folgende Berechnungsformel. V j,ir : I j RSi r j , a C ji k Die spiegelnde Reflexion hängt sehr vom Spiegelreflexionsexponent k ab. Für ein kleines k entsteht eine Spiegelung für einen relativ großen Sichtbereich. Bei einem großen k, muss der Betrachter schon fast in Winkel des reflektierten Strahls stehen um die Spiegelung sehen zu können. Transparenz Lichtstrahlen können nicht nur diffus oder spiegelnd reflektiert, bzw. absorbiert, sondern von manchen Materialien auch durchgelassen werden. Dabei muss man zwei Arten von Materialien berücksichtigen. Zum einen durchsichtige (transparente) Materialien, zum anderen lichtdurchlässige (translucente) Materialien. Durch erstere können Gegenstände trotz eventueller Brechung klar gesehen werden (z.B. durch Glas). Letztere lassen zwar Licht durch, machen ein Erkennen von Gegenständen aber unmöglich (z.B. Milchglas). Wir gehen hier kurz auf die transparenten Objekte ein. Geht Licht von einem Material/Medium in ein anderes über so ändert sich seine Geschwindigkeit. Je optisch dichter ein Material/Medium ist, desto langsamer breitet sich das Licht darin aus. Daher werden Lichtstrahlen am Übergang zwischen den Materialien/Medien gebrochen, und zwar umso stärker, je flacher sie auftreffen. Einfache Modelle zur Realisierung von Transparenz ignorieren die Brechung des Lichts. Es gibt dafür verschiedene Ansätze, von denen zwei im Folgenden erläutert werden (man geht hier immer von einem transparenten Polygon (1), das ein nicht transparentes Polygon (2) verdeckt aus). Interpolierte Transparenz: Man berechnet die interpolierte Intensität I P indem man die Intensitätswerte des betroffenen Pixels in Polygon 1 und 2 mit 1 k t bzw. k t multipliziert und anschließend addiert. k t ist hierbei der Transmissionskoeffizient, der angibt wie durchsichtig das Material von Polygon 1 ist (für k=1: völlig durchsichtig, für k=0: lichtundurchlässig) I p : 1 k t I 1 k t I 2 Seite 3 von 5 Gefilterte Transparenz: Polygon 1 kann hier als Filter wirken und Licht bestimmter Wellenlängen bevorzugt durchlassen. Der Transmissionskoeffizient k t hängt hier von der Wellenlänge ab. Dadurch können z.B. Objekte, wie farbiges Glas modelliert werden. I p , : 1 k t I 1 k t I 2 Soll die Brechung des Lichts mitmodelliert werden, ist zu berücksichtigen, dass ein Lichtstrahl beim Übergang von einem Medium mit Brechungsindex 1 in ein anderes mit Brechungsindex 2 gebrochen wird und sich somit seine Richtung ändert. Der Ausfallswinkel kann hier mit Hilfe des Snelliusschen Gesetzes aus dem Einfallswinkel und den Brechungsindizes der beiden Materialien berechnet werden. sin 1 sin 2 Außerdem muss auch der Effekt der totalen inneren Reflexion berücksichtigt werden, der beim Übergang vom optisch dickeren ins optisch dünnere auftreten kann. Hierbei kann sich dasselbe Verhalten wie bei lichtundurchlässigen Materialien ergeben. Globale Beleuchtung Bei den lokalen Beleuchtungsmodellen wurden bis jetzt nur die Lichtverhältnisse an einem bestimmten Punkt der Szene berücksichtigt. Für die Erzeugung möglichst realistischer Bilder ist aber auch die Modellierung der globalen Beleuchtung, also der Licht-Wechsel-Wirkungen aller Objekte einer Szene miteinander vonnöten. Es gibt zwei etablierte Verfahren in der globalen Beleuchtung. Ray-Tracing (=“Strahlverfolgung“) Bei diesem Verfahren wird die Ausbreitung von Lichtstrahlen simuliert, wobei das Licht als eine Gruppe von Strahlen verstanden wird. Dieses Verfahren kann spiegelnde Reflexion perfekt wiedergeben, diffuse Beleuchtung bzw. ambientes Licht dagegen überhaupt nicht. Die resultierenden Bilder wirken synthetisch und zu perfekt. Radiosity Radiosity beruht auf dem Engergieerhaltungssatz: alles Licht, das eine Fläche empfängt und nicht absorbiert, muss sie wieder reflektieren. Außerdem kann eine Fläche auch selbstleuchtend sein. Dieses Verfahren, quasi das „Gegenstück“ zum Ray-Tracing, gibt die diffuse Beleuchtung perfekt wieder, spiegelnde Reflexionen sind allerdings nicht möglich. Die resultierenden Bilder wirken schon natürlicher, aber immer noch nicht realistisch, weil Glanz- und Spiegeleffekte fehlen. Um diese Probleme der globalen Beleuchtung zu lösen wurden zahlreiche Ansätze zur Kombination der beiden Verfahren entwickelt. Seite 4 von 5 Quellen Bungartz/Griebel/Zenger: Einführung in die Computergrafik (Vieweg Verlag 2002) http://www.informatik.fh-muenchen.de/~schieder/opengl-ss99/05-pieningbeleuchtung/index.html http://www.informatik.uniaugsburg.de/lehrstuehle/dbis/pmi/lectures/ss05/graphikprogrammierung/script/ http://www-gs.informatik.tu-cottbus.de/~wwwgs/cg3_home.htm http://de.wikipedia.org/wiki/Kategorie:Computergrafik http://www.vrvis.at/vr/cgr4/slides/ (Alle Stand vom 29.10.2005) Seite 5 von 5