Beleuchtung und Schattierung

  • Licht ist eine zentrale Basis im Photorealismus
    • Ziel: nicht unterscheidbar von echtem Photo
  • Modellierung der Lichtausbreitung
    1. Lichtstrahlen zu nichtsichtbaren Szenenelementen
    2. indirekt sichtbares Licht über spiegelnde Oberflächen
    3. direkt reflektiertes Licht an Oberflächen
    4. indirekt im Raum transportiertes, gestreutes Licht
    5. 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)

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:

  1. Berechne Intensitätswerte für Polygonecken
  2. Lineare Interpolation der Intensitätswerte entlang der Kanten
  3. 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:

  1. Berechnung der Eckennormalen
  2. Interpolation der Normalen zwischen den Ecken
  3. Interpolation zwischen den Endpunkten einer Scanline
  4. Pro Fragment einer Scanline:
    1. Normalisierung des interpolierten Normalenvektors
    2. Aufruf des Beleutungsmodells
    3. 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:

  1. Wähle zwei nichtdegenerierte Randvektoren des Polygons (z.B. und )
  2. Bilde Kreuzprodukt
  3. Normalisiere den Ergebnisvektor

Summierung einheitlich gewichteter Normalen:

  • weight-uniformly
  1. Berechne Normalen für Polygone
  2. Summiere Normalen der Polygone, die die ausgewählte Ecke enthalten
  3. 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