Computergraphik Grundlagen

Ähnliche Dokumente
Graphische Datenverarbeitung und Bildverarbeitung

Beleuchtung. Matthias Nieuwenhuisen

Lokale Beleuchtungsmodelle

3D-Computergrafik und animation. Shading und globale Beleuchtungsverfahren, Animationstechniken

Rendering: Lighting and Shading

4.3 Beleuchtung und Schattierung

CGR I Beleuchtung und Schattierung

Computergrafik 1 Beleuchtung

Rendering. (illumination/shading) Beleuchtungsmodelle. Schattierung von Polygonen. Lokale Beleuchtungsmodelle

BlendaX Grundlagen der Computergrafik

3.3 Beleuchtung und Schattierung

4.7 Globale Beleuchtungsmodelle

Graphische Datenverarbeitung und Bildverarbeitung

Beleuchtung. in Computerspielen

Beleuchtungsmodelle und Shading

Teil 7: Beleuchtung Beleuchtungsmodelle, Schattierungsmodelle

"rendern" = ein abstraktes geometrisches Modell sichtbar machen

Graphische Datenverarbeitung und Bildverarbeitung

Beleuchtung Schattierung Rasterung

Lokale Beleuchtungsmodelle

Wima-Praktikum 2: Bildsynthese-Phong

Lichtquellen und Beleuchtung

Computergrafik 2010 Oliver Vornberger. Kapitel 18: Beleuchtung

Programmierpraktikum 3D Computer Grafik

Computergrafik Universität Osnabrück, Henning Wenke,

Graphische Datenverarbeitung Visualisierungstechniken. Prof. Dr. Elke Hergenröther

Übungsstunde 7 zu Computergrafik 1

4.4 Glättung von Kanten

Licht und Schatten Visualieren mit dem PC. Andreas Asperl

Beleuchtungsmodelle. Realistische Bilder. Ausgedehnte Lichtquellen color bleeding. spiegelnde Reflexion. komplexe Oberflächen.

Schattierung und Beleuchtung

Computergraphik Grundlagen

Raytracing Modell Laufzeitoptimierungen Schnittalgorithmen Szenendatenstrukturen. Verbesserung der Bildqualität

Probelektion zum Thema. Shadow Rendering. Shadow Maps Shadow Filtering

2.10 Lichtquellen und Beleuchtung

2.10 Lichtquellen und Beleuchtung

(7) Normal Mapping. Vorlesung Computergraphik II S. Müller. Dank an Stefan Rilling U N I V E R S I T Ä T KOBLENZ LANDAU

Teil 7: Beleuchtung. Einleitung. Einleitung. Beleuchtungsmodelle, Schattierungsmodelle

Computergraphik Grundlagen

3. Erklären Sie drei Eigenschaften der bidirektionalen Reflektivität (BRDF).

Computer-Graphik 1. Lighting & Shading. G. Zachmann University of Bremen, Germany cgvr.cs.uni-bremen.de

CAUSTICS & GODRAYS. Jacob Skuratovski

Die Welt der Shader. Fortgeschrittene Techniken III

Beleuchtung Schattierung Rasterung

Computer Graphik I Beleuchtung

Rendering. Rendern (Umsetzung oder Übertragung) Ursprüngliche Rendergleichung

Strahlungsaustausch zwischen Oberflächen BRDF Ideal diffuse Reflektion Ideal spiegelnde Reflektion Totalreflexion Gerichtet diffuse Reflektion

Graphische Datenverarbeitung

Reflexion. - Wie groß muss ein Spiegel mindestens sein, damit eine Person der Größe G sich darin komplett sehen kann? Ergebnisse:

Längenbeziehungen bei der Lochkamera

Rendering: Lighting & Shading

Michael Bender Martin Brill. Computergrafik. Ein anwendungsorientiertes Lehrbuch. 2., überarbeitete Auflage HANSER

3D Programmierpraktikum: Geometrische Transformationen, Materialien und Beleuchtung

Computergrafik. Michael Bender, Manfred Brill. Ein anwendungsorientiertes Lehrbuch ISBN Inhaltsverzeichnis

Echtzeit Videoverarbeitung

Kapitel 4: Schattenberechnung

Christina Nell. 3D-Computergrafik

Geometrische Optik Reflexion. Prof. Dr. Taoufik Nouri

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Eine Einführung in die Möglichkeiten von POV-Ray. Die wichtigsten Konzepte in einigen Folien

Computergrafik Universität Osnabrück, Henning Wenke,

Raytracing. Tobias Pfeiffer. 29. November Freie Universität Berlin Fachbereich Mathematik und Informatik

Teil 8: Ray Tracing. Ray Tracing Einleitung. Beleuchtung, inkl. Schatten, Reflexionen

Beleuchtungsverfahren. 1. Vorbemerkungen. 2. Klassifizierung. 3. Beleuchtungsmodelle. 4. Beleuchtungsalgorithmen

Ray Tracing. 2. Ray Tracing-Prinzip und -Algorithmen. 3. Schnittpunkt- und Normalenberechnung

Abb. 5-5 Gegenüberstellung von Flat-Shading und Gouraud-Shading. Beleuchtungsberechnung mit nur einer Flächennormale pro Polygon

Global Illumination: Raytracing. Die drei Reflexionstypen. ideal diffus (Lambertian) ideal reflektierend. richtungsabhängig diffus (Phong)

1.6 Objekte Anordnung der Projektionsgeräte. ˆ Einzelsystem ˆ Rundumprojektion ˆ Kaskadierte Projektion Art der Projektion

Lösen der Matrizengleichung

Computer-Graphik 1 Lighting & Shading

3D - Modellierung. Arne Theß. Proseminar Computergraphik TU Dresden

3 Brechung und Totalreflexion

Computergraphik. Visual Computing (VCM)

die Planung eindrucksvoll präsentieren

Physik für Mediziner im 1. Fachsemester

Visualisierung und Volumenrendering 2

3D Rendering mit PHP. Die neue PEAR-Klasse Image_3D bietet die Möglichkeit nur mit PHP5 3DGrafiken zu rendern

Aus Zahlen werden Bilder. Jan Tobias Mühlberg

Physik 3 exp. Teil. 30. Optische Reflexion, Brechung und Polarisation

Optik: Teilgebiet der Physik, das sich mit der Untersuchung des Lichtes beschäftigt

Computergrafik. Ein anwendungsorientiertes Lehrbuch. Bearbeitet von Michael Bender, Manfred Brill

Kapitel 1. Globale Beleuchtung. 1.1 Ray Tracing Schatten, Reflexion und Brechung

Transkript:

Computergraphik Grundlagen VIII. Beleuchtung und Shading Prof. Stefan Schlechtweg Hochschule Anhalt Fachbereich Informatik

Inhalt Lernziele 1. Beleuchtungsmodelle 2. Lichtquellen Punktförmige und flächenhafte Lichtquellen Weitere Aspekte 3. Interaktion Licht Oberflächen Gerichtete Reflexion Diffuse Reflexion Lichtbrechung Weitere Effekte 4. Beleuchtungsmodell nach Phong Ambiente Beleuchtung Diffuse Reflexion Spekulare Reflexion 5. Shading polygonaler 3D-Modelle Flat-Shading Gouraud-Shading Phong-Shading 6. Spezifikation von Lichtquellen und Beleuchtungsmodellen in OpenGL 7. Globale Beleuchtungsmodelle Raytracing Radiosity Die Rendering-Gleichung 8. Zusammenfassung Zusammenhänge bei der Interaktion von Licht mit Objektoberflächen kennenlernen Modellierung dieser Interaktion in der Computergraphik verstehen Phong-Modell als am weitesten verbreitetes Beleuchtungsmodell kennen Shading-Verfahren und ihre Unterschiede kennen Beleuchtung in OpenGL unsetzen können Globale Beleuchtungsmodelle einordnen können 2

Lokale Koordinaten Modellierung der Geometrie einzelner Objekte lokal Welt Plazierung der Objekte Weltkoordinaten Plazierung der Lichtquellen Plazierung der Kamera Beleuchtungsberechnung Transformation in Kamerakoordinaten Kamerakoordinaten Entfernen verdeckter Rückseiten Viewing-Transformation Normalisierte Projektionskoordinaten Clipping gegen Sichtkörper Entfernen verdeckter Modellteile Projektion (Normalisierte) Bildschirmkoordinaten Rastertransformation Rasterung Rasterkoordinaten Shading Entfernen verdeckter Modellteile 3

1. Beleuchtungsmodelle Physikalische Effekte Oberflächen senden Licht aus oder reflektieren es (oder beides). Teile des Lichtes werden absorbiert; andere Teile (ungerichtet) gestreut. Lichtintensität und Farbe an einem Punkt der Szene hängt von seiner Lage zu den Lichtquellen ab. Licht wird oft mehrfach reflektiert/gebrochen und an einem Punkt addiert sich die Lichtintensität, die auf verschiedenen (langen) Wegen an diesem Punkt angekommen ist. Mathematische Beschreibung führt zu einer Integralgleichung der Renderinggleichung. Diese ist i.a. nicht lösbar. CG: Annäherungen, die nur bestimmte Arten von Lichtquellen und Oberflächentypen berücksichtigt. 4

1. Beleuchtungsmodelle Beleuchtungsmodelle beschreiben die Faktoren, die die Farbe eines Objektes an einem bestimmten Punkt bestimmen Globale Beleuchtungsberechnung Einbeziehung aller Objekte einer Szene, um die Farbe an einem Punkt zu bestimmen, Interaktion Lichtquelle-Objekt und auch Interaktion Objekt-Objekt, oft physikalisch basiert (Erhaltungssätze) Methoden: Raytracing, Radiosity Lokale Beleuchtungsberechnung Einschränkung: nur Interaktion Lichtquelle mit einem Objekt, integriert in das Pipeline-Konzept der Graphikhardware, oft heuristisch, approximierend einfacher als globale Beleuchtungsberechnung Methoden: Beleuchtungsmodell nach Phong und polygonales Shading 5

1. Beleuchtungsmodelle Ziel: Wechselwirkungen zwischen Licht und Oberflächen beschreiben, um Beleuchtungseffekte in das Rendering zu integrieren. Auftretende Effekte (Bild rechts): Lichtstrahlen werden (gerichtet) reflektiert. Lichtstrahlen werden gebrochen. In Teilen der Szene ist der Weg zur Lichtquelle blockiert. Sie liegen im Schatten. Quelle: Angel (2000) 6

2. Lichtquellen unterschiedliche Charakteristika durch verschiedene Modelle Berechnung der einfallenden Lichtintensität/-farbe in Abhängigkeit von Entfernung und Einfallswinkel 7

2. Lichtquellen Punktlichtquelle: keine Ausdehnung, sendet Licht in alle Richtungen, spezifiziert durch 3D-Koordinaten (Position) Gerichtetes Licht: parallele Lichtstrahlen (~ einer unendlich weit entfernten Lichtquelle). Effekt wie z.b. Sonnenstrahlen auf der Erde, spezifiziert durch 3D-Vektor (Richtung) Spotlicht: Punktlichtquelle, die nur in einem bestimmten Öffnungswinkel Licht sendet. Lichtintensität sinkt zu den Rändern des Sichtkegels, spezifiziert durch 3D-Koordinate (Position), 3D-Vektor (Richtung) Öffnungswinkel, Maß für das Abfallen der Intensität. 8

2. Lichtquellen 2.1. Punktförmige und flächenhafte Lichtquellen Punktförmige Lichtquellen erzeugen harte Kontraste. Objekte sind entweder im Schatten oder im Licht; keine weichen Übergänge. Flächenhafte Lichtquellen führen zu weicheren Übergängen. Objekte können in einem Halbschatten sein. In der CG werden sie durch mehrere punktförmige Lichtquellen angenähert. Quelle: Angel (2000) 9

2. Lichtquellen 2.2. Weiter Aspekte Abschwächung (attenuation) Intensität des Lichtes wird mit wachsender Entfernung zur Lichtquelle kleiner (physikalisch: I ~ 1/d²) In der CG hat sich eine geringere Abschwächung (I ~ 1/(a+bd+cd²)) als günstig erwiesen. a, b und c müssen geeignet gewählt werden. Oft: a=0, b =1, c=0) OpenGL: GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION Farbe Lichtquellen haben eine Farbe. Diese wird als RGB-Tripel angegeben. Verhalten der Lichtstrahlen hängt von der Wellenlänge ab. Annäherung: betrachten nur R-, G- und B-Anteile. 10

3. Interaktion Licht Oberflächen Einfallswinkel : Winkel zwischen L und N (bestimmt die diffuse Reflexion) Reflexionswinkel r: Winkel zwischen R und N. L θ N R V Winkel Φ zwischen V und R bestimmt Intensität des reflektierten Lichtes. L-Vektor zur Lichtquelle N-Oberflächennormale R-Reflektierter Lichtstrahl V-Vektor zum Betrachter Wenn V = R (bzw. Φ =0) wird das Licht maximal zum Betrachter reflektiert. 11

3. Interaktion Licht Oberflächen Gerichtete Reflexion: Licht wird nur für kleine Winkel Φ reflektiert. Stärkste Reflexion für Φ=0 Bei einem perfekten Spiegel tritt nur gerichtete Reflexion auf und nur für Φ = 0. Diffuse Reflexion: Licht wird in alle Richtungen reflektiert (Intensität hängt nur von und nicht von der Position des Betrachters ab). Tritt bei sehr rauhen bzw. matten Materialien auf. Beispiel: Kreide. Perfekt diffuse Reflexion: Licht wird gleich stark in alle Richtungen reflektiert. Brechung: Licht wird an transparenten Oberflächen gebrochen. Richtung des gebrochenen Strahls ergibt sich aus Brechzahl und dem Brechungsgesetz. 12

3. Interaktion Licht Oberflächen 3.1. Gerichtete Reflexion Gerichtete Reflexion (physikalisch): Ausmaß des reflektierten Lichtes hängt auch von der Einfallsrichtung ab und von der Wellenlänge ab. Lichtintensität in der Realität nicht symmetrisch um ein Glanzlicht verteilt. Vor allem Metalle haben anisotropes Verhalten: Nicht nur der Einfallswinkel sondern auch die Einfallsrichtung bestimmt das Reflexionsverhalten. deutlich komplexeres Verhalten als in der computergraphischen Annäherung 13

3. Interaktion Licht Oberflächen 3.1. Gerichtete Reflexion Abschwächung der Reflexion in Abhängigkeit vom Winkel zwischen V(iewer) und R als Glanzparameter: shininess. Ähnlich wie bei dem Abfall der Lichtintensität in einem Spotlicht, wird eine Cosinusfunktion verwendet, um Intensitätsabschwä-chung zu beschreiben. Der Glanzparameter ist Exponent in der Cosinusfunktion I ~ cos (Φ) e. Auch Spiegelexponent genannt. Für Metalle: 100 e=2 e=1 Lichtintensität in Abhängigkeit von Φ für verschiedene Werte von e e=5 Quelle: Angel (2000) 14

3. Interaktion Licht Oberflächen 3.2. Diffuse Reflexion Intensität ist abhängig vom Winkel θ zwischen einfallendem Licht (L) und Oberflächennormale (N) Abhängigkeit wird nach Lambert s Gesetz durch cosinus-funktion beschrieben. Bei normalisierten Vektoren L und N gilt: cos θ = L * N n θ Licht gleicher Intensität verteilt sich auf eine breitere Fläche (rechts) wegen des kleineren Einfallswinkels. Quelle: Angel (2000) Eigenschaften: θ = 0 Intensität maximal (entspricht Sonne im Zenit) θ = 90 Intensität 0 (entspricht Sonnenaufgang) 15

3. Interaktion Licht Oberflächen 3.3. Lichtbrechung Auch Lichtbrechung erfolgt nicht komplett in eine Richtung sondern in einem bestimmten Bereich um den Winkel der perfekten Brechung. Grenzwinkel der Totalreflexion beim Übergang von dichterem in dünneres Medium beachten. Wenn Winkel zwischen l und n diesen Grenzwinkel überschreitet, wird das Licht komplett reflektiert. Quelle: Angel (2003) 16

3. Interaktion Licht Oberflächen 3.3. Lichtbrechung Quelle: Angel (2000) Lichtbrechung nach dem Brechungsgesetz Quelle: Bender/Brill (2003) Lichtbrechung beim Durchgang durch ein Medium (zweifache Brechung und Parallelverschiebung) 17

3. Interaktion Licht Oberflächen 3.4. Weitere Effekte Quelle: Angel (2000) Quelle: Bender/Brill (2003) Diffuse Reflexion durch unterschiedliche Oberflächennormalen im mikroskopischen Bereich Typische Reflexionsverteilung als Kombination aus diffuser und gerichteter Reflexion 18

4. Beleuchtungsmodell nach Phong In der CG am häufigsten verwendetes Modell Modelliert Beleuchtung aus drei Anteilen: I phong = I a + I d + I s Ambienter Anteil Grundhelligkeit in der Szene Simuliert Streuung des Lichtes durch Oberflächen (indirekte Beleuchtung) Unabhängig von Betrachterstandpunkt und vom einfallendem Licht Diffuser Anteil Reflexion an matten Oberflächen Gleichmäßig in alle Richtungen Unabhängig vom Betrachterstandpunkt Spekularer Anteil Gerichtete Reflexion an spiegelnden Oberflächen Abhängig vom Betrachterstandpunkt Erzeugt Glanzpunkte 19

4. Beleuchtungsmodell nach Phong 4.1. Ambiente Beleuchtung In der Realität kommt durch vielfältige Licht-Oberflächen- Interaktionen in einem beleuchteten Raum praktisch überall ein gewisses Maß an Licht an. Oft ist eine gleichmäßige Beleuchtung auch das Ziel bei der Gestaltung von Räumen (z.b. Klassen- und Seminarräume). In der CG würde es durch die stark vereinfachte Nachbildung der Beleuchtungsvorgänge dazu kommen, dass Teile der Szene komplett dunkel werden. Daher: Annahme einer Grundhelligkeit (etwa 10-15% der maximalen Helligkeit). Bewirkt mit geringem Aufwand das, was sonst nur durch Einfügen vieler Lichtquellen erreichbar wäre. Problem: Farbe des ambienten Lichtes (müsste prinzipiell von allen Objekten in der Szene abhängen) 20

4. Beleuchtungsmodell nach Phong 4.1. Ambiente Beleuchtung einfachstes Beleuchtungsmodell jedes Objekt strahlt selber eine gewisse Lichtmenge aus keine zusätzlichen Lichtquellen benötigt keine Relation zu physikalischen Vorgängen aber: benötigt als Teil in komplexeren Modellen Simulation des durch fortgesetzte Reflexion auf ein Objekt einfallenden Lichtes 21

4. Beleuchtungsmodell nach Phong 4.2. Diffuse Reflexion Reflexion des Lichtes an matten Oberflächen Licht wird in alle Richtungen gleichmäßig reflektiert Gesetz von Lambert: Stärke der Reflexion hängt von Einfallswinkel ab, aber nicht vom Betrachterstandort 22

4. Beleuchtungsmodell nach Phong 4.3. Spekulare Reflexion Licht wird nicht mehr gleichmäßig reflektiert, sondern in eine Vorzugsrichtung (Reflexionsgesetz) highlights in der Lichtfarbe abhängig vom Betrachterstandpunkt Streuung der Reflexion um die Vorzugsrichtung modelliert 23

4. Beleuchtungsmodell nach Phong k a +k d + k s = 1 I Phong = L a k a +1/(a+bd+cd²) (L i k d (L N) Ambienter Term modelliert Licht, dass von anderen Oberflächen gestreut wird + L i k s (R V) e ) L θ N R V Entfernungsabhängige Abschwächung für gerichtete und diffuse Reflexion Beleuchtungsgleichung muss für jede Lichtquelle (ggf. modifiziert bei Spotlichtern) und jede der 3 Grundfarben ausgewertet werden. Diffuser Term modelliert Reflexion an matten Oberflächen Spekularer Term modelliert Reflexion an spiegelnden Oberflächen. 24

4. Beleuchtungsmodell nach Phong Übergänge zwischen spiegelnder und diffuser Reflexion: Quelle: Angel (2000) 3D-Darstellung der Reflexion als Beleuchtungskörper Links: unvollkommen spiegelnde Reflexion Rechts: perfekt diffuse Reflexion Quelle: Bender/Brill (2003) 25

4. Beleuchtungsmodell nach Phong Beleuchtungskörper für das Phongmodell bei verschiedenen Einfallswinkeln (θ=10, 45, 70 ) Von links nach rechts reduziert sich der Einfluss der gerichteten Reflexion. Der Anteil der spiegelnden Reflexion bleibt gleich. Quelle: Bender/Brill [2003] 26

4. Beleuchtungsmodell nach Phong Beleuchtungskörper für das Phongmodell bei verschiedenen Glanzparametern (2, 20, 100) bei Einfallswinkel θ=45 Quelle: Bender/Brill [2003] 27

5. Shading polygonaler 3D-Modelle Ziel: Zuordnung von Farben zu den Pixeln Betrachten polygonale 3D-Modelle. Verfahren unterscheiden sich darin, an welchen Stellen das Beleuchtungsmodell ausgewertet wird. Einfache Techniken: interpolative Shading-Verfahren Über das Beleuchtungsmodell werden Farbwerte an den Eckpunkten berechnet. Farbwerte aller Punkte eines Polygons ergeben sich durch lineare Interpolation der Farbwerte an den Eckpunkten. Drei Verfahren Flat-Shading Gouraud-Shading Phong-Shading (Unterschied zu Phong-Modell!!) 28

5. Shading polygonaler 3D-Modelle 5.1. Flat-Shading Keine Interpolation Bestimme einen Farbwert pro Polygon Variante 1: Mittelwert aus den Farbwerten an den Eckpunkten Variante 2: durch Auswahl eines Punktes und Berechnen der Farbe dort Setze alle Pixel des Polygons auf diese Farbe Einzelne Polygone deutlich sichtbar Einfache Implementierung, sehr schnell, aber geringe Qualität 29

5. Shading polygonaler 3D-Modelle 5.1. Flat-Shading Warum sind die Diskontinuitäten (math. Unstetigkeiten) an den Kanten so auffällig und störend? Visuelle Wahrnehmung: Kontraste werden verstärkt wahrgenommen. Wahrgenommene Helligkeitsunterschiede sind stärker als die (physikalischen) Intensitätsunterschiede. Machbandeffekt Quelle: Angel (2000) 30

5. Shading polygonaler 3D-Modelle 5.2. Gouraud-Shading Berechne Helligkeitswerte an den Eckpunkten des Polygons und interpoliere diese Helligkeitswerte über die Fläche des Polygons Aufwändiger als Flat-Shading, aber qualitativ besser. Kanten zwischen Polygonen nicht mehr sichtbar. Problem: Glanzpunkt in der Mitte eines Polygons. Implementierung: In Hardware. 31

5. Shading polygonaler 3D-Modelle 5.2. Gouraud-Shading Schwierigkeit: glatte Übergänge an den Rändern von Polygonen. An einem Eckpunkt treffen oft 4 oder 6 Polygone mit unterschiedlichen Normalen aufeinander. Als Normale des Eckpunktes wird der gewichtete Durchschnitt angesehen: Voraussetzung: Datenstruktur, die die Zugehörigkeit von Eckpunkten repräsentiert. Bsp: Liste von Eckpunkten, bei der jeder Eckpunkt einen Pointer auf die dort zusammentreffenden Polygone enthält. 32

5. Shading polygonaler 3D-Modelle 5.3. Phong-Shading Interpoliere die Normalenvektoren der Eckpunkte des Polygons über die Fläche des Polygons und berechne an jedem Punkt (Pixel) im Inneren des Polygons einen Farbwert aus der interpolierten Normalen Wesentlich aufwändiger als Gouraud-Shading, liefert aber die besten Ergebnisse Glanzpunkte im Inneren eines Polygons werden korrekt dargestellt Aber: auch einige Fälle, die nicht dargestellt werden können 33

5. Shading polygonaler 3D-Modelle 5.4. Vergleich Flat-Shading Gouraud-Shading Phong-Shading 34

5. Shading polygonaler 3D-Modelle 5.4. Vergleich Flat-Shading Gouraud-Shading Phong-Shading N I 2 N 2 I 2 N 2 N 3 N 3 I N 1 N 1 I 3 I 3 Ein Helligkeitswert für das gesamte Polygon. Anwendung: Entwurfsansichten in CAD- und Modellierungsprogrammen. I 1 Bestimme Helligkeit an den Eckpunkten. Interpoliere im Inneren. I 1 Bestimme Normalen an den Eckpunkten und interpoliere sie im Inneren. Bestimme Helligkeit mit Hilfe der interpolierten Normalen. 35

6. Realisierung in OpenGL Was ist zu tun? 1. Spezifikation von Lichtquellen gllightf 2. Spezifikation von Materialeigenschaften glmaterial 3. Bestimmung von Oberflächennormalen glnormal 4. Festlegen eines Shading-Modelles glshademodel glshademodel( GL_CONSTANT); // Flatshading glshademodel( GL_SMOOTH); // Gouraud-Shading 36

6. Realisierung in OpenGL Spezifikation von Lichtquellen: glenable (GL_LIGHTING); glenable (GL_LIGHT0); GLfloat light0_pos [] = {1.0, 2.0, 1.0, 1.0}; GLfloat ambient0 [] = GLfloat diff0 GLfloat spec0 ; gllightfv (GL_LIGHT0, GL_POSITION, light0_pos); gllightfv (GL_LIGHT0, GL_AMBIENT, ambient0); gllightfv (GL_LIGHT0, GL_DIFFUSE, diff0); gllightfv (GL_LIGHT0, GL_SPECULAR, spec0); gllightmodelfv (GL_LIGHT_MODEL_AMBIENT, global_ambient); 37

6. Realisierung in OpenGL Spezifikation von Materialeigenschaften: GLfloat ambient[] = {0.2, 0.2, 0.2, 1.0}; GLfloat diffuse[] = {1.0, 0.8, 0.0, 1.0}; GLfloat specular[]= {1.0, 1.0, 1.0, 1.0}; // Für Lichtquellen GLfloat emission[]= {0.0, 0.6, 0.6, 1.0}; glmaterialfv (GL_FRONT_AND_BACK, GL_AMBIENT, ambient); glmaterialfv (GL_FRONT_AND_BACK, GL_DIFUSSE, diffuse); glmaterialfv (GL_FRONT_AND_BACK, GL_SPECULAR, specular); glmaterialfv (GL_FRONT_AND_BACK, GL_EMISSION, emission); glmaterialf (GL_FRONT_AND_BACK, GL_SHININESS, 100); Spezifikationen gelten für alle folgenden Oberflächen bis sie überschrieben werden. 38

6. Realisierung in OpenGL Phong-Parameter einiger Materialien (nach Bender/Brill [2003]) Material r ar, r ag, r ab r dr, r dg, r db r sr, r sg, r sb n Plastik 0.00, 0.00, 0.00 0.01, 0.01, 0.01 0.50, 0.50, 0.50 32 Messing 0.33, 0.22, 0.03 0.78, 0.57, 0.11 0.99, 0.94, 0.81 28 Bronze 0.21, 0.13, 0.05 0.71, 0.43, 0.18 0.39, 0.27, 0.17 26 Kupfer 0.19, 0.07, 0.02 0.70, 0.27, 0.08 0.26, 0.14, 0.09 13 Gold 0.25, 0.20, 0.07 0.75, 0.61, 0.23 0.63, 0.56, 0.37 51 Silber 0.19, 0.19, 0.19 0.51, 0.51, 0.51 0.51, 0.51, 0.51 51 39

6. Realisierung in OpenGL Aussehen der Materialien nach Darstellung mit OpenGL Quelle: Bender/Brill (2003) 40

Courtesy of Maic Masuch 41

Courtesy of Oliver Deussen. 42

Courtesy of Oliver Deussen. 43

7. Globale Beleuchtungsmodelle bisher: Helligkeit an einer Stelle eines Objektes war abhängig von dem direkt einfallenden Licht an dieser Stelle und den Materialeigenschaften lokale Beleuchtungsmodelle in der Realität aber wesentlich komplexere Interaktion zwischen Objektoberflächen und Licht indirekte Beleuchtung mehrfache Reflexion Brechung, Transmission Simulation durch Globale Beleuchtungsmodelle Raytracing Radiosity 44

7. Globale Beleuchtungsmodelle 7.1. Raytracing Ablauf: schicke einen Strahl vom Betrachterstandpunkt durch jedes Pixel der Bildebene bestimme den Schnittpunkt des Strahls mit einem Objekt der Szene bestimme an diesem Schnittpunkt den Beitrag des lokalen Beleuchtungsmodells (Phong) berechne Strahl in Reflexionsrichtung und evtl. in Brechungsrichtung Berechne den Beitrag von Reflexion und Brechung rekursiv durch Verfolgen dieser beiden Strahlen Beleuchtung am Schnittpunkt (und damit Farbe des Pixels) ergibt sich aus gewichteter Summe dieser drei Beiträge 45

7. Globale Beleuchtungsmodelle 7.1. Raytracing Prinzip: ein Strahl pro Pixel Reflexionsrichtung verfolgen, Strahlen zu den Lichtquellen Rekursion 46

7. Globale Beleuchtungsmodelle 7.1. Raytracing Vorteile Hidden Surface Removal bereits eingebaut Schattenberechnung bereits eingebaut exakte Simulation spekularer Reflexion Spiegelung Brechung Nachteile zeitaufwendig, insbesondere Schnittests (Welches Objekt wurde getroffen?) keine Modellierung diffuser oder gemischt diffuser/spekularer Reflexion 47

Alan Watt: 3D-Computergrafik http://freespace.virgin.net/hugo.elias/ 48

7. Globale Beleuchtungsmodelle 7.2. Radiosity Grundlage: Energieerhaltungssatz Finite Elemente Verfahren, daher Unterteilen der Szene in Elemente im Prinzip: Berechnung des Anteils an Licht, das ausgehend von einem Element ein anderes trifft nur diffuse Reflexion betrachtet Anteil des Lichts dann nur abhängig von Geometrie aufwendig zu berechnen Algorithmus starte mit den Elementen, die Licht aussenden (Lichtquellen) sende von diesen Licht in die Szene berechne für alle anderen Elemente ankommende Lichtmenge iteriere bis Energiegleichgewicht 49

7. Globale Beleuchtungsmodelle 7.2. Radiosity Vorteile exakte physikalische Simulation der Energieverteilung diffuse Reflexion weiche Schatten Berechnungen unabhängig vom Betrachterstandpunkt Nachteile nur diffuse Reflexion, Spekulare Effekte sehr aufwendig Präprozessing notwendig (Unterteilung der Szene) zeitaufwendig, insbesondere Sichtbarkeitsberechnung (Formfaktoren) 50

Alan Watt: 3D-Computergrafik M. Cohen, S. Chen, J. Wallace, D. Greenberg (1988): Progressive Refinement Approach to Fast Radiosity Image Generation. In Proceedings of SIGGRAPH 88, pp. 75-84 51

7. Globale Beleuchtungsmodelle 7.3. Die Rendering-Gleichung Zusammenfassung aller Beleuchtungsverfahren Die an einer Stelle x in eine Richtung ω ausgesandte Energie L (x, ω ) entspricht der Summe des Eigenleuchtens der Oberfläche an der Stelle x in die Richtung ω und der an dieser Stell reflektierten Energie. Die reflektierte Energie wird aus allen von anderen Stellen x aus allen Richtungen ω einfallenden Energien L(x, ω) berechnet, wobei diese jeweils mit der Sichtbarkeit der Stellen x und x zueinander (G(x,x )V(x,x )) und der Reflexionseigenschaft der Oberfläche f r (x) gewichtet werden. 52

8. Zusammenfassung Vorgestellte Shading-Verfahren sind nicht (korrekt) physikalisch basiert, aber erreichen akzeptable Ergebnisse in zumutbarer Zeit Qualität abhängig vom verwendeten Beleuchtungs-modell und vom Shading-Verfahren. Beleuchtungsberechnung muss in Weltkoordinaten erfolgen (ein Bezugssystem für alle Koordinaten) Vergleich globale/lokale Beleuchtungsmodelle Beleuchtungsmodelle und Shading müssen ergänzt werden, um realistische Materialien zu erhalten, denn Modellierung aufwändig Berechnung aufwändig Nachbildung der Physik oft nicht möglich eine Möglichkeit: Texture Mapping 53