Beleuchtung und Schattierung
- Licht ist eine zentrale Basis im Photorealismus
- Ziel: nicht unterscheidbar von echtem Photo
- Modellierung der Lichtausbreitung
- Lichtstrahlen zu nichtsichtbaren Szenenelementen
- indirekt sichtbares Licht über spiegelnde Oberflächen
- direkt reflektiertes Licht an Oberflächen
- indirekt im Raum transportiertes, gestreutes Licht
- nicht aus Kamerasicht sichtbare Lichtstrahlung
- tatsächliche Berechnung der Lichtstrahlen (Photonen-tracing) in Echtzeit nicht möglich
Schattierung:
- Einfärben der Oberflächen von Objekten mit Farben, deren Intensität über ein Beleuchtungsmodell bestimmt ist
- Berechnung oft durch Oberflächennormalen und Einfallswinkel
- Schattierung ist eng an den Rasterisierungsprozess gekoppelt und findet daher in der Rasterisierungsstufe der Rendering-Pipeline statt
- Meist genügen wenige Samples, um eine Oberfläche zu schattieren (z.B. durch Interpolation)
Hauptphänomene:
- Reflexion: Zurückwerfen von Licht
- Transmission: Durchlassen von Licht
- Absorption: Verschlucken von Licht
Weitere Phänomene:
- Diffraktion: Beugen der Lichtwellen
- Refraktion: Brechen der Lichtwellen an Grenzflächen zweier Medien
- Interferenz: Überlagerungserscheinung beim Zusammentreffen zweier und mehrerer Wellenzüge

Phong-Beleuchtungsmodell
Kombination aus Ambient (Grundfarbe), Diffuse und Specular

Beleuchtungsmodelle
Für Oberflächenpunkte wird approximativ berechnet, wieviel Energie von den Lichtquellen direkt oder indirekt eintrifft
Direkte Beleuchtung:
- Es wird nur die Beleuchtung durch Lichtquellen berücksichtigt, die auf direktem Wege (ohne Hindernisse oder Reflexion) ankommt
- Approximation der Lichteinwirkung durch Modellvereinfachung
- Entsprechende Ansätze werden lokale Beleuchtungsmodelle genannt
- z.B. Phong Illumination, Gooch Illumination
Indirekte Beleuchtung:
- Es werden direkte und indirekte Transportwege berücksichtigt, z.B. Licht, das über mehrere Objekte hinweg auf ein Objekt gestrahlt wird
- Komplexe Gleichungssysteme bzw. vielschichtige Lichtstrahlenverfolgung sind dazu notwendig
- Entsprechende Ansätze werden globale Beleuchtungsmodelle genannt
- z.B. Ray-Tracing, Photon-Mapping
Phong-Arbeitsweise
- Additive Berechnung der Intensität über drei Terme: ambient, diffuse, spelular
- Approximative Berechnung – experimentelle Bestätigung des Ansatzes
Input:
- Position in 3D-Objekt- bzw. 3D-Weltkoordinaten
- Normale der Reflexionsebene
- Materialkoeffizienten , die Reflexionseigenschaften charakterisieren | getrennt für ambiente, diffuse und spekulare Reflexion
- Virtuelle Lichtquellen mit Lichtrichtung
- Kamersichtrichtung
Ouput:
- Lichtintensität für ausgewählte Wellenlängen (z.B. )
Ambiente Reflexion
- Approximation der allgemeinen Raumhelligkeit
- : Globale, ambiente Intensitit, konstant für die Szene
- : Ambienter Reflexionskoeffizient, objektabhängig
Diffuse Reflexion
Modellierung des Streulichts an einer Oberfläche
- Modellannahme: eintreffendes Licht wird in alle Richtungen gleichmäßig abgegeben
- Lambertsches Gesetz: Lichtmenge reflektiert von einer Einheitsfläche zum Betrachter ist proportional zum Kosinus des Winkels zwischen der Einfallsrichtung des Lichtes und der Flächennormale
- Berechnung: Gewichtung der einfallenden Energie proportional zum Winkel zwischen “Lichtrichtung” (eigentlich Vektor von zur Lichtquelle, also inverse Lichtrichtung) und Oberflächennormale mit
- : diffuse Intensität der Lichtquelle
- : diffuser Reflexionskoeffizient, objektabhängig
- : Skalarprodukt von und (beide normalisiert)
- Berechnung: Gewichtung der einfallenden Energie proportional zum Winkel zwischen “Lichtrichtung” (eigentlich Vektor von zur Lichtquelle, also inverse Lichtrichtung) und Oberflächennormale mit

Spekulare (spiegelnde) Reflexion
Modelliert das Spiegellicht auf Oberflächen
- Modellannahme: eintreffendes Licht spiegelt sich an der Oberfläche ungleichmäßig und besonders konzentriert in eine Spiegelrichtung
- Intensität ist abhängig von der Betrachterrichtung (Viewer)
- Berechnung: Gewichtung proportional zum Winkel zwischen Reflexionsrichtung und Betrachterrichtung
- Maximale spekulare Reflexion für
- Maß für das Abfallen der spekularen Reflexion ist Exponent:
- : spekulare Intensität der Lichtquelle
- spekularer Reflexionskoeffizient, objektabhängig (shininess)
- beeinflusst Größe bzw. Konzentration des Lichtspots, aber nicht dessen Glanz (Farbe)
- : Skalarprodukt von und (beide normalisiert)
- es lässt sich herleiten, dass

Farbe und Stärke des reflektierten Lichts
- Explizite Definition mittels der “Spekularfarbe”
- Plastik: spekulare Reflexion in der Farbe der Lichtquelle
- Metall: spekulare Reflexion in der Farbe des Materials
- für diffuse und spekulare Reflexion werden unterschiedliche Farben im Beleuchtungsmodell spezifiziert
- Attenuation / Lichtdämpfung: Abschwächung der Lichteinwirkung mit zunehmender Entfernung
- invers proportional zum Quadrat der Distant
- sinnvoll für räumlich nahe Lichtquellen (Punktlichtquellen, Spotlights), nicht für gerichtete Lichtquellen (z.B. Sonnenlicht)
- und sind benutzerdefinierte Konstanten, assoziiert mit der einzelnen Lichtquelle ( konstant, linearer Verlauf, quadratischer Verlauf)
- verhindert, dass der Faktor zu groß wird, falls die Distanz zu klein wird
- in der Praxis wird entweder linear oder quadratisch eingestellt
Universelle Attentuationsfunktion:
- Eigenemission von Licht: beschreibt die Helligkeit, die ein Flächenstück selbst besitzt
- : Emissionskoeffizient (meist )
- nicht automatisch eigene Lichtquelle kein Einfluss auf Beleuchtungsberechnung anderer Flächen
- Teil des ursprünglichen Fixed-Pipeline-Phong-Modells, in Shadern vollkommen flexibel modellierbar
- Ambientbeitrag von Lichtquellen: pro zusätzlicher Lichtquelle kann im Allgemeinen angenommen werden, dass die Intensität des ambienten Lichts zunimmt
- : zusätzlicher ambienter Intensitätsanteil je Lichtquelle
- globale definierte ambiente Intensität bleibt bestehen
Phong-Implementierung:
- Berechnung erfolgt simultan für den Rot-, Grün- und Blaukoeffizienten
- Materialkoeffizienten bzw. Intensitäten sind daher 3-Komponentenvektoren
- Diffuser und spekularer Anteil wird nur für Front-Facing-Polygone berechnet
Kennzeichen des Phong-Beleuchtungsmodells:
- Modelliert direkte Interaktion zwischen Lichtquellen und Objekten
- Ignoriert Verdeckung, Schattenwurf, Selbstschattierung und indirekte Lichtreflexion
- Empirisches Modell für Highlights um den Reflexionsvektor
- Vereinfachung der Berechnung von durch Half-Way-Vektoren

- An Oberflächeneigenschaften wird nur die geometrische Normale benötigt
- Effizient berechenbar, integrierbar in Realtime-Rendering-Pipeline
- Grundmodell und Varianten programmierbar durch Shader
Mathematische Formulierung
Phong-Beleuchtungsmodell für eine Lichtquelle:
Phong-Beleuchtungsmodell für mehrere Lichtquellen:
Verienfachte Parametrisierung in der Praxis:
- vereinfacht zu
Phong-Parameter
- : Intensität der Lichtquelle(n), vektorwertig
- : vereinfachte Intensität der Lichtquelle(n), vektorwertig
- : Lichtrichtung und Reflexionsrichtung, vektorwertig
- : Blickrichtung der Kamera, vektorwertig
- : Oberfächennormale, vektorwertig
- : Materialkoeffizienten der Oberfläche, vektorwertig
- : Spekular-Exponent der Oberfläche, reelwertig, Materialkoeffizient
- : Materialkoeffizient für emissive Oberflächen (Verwendung heute eher unüblich, kann als überlagerte Farbe für z.B. Selektion oder Hervorhebung verwendet werden)
- bzw. : Attentuationsparameter, reelwertig bzw. vektorwertig
- : Anzahl zu berücksichtigender Lichtquellen
Kommt in der Klausur dran (erklären können)
Lichtquellen-Modellierung
Lichtquellen in Echtzeit-Renderingsystemen sind “idealisiert”
- Emittieren Licht in speziellen Wellenlängenbereichen (R, G, B)
- Verfügen nicht über eine Oberfläche (bzw. Ausdehnung)
- Verfügen nicht über physikalische Eigenschaften (z.B. Leuchtmittel)
- sind konzeptionelle, nicht aber geometrische Elemente einer Szenenbeschreibung
Umgebungslichtquelle:
- Ambient Light
- ungerichtete Lichtstrahlen, gleichmäßig verteilt, Lichtintensität konstant (unabhängig von Entfernnung)
- Simuliert allgemeine Raumhelligkeit (Grundhelligkeit)

Gerichtete Lichtquelle:
- Distant / Directional Light
- Unendlich weit entfernt gedachte Lichtquelle Intensität unabhängig von Entfernung
- Lichtstrahlen verlaufen in der gesamten Szene parallel und gleichmäßig, Richtung wird als Vektor spezifiziert

Punktlichtquelle:
- Point Light
- Ausstrahlung gleichmäßig in alle Richtungen
- Optional: Dämpfung zur Abschwächung der Wirkung

Spotlichtquelle:
- Spot Light / Scheinwerfer
- Spezielle Punktlichtquelle mit geometrischem Zentrum
- Ausstrahlung von Licht beschränkt auf einen kegelförmigen Bereich, dessen Spitze im Zentrum liegt
- Spezifiziert durch Öffnungswinkel (cut-off angle) und Exponenten für den Abfall der Helligkeit mit Abstand zum Zentrum

Flächenlichtquelle:
- Area Light
- Lichtquelle mit geometrischem Zentrum und geometrischer Ausdehnung (meist planar)
- Ausstrahlung über die gesamte Fläche analog zu einer Punktlichtquelle
- Optional Attenuation
- Realisierung im Echtzeitrendering z.B. durch eine Menge von Punktlichtquellen oder Spot Lights

Schattierung

- Einfärben der Pixel, auf die die Objektoberfläche projiziert wird, unter Berücksichtigung der Lichtintensität, die mit einem Beleuchtungsmodell berechnet wird
- Grundkonflikt: Beleuchtungsmodell im Weltkoordinatensystem, aber Schattierungsmodell im normalisierten Projektionskoordinatensystem
Flat-Shading
- Aufruf des Beleuchtungsmodells für einen einzigen Punkt einer Fläche (z.B. Polygon-Zentrum)
- Schattierung des gesamten Polygons in der ermittelten Intensität
- Sinnvoll anwendbar, wenn:
- Lichtquelle unendlich weit entfernt ( konstant)
- Betrachter unendlich weit entfernt ( konstant)
- Fläche ist Einzelfläche und nicht Teil einer Approximation (z.B. generiert durch Tesselation)
- Andernfalls: “Facettierte” Erscheinung der Objekte
Garoud-Schattierung
- Interpolation von Intensitätswerten an den Polygonecken
- Voraussetzungen:
- Flächenzerlegung in Polygone (meist Dreiecke)
- Oberflächennormalen für die Polygonecken (vertex normals)
- z.B. aus analytischer Flächenbeschreibung zusammen mit polygonaler Approximation ableitbar
- z.B. durch Mittlung und Gewichtung der Polygonnormalen von angrenzenden Flächen berechenbar
Arbeitsweise:
- Berechne Intensitätswerte für Polygonecken
- Lineare Interpolation der Intensitätswerte entlang der Kanten
- Lineare Interpolation der Intensitätswerte entlang der Scanlines
Interpolationsprobleme:
- Intensitätsschwankungen im Inneren werden nicht berücksichtigt
- z.B. Spotlight, das in Zentrum des Dreiecks scheint
- lösbar durch höhere Tesselation
- Zusammenhängende Polynome, die nicht vollständig entlang der Kanten über gemeinsame Ecken verfügen, werden im Allgemeinen unterschiedlich schattiert
- z.B. T-Konfiguration (zwei benachbarte Flächen an einer Kante)
Phong-Schattierung
- Interpolation der Eckennormalen statt der Eckenintensitäten
Arbeitsweise:
- Berechnung der Eckennormalen
- Interpolation der Normalen zwischen den Ecken
- Interpolation zwischen den Endpunkten einer Scanline
- Pro Fragment einer Scanline:
- Normalisierung des interpolierten Normalenvektors
- Aufruf des Beleutungsmodells
- Färbung des Fragments
Vorteile:
- Hohe visuelle Qualität durch fragmentbasierte (= bildpräzise) Berechnung der Beleuchtung
- Intensitätsschwankungen werden auch im Inneren eines Polygons abgebildet
- Beleuchtungsqualität ist unabhängig von geometrischer Auflösung eines Modells
- Phong-Shading ist für das Echtzeit-Rendering in Form von Shadern implementierbar
Nachteile:
- Hoher Berechnungsaufwand pro Fragment
- Aufwand für die Beleuchtungsberechnung ist abhängig von der Bildkomplexität eines Modells (Zahl der Fragmente)


Normalenberechnung für ein Polygon
Kreuzprodukt der Randvektoren:
- Wähle zwei nichtdegenerierte Randvektoren des Polygons (z.B. und )
- Bilde Kreuzprodukt
- Normalisiere den Ergebnisvektor
Summierung einheitlich gewichteter Normalen:
- weight-uniformly
- Berechne Normalen für Polygone
- Summiere Normalen der Polygone, die die ausgewählte Ecke enthalten
- Normalisiere Ergebnisvektor

Nicht-photorealistische Beleuchtungsmodelle
Technische und wissenschaftliche Illustrationen:
- Hervorhebung der Kanten durch contour lines (oft schwarz gefärbt)
- Spärliche Nutzung von Schattierungseffekten, um zu verhindern, dass relevante Details verdeckt werden
- Spezielle, unrealistische Lichtverhältnisse in ausgewählten Oberflächenbereichen, um Details hervorzuheben
- Beschränkung auf eine einzige Lichtquelle (Highlights häufig weiß gefärbt)
- Kodierung der Oberflächennormalen durch “Temperatur” der verwendeten Farben
- LDR-Schattierung (low dynamic range) von matten Objekten, d.h. Beschränkung auf Farben, die sich deutlich von schwarz und weiß abgrenzen und geringe Luminanzvariationen aufweisen
Schattierung von metallenen Oberflächen:
- Streifen parallel zur Fräsachse Darstellung durch alternierende Verwendung heller und dunkler Streifen
- kann durch Gooch-Schattierung unterstützt werden
Farbton- und Luminanzverschiebung
- Kommunikation von Strukturinformationen in farbigen Illustrationen
- Shades (Hinzufügen von Schwarz), Tints (Hinzufügen von weiß), Tones (Hinzufügen von Grau)
- Tones unterscheiden sich nur gering hinsichtlich Luminanz und eher hinsichtlich des Farbtons eignet sich besonders für LDR-Schattierung
- Farbtemperatur: kalte Farben wirken weit entfernt, warme Farben wirken nahe (Objekte müssen eng beieinander stehen)

Gooch-Schattierung
Nachteil der Phong-Beleuchtung: Verlust von Struktur und Materialinformationen in schattierten Oberflächenbereichen
- Lösungsansatz 1: Highlights für ausgewählte Oberflächenbereiche (Kanten hervorheben, ambiente und diffuse Reflexion manuell anpassen)
- Lösungsansatz 2: Gooch-Schattierung
Arbeitsweise:
- Phong-Beleuchtungsmodell wird auf Term zur diffusen Beleuchtungsberechnung beschränkt
- Nutzung des Verhältnisses zwischen der Oberflächennormale und dem Lichtvektor zur Interpolation zwischen einer warmen und einer kalten Farbe
Eigenschaften:
- geringe Luminanzvariation (LDR-Schattierung)
- verbesserte Tiefenwahrnehmung
- geringe Variation bezüglich Farbtemperatur, unnatürlich wirkende Farben
- Lösung: automatisierte Farbtonverschiebung, stärkere Luminanzvariation (Kombination zweier Farbskalen)

Cartoon-Schattierung (Cel-Shading)
- Verzicht auf Details
- hervorgehobene Kanten + Kategorisierung von Farben (beschränkte Anzahl) harte Übergänge zwischen Farben
