Seminar - Computer Grafik und Visualisierung Shading & Lighting computer graphics & visualization Florian Höpfner Übersicht I) Einführung und Motivation II) Lighting - III) Physikalische Grundlagen Farben Die BRDF Beleuchtungsmodelle Shading - Grundlagen Bump Mapping Environment Mapping Florian Höpfner computer graphics & visualization Übersicht I) Einführung und Motivation II) Lighting - III) Physikalische Grundlagen Farben Die BRDF Beleuchtungsmodelle Shading - Grundlagen Bump Mapping Environment Mapping Florian Höpfner computer graphics & visualization Lighting Lighting (Beleuchtung) in der realen Welt: Ausleuchtung und Erhellung von Objekten durch Kunstlicht oder Tageslicht. Florian Höpfner computer graphics & visualization Lighting Lighting (Beleuchtung) in der Computergrafik: Ausleuchtung und Erhellung von Objekten mittels eines Beleuchtungsmodells. Florian Höpfner computer graphics & visualization Shading Shading in der Computergrafik: Schattierung von Objekten zur Simulation von Oberflächen. Shading Florian Höpfner computer graphics & visualization Motivation - Shading von Objekten meistens mittels Beleuchtungsmodell -> enge Verknüpfung von Shading & Lighting - Shading & Lighting bestimmen Erscheinungsbild - Grenze des erreichbaren Realismusgrades durch reine Steigerung der Tesselation - Programmierbare Render-Pipeline Florian Höpfner computer graphics & visualization Overview I) Einführung und Motivation II) Lighting III) - Physikalische Grundlagen - Farben Die BRDF Beleuchtungsmodelle Shading - Grundlagen Bump Mapping Environment Mapping Florian Höpfner computer graphics & visualization Was ist Licht? Dualität des Lichts: - Elektromagnetische Strahlung • Frequenz: f = c / λ [s-1] • - Welleneigenschaften (Amplitude, Polarisierung etc.) Partikel • • • Diskrete Energiepakete (Photonen) Energie pro Photon: E = hf [J] Geometrische Eigenschaften Grundverständnis von Radiometrie und Fotometrie notwendig Florian Höpfner computer graphics & visualization Radiometrie Radiometrie: Messung von elektromagnetischer Strahlung Florian Höpfner computer graphics & visualization Radiometrische Größen (1/3) - Strahlungsenergie (Radiant energy): • • - - Energie in einem Strahlungsfeld Q [J] Strahlungsleistung (Radiant power / Radiant flux) • Energie pro Zeit • dQ dt [W] Strahlungsstärke (Radiant intensity) • Strahlungsleistung pro Raumwinkel • I dQ d [W / sr] Florian Höpfner computer graphics & visualization Raumwinkel Zweidimensionales Bogenmaß erweitert in die dritte Dimension Bogenmaß: α = b / r [rad] Vollwinkel: 2π Raumwinkel: Ω = A / r2 [sr = steradiant] Voller Raumwinkel: 4π Florian Höpfner computer graphics & visualization Radiometrische Größen (2/3) - Bestrahlungsstärke (Irradiance) • • - Eingehende Strahlungsleitung pro Fläche d E dA [W / m2] Radiom. Emissionsvermögen (Radiant Exitance / Radiosity) • Ausgehende Strahlungsleistung von einer Fläche • d M dA [W / m2] Florian Höpfner computer graphics & visualization Radiometrische Größen (3/3) - Strahlungsdichte (Radiance) • • • Strahlungsleistung pro projizierter Fläche pro Raumwinkel Eingehend oder ausgehend L d 2Φ dΩ dA d 2 dΩ dAcos [W / m2 sr] Florian Höpfner computer graphics & visualization Fotometrie Fotometrie: Messung von elektromagnetischer Strahlung, die für das menschlisch Auge sichtbar ist (Licht) - Sichtbares Wellenlängenspektrum von ca. 360 bis 830 nm Florian Höpfner computer graphics & visualization Fotometrie - Zu jeder radiometrischen Größe eine vergleichbare fotometrische Größe (gewichtet mit der Empfindlichkeit des Auges) - Empfindlichkeit des Auges abhängig von Wellenlänge - Grünes Licht mit Bestrahlungsdichte von einem Watt/m²sr wirkt heller als das selbe Licht in rot - Empfindlichkeit des Auges beschrieben durch CIE Hellempfindlichkeitskurve V(λ) Florian Höpfner computer graphics & visualization CIE Hellempfindlichkeitskurve - Photopisch: Tageslicht Skotopisch: Nachtsehen - Gewichtung einer radiometrischen Größe Xe mit V(λ) liefert fotometrische Größe Xv: • • Monochromatisch: X v Km Xe ()V() 830 Polychromatisch: X v Km X e ()V()d 360 Florian Höpfner computer graphics & visualization Radiometrie und Fotometrie Radiometrie Fotometrie Größe Einheit Größe Einheit Strahlungsenergie J Lichtmenge lms Strahlungsleitung W Lichtstrom lm (lumen) Strahlungsstärke W/sr Lichtstärke lm/sr=cd (candela) Bestrahlungsstärke W/m² Beleuchtungsstärke lm/m²=lx (lux) Radiom. Emissionsv. W/m² Fotom. Emissionsv. lm/m²=lx Strahlungsdichte W/m²sr Leuchtdichte lm/m²sr=cd/m² Florian Höpfner computer graphics & visualization Übersicht I) Einführung und Motivation II) Lighting III) - Physikalische Grundlagen - Farben - Die BRDF Beleuchtungsmodelle Shading - Grundlagen Bump Mapping Environment Mapping Florian Höpfner computer graphics & visualization Das menschliche Auge - Auf der Netzhaut befinden sich die Farbrezeptoren Florian Höpfner computer graphics & visualization Farbrezeptoren - Wandeln Lichtsignale in elektrische Signale um - Elektr. Signale über Sehnerv ans Gehirn - Zwei Typen: • Stäbchen - Nur Helligkeit - Sehen bei Dämmerung und Nacht • Zapfen - Farbwahrnehmung - Sehen bei Tageslicht - Drei Zapfentypen (trichromatisch): S-, M- und LZapfen Florian Höpfner computer graphics & visualization Die drei Zapfentypen - S-Zapfen (Blaurezeptoren): 420 nm - M-Zapfen (Grünrezeptoren): 534 nm - - L-Zapfen (Rotrezeptoren): 563 nm Unterschiedliche Lichtspektren können den selben Farbeindruck hervorrufen Florian Höpfner computer graphics & visualization Metamerie - Jeder Farbeindruck durch unendlich viele Wellenlängenkombinationen darstellbar - Ermöglicht die Mischung von Spektralfarben mittels dreier Werte (RGB) Florian Höpfner computer graphics & visualization Farben von Objekten Florian Höpfner computer graphics & visualization Übersicht I) Einführung und Motivation II) Lighting III) - Physikalische Grundlagen Farben - Die BRDF - Beleuchtungsmodelle Shading - Grundlagen Bump Mapping Environment Mapping Florian Höpfner computer graphics & visualization Licht-Materie Interaktion - Drei Arten der Interaktion: • Reflektion • Transmission • Absorption - Reflektion wichtigster Interaktionstyp in der Computergrafik - Reflektionsverhalten eines Materials beschrieben durch die BRDF Florian Höpfner computer graphics & visualization Die BRDF - Bidirectional Reflectance Distribution Function - Quotient aus Strahlungsdichte und Bestrahlungsstärke - Im allgemeinsten Fall 7-dimensionale Funktion: L r ( r , r ) f r (, x, i , i , r , r ) E i (i , i ) - Alternative Interpretation: Wahrscheinlichkeit, dass Photon aus Richtung (θi,φi) in Richtung (θr,φr) reflektiert wird Florian Höpfner computer graphics & visualization Orientierung der Oberfläche - Johann Friedrich Lambert: Bestrahlungsstärke einer Oberfläche auch abhängig vom Winkel zwischen Oberfläche und Licht: Ei ' Ei cos L r ( r , r ) L r ( r , r ) f r (, x, i , i , r , r ) E i (i , i ) E i (i , i ) cos i Florian Höpfner computer graphics & visualization BRDF Eigenschaften - Vereinfachende Annahmen: • Positionsinvariant • Wellenlängeninvariant bzw. drei BRDFs (RGB) - Helmholtz Reziprozität: f r (i , i , r , r ) f r (r , r , i , i ) - Energieerhaltung: 2 2 f ( , , , ) cos d d r i i r r i r r 1 0 0 - BRDFs müssen nicht physikalisch korrekt sein Florian Höpfner computer graphics & visualization BRDF Klassen - Isotrope BRDFs • Invariant bei Drehung der Oberfläche um die Normale f r (i , i , r , r ) f r (i , r , i r ) - Anisotrope BRDFs • Veränderte Reflektion bei Drehung um Normale f r (i , i , r , r ) f r (i , i , r , r ) • z.B. gebürstetes Metall, Haare, CD Florian Höpfner computer graphics & visualization Globale Beleuchtung - Aus einer Richtung: Lr (x, r , r ) f r (x, i , i , r , r ) Ei (i , i ) cos i - Aus allen Richtungen: L r ( x, r , r ) 2 2 f (x, , , , ) E ( , ) cos d d r i i r r i i i i r r f (x, , , , ) E ( , ) cos d dr 0 0 - Render-Gleichung: L r ( x, r , r ) L e ( x, r , r ) 2 2 r i i r r i i i i r 0 0 Florian Höpfner computer graphics & visualization Implementierung von BRDFs - - Verwendung von Messdaten • • • Messung mit Gonioreflektometer Speicherung als 4D lookup table Zerlegung in zwei 2D Texturen (z.B. durch SVD) Mathematisches Modell • Reflektionsverhalten durch Beleuchtungsmodell Florian Höpfner computer graphics & visualization Übersicht I) Einführung und Motivation II) Lighting III) - Physikalische Grundlagen Farben Die BRDF - Beleuchtungsmodelle Shading - Grundlagen Bump Mapping Environment Mapping Florian Höpfner computer graphics & visualization Blinn-Phong Beleuchtungsmodell - Häufigstes Beleuchtungsmodell - Entwickelt von Bui Tuong Phong (1973) - Weiterentwickelt von James F. Blinn (1977) - Lokales Beleuchtungsmodell - Keine physikalisch korrekte BRDF (heuristisches Modell) - Drei Terme: • Diffuse • Ambient • Specular Florian Höpfner computer graphics & visualization Diffuse Term - Lambertsche Oberfläche • • Perfekt matt Licht gleichmäßig in alle Richtungen • - Lambertsches Gesetz Betrachterunabhängig Cd = Id cos(θ) kd = Id (N•L) kd Florian Höpfner computer graphics & visualization Ambient Term - Simuliert indirekte Beleuchtung - Beleuchtet auch vom Licht wegzeigende Flächen Ca = Ia ka Florian Höpfner computer graphics & visualization Specular Term (1/2) - Spiegelnde Oberfläche • Die meisten Photonen reflek- tiert in Richtung R • Glanzpunkte - Betrachterabhängig - Phong Specular: p p Cs = Is cos(α) ks = Is (R•V) ks mit R = 2(N•L)N - L Florian Höpfner computer graphics & visualization Specular Term (2/2) - Blinn-Phong Specular: p p Cs = Is cos(α) ks = Is (N•H) ks LV mit H |LV| Florian Höpfner computer graphics & visualization Blinn-Phong Beleuchtungsmodell - Für eine Lichtquelle: p Ctotal = Ca + Cd + Cs = Ia ka + Id (N•L) kd + Is (N•H) ks Ambient Diffuse + - Specular + Total = Für n Lichtquellen: n Ctotal = Ia ka + p (Id (N•L) kd + Is (N•H) ks) Florian Höpfner computer graphics & visualization Blinn-Phong in Direct3D - Erweitertes Blinn-Phong Beleuchtungsmodell - Ein Material M und n Lichter I - Drei Lichttypen: Point, Spot und Directional Light Ctotal = Memissive + Iglobal ambient Mambient + n i 1 Atti · Spoti (Iambient Mambient + Idiffuse Mdiffuse max{0, (N•L)} + p Ispecular Mspecular max{0, (N•H)} ) Florian Höpfner computer graphics & visualization Lichttypen in Direct3D - - - Point Light • • Gleiche Intensität in alle Richtungen Position; keine Richtung Directional Light • • • Licht unendlich weit entfernt Lichtstrahlen parallel Keine Position, nur Richtung Spot Light • • • Scheinwerfer Position und Richtung Zwei Kegel (Winkel θ und φ) Florian Höpfner computer graphics & visualization Attenuation und Spotlight factor - Attenuation • • - Abschwächung der Lichtintensität Bei Directional Lights = 1 Att 1 att 0 att1 d att 2 d 2 Spotlight factor • Bei Nicht-Spot lights = 1 / 2 1 Spot 0 / 2 falloff cos( ) cos( / 2) cos( / 2) cos( / 2) Florian Höpfner computer graphics & visualization Cook-Torrance Beleuchtungsmodell - Entwickelt von Robert Cook und Kenneth Torrance (1981) Physikalische Basis Benutzt das Torrance-Sparrow (1967) Modell: • • - Oberfläche besteht aus Microfacetten Microfacetten sind perfekte Reflektoren Besonders geeignet für Metalle und Plastik Florian Höpfner computer graphics & visualization Cook-Torrance Beleuchtungsmodell - Basiert auf dem Blinn-Phong Modell: n CBlinnPhong = Ca + (C + C ) d s i i n CCookTorrance = Ca + mit: (s C + d C ) d i s i s+d=1 DG F Cs (N L)(N V) D: Microfacet Distribution Function G: Geometrical Attenuation Factor F: Fresnel Term Florian Höpfner computer graphics & visualization Microfacet Distribution Function D - Microfacetten sind lediglich gedankliches Modell Verteilung der Microfacetten mittels Verteilungsfunktion D Verteilungsfunktion liefert Anteil Microfacetten, deren lokale Normale in Richtung H zeigt Verschiedenste Verteilungsfunktionen möglich Empfohlen wird eine Beckmann-Verteilungsfunktion: D tan( ) m e 2 4 m 2 cos 4 () β: Winkel zwischen N und H m: Oberflächen-Rauigkeit Florian Höpfner computer graphics & visualization Geometrical Attenuation Factor G (1/2) - - Drei mögliche Interaktionen zwischen Licht und Microfacetten: G liefert den Anteil an Licht, der die Microfacetten wieder verlässt G є [0,1] mit 1 = komplett reflektiert und 0 = komplett abgeblendet (masking) bzw. abgeschattet (shadowing) Florian Höpfner computer graphics & visualization Geometrical Attenuation Factor G (2/2) - Masking • 1 – abgefangenes Licht = 1 – c/m G Masking - 2(N H)(N V) (V H) Shadowing • Vertauschung von L und V GShadowing - 2(N H)(N L) (V H) Geometrical Attenuation Factor G min{1,G Masking ,GShadowing } Florian Höpfner computer graphics & visualization Fresnel Term F (1/2) - Wenn Licht auf ein Medium trifft, wird es teilweise reflektiert und gebrochen - Fresnel Term F gibt den Anteil an reflektiertem Licht an - Umso flacher der Winkel zur Ebene, desto mehr Licht reflektiert Florian Höpfner computer graphics & visualization Fresnel Term F (2/2) - Aufteilung des unpolarisierten Lichts anhand der Ebene des Lichteinfalls: F 1 1 R para R perp 2 2 Rpara: Anteil des reflektierten Lichts bei paralleler Polarisierung Rperp: Anteil des reflektierten Lichts bei orthogonaler Polarisierung 1 (g c) (c(g c) 1) 2 F 1 2 2 (g c) (c(g c) 1) 2 2 2 ni g c2 1 nt c cos() Florian Höpfner computer graphics & visualization Übersicht I) Einführung und Motivation II) Lighting - Physikalische Grundlagen Farben Die BRDF Beleuchtungsmodelle III) Shading - Grundlagen - Bump Mapping Environment Mapping Florian Höpfner computer graphics & visualization Grundlegende Shading Algorithmen - - - Flat Shading • • Beleuchtung pro Polygon + Schnell / - Blockartig Gouraud Shading • • • Beleuchtung pro Vertex Interpolation der Farben über das Polygon + Schnell / - Qualität abhängig vom LOD Phong Shading • • • Interpolation der Normalen über das Polygon Beleuchtung pro Pixel + Beste Qualität / - Langsam Florian Höpfner computer graphics & visualization Übersicht I) Einführung und Motivation II) Lighting - Physikalische Grundlagen Farben Die BRDF Beleuchtungsmodelle III) Shading - Grundlagen - Bump Mapping - Environment Mapping Florian Höpfner computer graphics & visualization Bump Mapping - Simulation von Oberflächendetails Veröffentlicht 1978 von James Blinn Grundidee: Texturen zur Veränderung der Normalen für die Beleuchtung - Geometrische Normalen unverändert Illusion sichtbar bei flachen Winkeln (Silhouette) - Viele Arten: • • • Emboss Bump Mapping Normal Mapping Parallax Mapping Florian Höpfner computer graphics & visualization Normal Mapping - Normale (X,Y,Z) für Beleuchtung in Textur (Normal Map) als (R,G,B) Farbe gespeichert • • - R,G,B є [0,1], Dekodierung der Normalen: X = 2·R – 1 (Y,Z analog) Normalen in einem Koordinatensystem: Tangent Space - X,Y,Z є [-1,1] Object Space World Space Üblicherweise Tangent Space Florian Höpfner computer graphics & visualization Tangent Space Normal Mapping - Orientierung der U,V,W Achsen durch Tangent Space Basis - Pro Vertex Orthonormalbasis mit Basisvek- toren T, B, N (Tangent, Binormal, Normal) - Transformation von N, L und V in das selbe Koordinatensystem - Normal Mapping Algorithmus: • • • • • Pro Vertex: Aufstellung einer Basiswechselmatrix B: World Space -> Tangent Space Pro Vertex: Transformation von V und L in Tangent Space Interpolation von V und L über das Polygon Pro Pixel: Dekodierung von N aus der Normal Map Pro Pixel: Beleuchtung mittels N, L und V Florian Höpfner computer graphics & visualization Parallax Mapping - - Parallax: Bewegung von Flächen relativ zu anderen Flächen bei Änderung der Betrachterposition Idee: Verschiebung der Texturkoordinaten mittels V und Höhenwert - Speicherung von Höhenwerten h in einer Parallax Map - Annäherung zur Berechnung von Tcorrected: Tcorrected TActual • - V(x,y) h sb V(z) TActual V(x,y) h sb h sb h s b Parallax Mapping with offset limiting Gute Annäherung bei geringen Frequenzen Florian Höpfner computer graphics & visualization Übersicht I) Einführung und Motivation II) Lighting - Physikalische Grundlagen Farben Die BRDF Beleuchtungsmodelle III) Shading - Grundlagen Bump Mapping - Environment Mapping Florian Höpfner computer graphics & visualization Environment Mapping (EM) - Simulation von spiegelnden Oberflächen - Vorgestellt von Blinn und Newell - Idee: • Strahl vom Betrachter zu einem Punkt auf dem Reflektor • Reflektionsstrahl R anhand der Normalen an diesem Punkt: R = V – 2(N●V)N • R ist Index in Textur, die die Umgebung enthält (Environment Map) Florian Höpfner computer graphics & visualization Environment Mapping (EM) - - - Annahmen: • • Umgebung unendlich weit entfernt Reflektor ist unendlich kleine Kugel Vorteile: • • • sehr schnell plausible Ergebnisse Annäherung von Lichtbrechung möglich Nachteile: • • keine Selbstreflektion bei konkaven Objekten keine Verdeckungsermittlung Bekannteste EM-Varianten: Blinn/Newell, Spherical, Cubic EM Florian Höpfner computer graphics & visualization Blinn/Newell EM - Erste EM-Technik (vorgestellt 1976) Ablauf: • Darstellung von R in sphärischen Koordinaten ρ = arccos(-rz) Φ = atan2(ry, rx) • • - (ρ, φ): [0, π] [0, 2π] Transformation der Koordinaten (ρ, φ) ins Intervall [0,1] Auslesen der Reflektionsfarbe aus einer Textur Environment Map ist eine entfaltete Kugel + Betrachterunabhängig - Singularitäten an den Polen / - Erstellung der EM Florian Höpfner computer graphics & visualization Sphere EM - Orthogonale Projektion der Szene auf unendlich kleine, perfekt spiegelnde Kugel Bestimmung der Texturkoordinaten: u rx 1 2m 2 m rx 2 ry 2 (rz 1)2 ry 1 v 2m 2 - + Nur eine Singularität - Betrachterabhängig - Auflösung an der Silhouette gegen Null - Tangentiale Blickrichtungen zeigen selben Punkt Florian Höpfner computer graphics & visualization Cubic EM - EM besteht aus sechs Texturen, angeordnet als Würfel Beliebteste EM-Technik Ablauf: • Betrag b der größten Koordinate von R bestimmt Seite des Würfels: • • (-3, -8, 5) wählt –Y Seite Division der anderen zwei Koordinaten durch b Abbildung von [-1,1] auf [0,1]: ( (-3/8+1)/2, (5/8+1)/2 ) - + Betrachterunabhängig + leichte Erstellung der EM Florian Höpfner computer graphics & visualization Demo Demo Florian Höpfner computer graphics & visualization Shading & Lighting Danke für die Aufmerksamkeit Florian Höpfner computer graphics & visualization