Computergrafik

Beleuchtung und Schattierung
Motivation
3D-Wahrnehmung nur durch Schattierung möglich (shape from shading)


ohne Beleuchtung & Schattierung
mit Beleuchtung & Schattierung
BRDF (bidirectional reflection distribution function)
Bild: T. Thormählen
- Die BRDF \( f_r \) beschreibt winkelabhängigen spektralen Reflexionsfaktor einer Oberfläche durch das Verhältnis von reflektierter Strahldichte \( L_0 \) zur einfallenden Bestrahlungsstärke \( E \):
- \( v\): eingehende Richtung
- \( l\): ausgehende Richtung
- \( l\): Oberflächennormale

Einfallswinkel = Ausfallswinkel
BRDF (bidirectional reflection distribution function)



spiegelnd
glänzend
diffus
Bild: T. Thormählen
BRDF (bidirectional reflection distribution function)
Bild: Yahku le Roux (Blenderkit)



Quelle: AmbientCG
Wie finde ich
die passenden
Parameter für
mein Objekt?
BSDF (bidirectional scattering distribution function)

- BSDF fasst BRDF und BTDF (Bidirectional Transmittance Distribution Function) zusammen
- wird z.B. in Blender genutzt
BSDF (bidirectional scattering distribution function)

Parameter wurden gemessen
MERL dataset

Ziel: Einfache Definition von
Materialeigenschaften (Disney BSDF)
Die meisten Engines haben eigene Material Designer
BSDF (...)


Lichtanteile

Bild: Khronos Group
- Ambient: beschreibt das globale Umgebungslicht (keine Richtung)
- Diffuse: beschreibt Licht, das von einer rauen Oberfläche in alle Richtungen gleichmäßig gestreut wird
- Entsteht, wenn Licht auf eine matte Oberfläche trifft
- Hängt vom Einfallswinkel des Lichts ab
-
Specular: beschreibt gerichtete Reflexionen (Glanzlichter)
- Entsteht auf glatten/glänzenden Oberflächen (z. B. Metall)
- Abhängig von Blickrichtung und Lichtquelle
Blinn-Phong BRDF

- Statt des reflektierten Strahls wird die Winkelhalbierende h verwendet:
Bild: T. Thormählen
- schnelle Berechnung, da da keine Reflexionsvektoren bestimmt werden müssen (teuer, da für jedes Fragment durchgeführt)
- Modell nutzt ambienten, diffusen und
spekularen Lichtanteil
Blinn-Phong BRDF (Beispiel)

Beispiel: Link
live
Microfacetten BRDF

Bild: T. Thormählen
- F: Fresnel Reflexionsgrad
- D: Rauheitsanteil (Verteilung der Facetten)
- G: Geometriefaktor (Selbstverschattung)
- Oberfläche besteht aus Mikrofacetten
- diese sind deutlich kleiner als Pixel
- Je rauer die Oberfläche, desto variabler die Orientierung (der Mikrofacetten)
- Grundlage für Physically-based Rendering
- wird in aktuellen Engines (u.a. Unreal) genutzt
l: eingehende
Richtung (Licht)
l: ausgehende
Richtung (Licht)
Fresnel
Animation: Shadertoy
- Verhältnis reflektierter / transmittierter Strahlungsenergie hängt ab von:
- Einfallswinkel der Lichtstrahlen
- Brechungsindizes der Materialien

Bild: T. Thormählen
Fresnel
Bild: T. Thormählen
- Übergang von optisch dünneren zu optisch dichterem Medium:
- Strahl wird zur Normalen hin gebrochen
- Sonst: Strahl wird von der Normalen weg gebrochen

η1η1: Brechungsindex (Medium 1)
η2η2: Brechungsindex (Medium 2)
θ1θ1: Einfallswinkel
θ2θ2: Brechungswinkel
Polarisation parallel
(zur Einfallsebene)
Polarisation senkrecht
(perpendikular zur Einfallsebene)
| Vakuum | 1 |
| Luft | ~1 |
| Wasser | 1.3 |
| Glas | 1.5 |
| Diamant | 2.4 |
Schattierung
Planare Schatten
- Ansatz: Objekt wird auf planare Ebene projiziert
- Projektion auf Ebene \( z = 0 \) mit:

Bild: T. Thormählen
Planare Schatten
- Ansatz: Objekt wird auf planare Ebene projiziert
- Projektion auf Ebene \( z = 0 \) mit:
Bild: T. Thormählen

Planare Schatten
Bild: T. Thormählen

- Auf Ebene projizierter Teil wird im Schatten schwarz
➔ diffuser + spekularer Anteil - Herausforderung: Ambienter Anteil soll im Schatten erhalten bleiben
➔ Lösung: 2x mal Rendern (und Ergebnisse mit Alpha-Blending kombinieren)
Z-Buffer-Algorithmus (Wiederholung)
- Tiefenspeicherung pro Pixel statt Sortierung
- Zusätzlicher Depth Buffer speichert z-Werte (=Tiefenwerte)
- Sichtbar bleibt immer das Fragment mit der geringsten Tiefe
Bild: Zeus (adaptiert)
Eingabe: 3D-Szene
Ausgabe: Z-Buffer (Tiefenbild)
Shadow Mapping (Prinzip)
- Kamera wird an Position (inkl. Orientierung) der Lichtquelle verschoben
- Aus Sicht der Lichtquelle wird ein Tiefenbild (➔ Z-Buffer) erzeugt
- Aus Original-Kamerasicht wird für jedes Fragment (=Pixel) die Differenz bestimmt aus:
- euklidische Distanz Lichtquelle <-> Punkt ➔ \( z \)
- Distanz zum nächsten Objekt in Richtung des Punkts (von Lichtquelle) ➔ \( \hat{z} \)
- Wenn \( \hat{z} < z \) dann liegt Fragment im Schatten (wird verdeckt)
Shadow Mapping (Beispiel)
live
✅ Zusammenfassung
- Schattierung ist wichtig für realistische Darstellung in 3D
- Blinn-Phong als einfaches Reflexionsmodell
- BRDF, BTDF und Materialieneigenschaften
- Physically-based rendering
- Microfacet BRDF
- Fresnel-Effekt
- Schattierung mit:
- einfachen (und effizienten) Verfahren ➔ Planare Schatten
- komplexeren Verfahren wie ➔ Shadow Mapping

mit Beleuchtung & Schattierung
CG8 Beleuchtung und Schattierung
By blackbill
CG8 Beleuchtung und Schattierung
- 4