Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Helwig Hauser Teil 8: Ray Tracing Beleuchtung, inkl. Schatten, Reflexionen.

Ähnliche Präsentationen


Präsentation zum Thema: "Helwig Hauser Teil 8: Ray Tracing Beleuchtung, inkl. Schatten, Reflexionen."—  Präsentation transkript:

1 Helwig Hauser Teil 8: Ray Tracing Beleuchtung, inkl. Schatten, Reflexionen

2 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Einleitung Forward Ray Tracing: Lichtwege verfolgen: wohin fällt Licht? vgl. shooting (Radiosity) Strahlen verfehlen Auge: aufwendig! Backward Ray Tracing: Blickstrahl-Verfolgung: was sehe ich? vgl. gathering (Radiosity) Beleuchtung rekonstruieren

3 Helwig Hauser Teil 8: Ray Tracing (Bwd.) Ray Tracing Idee: für jedes Pixel: berechne Blickstrahl (Kameramodell) verfolge Blickstrahl in die Szene, ermittle nähesten Schnittpunkt (Schnittpunktberechnung) ermittle Beleuchtung (Phong, Schatten) ermittle indirekte Beleuchtung (Reflexionen, Brechungen) kombinieren Farbeindruck = Pixel-Wert evtl. mehr...

4 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Bausteine Kameramodell Blickstrahlermittlung Sichtbarkeitsberechnung = Schnittberechnungen++ welches Objekt sehe ich (pro Pixel) Schattierung bzw. Beleuchtung Schattenermittlung (Schattenfühler) lokales Beleuchtungsmodell (Phong) Indirekte Einflüsse, Rekursion Reflexionen, Brechungen

5 Helwig Hauser Teil 8: Ray Tracing Ray Tracing Charakteristika anhand von Beispielen

6 Helwig Hauser Teil 8: Ray Tracing RT: Reflexionen, Brechungen Normalerw. aber nicht: Kaustiken Prismen- effekt

7 Helwig Hauser Teil 8: Ray Tracing RT: Photo-Realismus Normalerw. aber nicht: Schmutz Out-door Tiefen- unschärfe

8 Helwig Hauser Teil 8: Ray Tracing RT: Licht und Schatten Normalerw. aber nicht: Halbschatten, i.e., flächige bzw. räuml. Lichtquellen

9 Helwig Hauser Teil 8: Ray Tracing RT: Komplexe Objekte Normalerw. aber nicht: komplexe Modelle realer Obj. (Tiere, etc.)

10 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Charakteristika Photo-realistische Ergebnisbilder Sichtbarkeitsalgorithmus Lichtquellen (auch mehrere), Schatten Reflexionen, Brechungen Komplexe Objekte (gekrümmt, fraktal) Sehr aufwendig

11 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Strahlverfolgung Primärstrahlen, Sekundärstrahlen

12 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Strahlen Primärstrahlen Sekundärstrahlen: Reflexionen R, Brechungen T RT-Graph

13 Helwig Hauser Teil 8: Ray Tracing

14 Helwig Hauser Teil 8: Ray Tracing Sphere Cube Eye Cylinder refracted reflected *) RT Baum für gezeigte Folie

15 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Algorithmus Sehstrahl, Schnittberechnung, Beleuchtung & Schatten, Rekursion

16 Helwig Hauser Teil 8: Ray Tracing FOR every pixel p DO 1. trace primary ray find closest intersection s 2. FOR every light source l DO trace shadow feeler l -> s IF no intersection THEN illumination += local influence of l 3. IF surface of s is reflective THEN trace secondary ray illumination += influence of reflection IF surface of s is transparent THEN trace secondary ray illumination += influence of refraction

17 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiel (1) 1. Sichtbarkeitsberechnung: welcher Objektpunkt wird betrachtet?

18 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiel (2) L1L1 2a: Lokale Beleuchtung (1. Licht): Phong!

19 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiel (3) L2L2 L1L1 2b: Lokale Bel. (2. Licht): Schatten!

20 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiel (4) 3: Indir. Bel. (Spiegel.) L2L2 L1L1

21 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiel (5) 3.1: Schattierung des 2. Objekts L2L2 L1L1

22 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiel (6) L2L2 L1L1 0.: Bild: alles für jedes Pixel

23 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiel (7) Perspektivische Projektion Reflexionen Schatten Lokale Beleuchtung L2L2 L1L1

24 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Schnittberechnungen Kugel, Polygon, Box

25 Helwig Hauser Teil 8: Ray Tracing Anforderungen an Objekte Schnittberechnung mit Strahl Lösung in geschlossener Form Iterativer, numerischer Ansatz Normalenberechnung im Schnittpunkt Beispiele: Implizit definierte Objekte – f(x)=0 – wie Kugel, Ebene, etc.: oft relativ einfach Sonst: oft Ausnutzen von Hilfsstrukturen: bounding boxes, regular grid, BSP, etc.

26 Helwig Hauser Teil 8: Ray Tracing Strahl-Kugel Schnitt (1) Strahl (parametrisch): Augpunkt P 0, Richtungsvektor R, i.e. P(t) = P 0 + t R (|R| = 1) Kugel (implizit): Mittelpunkt M, Radius r P 0 R r M

27 Helwig Hauser Teil 8: Ray Tracing Strahl-Kugel Schnitt (2) 1. Abstand 2 (M-P 0 ) 2 m 2 P 0 außerhalb? 2. P 0 außerhalb + R zeigt weg von Kugel R (M-P 0 ) h < 0 fertig (kein Schnitt) 3. Def. D ( Strahlpunkt am nächsten zu M) 4. Abstand 2 (M-D) 2 d 2 Strahl schneidet? 5. d 2 >r 2 fertig (Strahl geht vorbei) 6. Ber. t-Werte von Schnittpunkten ( t 1, [ t 2 ]) 7. Ber. Schnittpunkte S 1, [ S 2 ] 8. Ber. Kugelnormale N 1, [ N 2 ], fertig (Schnitt)

28 Helwig Hauser Teil 8: Ray Tracing Strahl-Kugel Schnitt (3) Ende bei 2. Ende bei 5.

29 Helwig Hauser Teil 8: Ray Tracing Bsp.: P 0 = (1 –2 –1) T, R || (1 2 4) T, M = (3 0 5) T, r = 3 Strahl-Kugel Schnitt, Beispiel (1) 1. m 2 = (M-P 0 ) 2 = (2 2 6) T (2 2 6) T = > r 2 = 9 P 0 außerhalb 2. R (M-P 0 ) = (1 2 4) T / 21 (2 2 6) T = > 0 R zeigt in Richtung Kugel !! R (M-P 0 ) = h = m cos(MP 0 D) = |D-P| !! 4. d 2 = m 2 – h 2 = 44 – = < r 2 = 9 Strahl schneidet wirklich

30 Helwig Hauser Teil 8: Ray Tracing 6.s 2 = r 2 – d 2 = 9 – = s = t 1 = h – s = – = 3.744, t 2 = 7.S 1 = P 0 t 1 R = ( ) T, S 2 = 8.N 1 = (S 1 M) / r = ( ) T, N 2 = Strahl-Kugel Schnitt, Beispiel (2) Bsp.: P 0 = (1 –2 –1) T, R || (1 2 4) T, M = (3 0 5) T, r = 3

31 Helwig Hauser Teil 8: Ray Tracing Strahl-Polygon Schnitt (1) Strahl: P = P 0 + t R |R| = 1 Polygon-Ebene: A x + B y + C z + D = 0 (A 2 +B 2 +C 2 )=1 Normalvektor auf Polygon: N = (A B C) Vektorschreibweise: N P = –D N (P 0 + t R) = –D t = – (D + N P 0 )/N R

32 Helwig Hauser Teil 8: Ray Tracing Strahl-Polygon Schnitt (2) N R = 0 Strahl ist parallel zu Polygon t<0 Schnittpunkt hinter Augpunkt Schnittpunkt: t in Strahlgleichung einsetzen inside/outside-Test für Polygon (z.B.) mit even/odd-Regel

33 Helwig Hauser Teil 8: Ray Tracing Strahl-Box Schnitt t-Werte: Durchschnitt: box Für alle konvexen Vielflächer gilt: Schnitte nur mit Ebenen, kein Polygon (inside/outside) Test notwendig!

34 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beleuchtung Beleuchtung =lokale Beleuchtung + Reflexionsanteil + Brechungsanteil

35 Helwig Hauser Teil 8: Ray Tracing Beleuchtungsmodell Am Schnittpunkt: Lokal (Phong): Rekursive Definition: I(P) = k lokal I lokal + k refl I(P r ) + k trans I(P t ) k local + k refl + k trans = 1

36 Helwig Hauser Teil 8: Ray Tracing Beleuchtung: lokale Beleuchtung Schattenfühler in Richtung L Umgebungslicht Diffuse Reflexion Spiegelnde Reflextion, z.B.

37 Helwig Hauser Teil 8: Ray Tracing Ray Tracing: Reflexion, Brechung Reflexionsstrahl Brechungsstrahl Brechungsgesetz

38 Helwig Hauser Teil 8: Ray Tracing Beleuchtung: Reflexion = H refl I refl … Reflexionsanteil k refl … Reflexionskoeffizient des Materials H refl … Einfallender Teil in Reflexionsrichtung I refl = k refl H refl

39 Helwig Hauser Teil 8: Ray Tracing Beleuchtung: Transparenz H trans A B sin :sin =n B :n A I trans … Transparenzanteil k trans … Transparenzkoeffizient des Materials H trans … Einfallender Teil in Brechungsrichtung I trans = k trans H trans

40 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Beispiele 3 Beispiele

41 Helwig Hauser Teil 8: Ray Tracing Ray Tracing Beispiel 1 Szene: 37 Kugeln 720 Polyg. Algorithmus: 9 Strahlen per Pixel Tiefe 5

42 Helwig Hauser Teil 8: Ray Tracing Ray Tracing Beispiel 2 Szene: 3036 Primitive 2 Lichtquellen Algorithmus: 1 Strahl per Pixel 1.6 Mio. Strahlen

43 Helwig Hauser Teil 8: Ray Tracing Ray Tracing Beispiel 3 Szene: 1298 Polyg. 4 Kugeln 76 Zylider 35 Quadriken 5 Lichtquellen Algorithmus: Light-Buffer

44 Helwig Hauser Teil 8: Ray Tracing Ray Tracing Beispiel 3 – Detail

45 Helwig Hauser Teil 8: Ray Tracing Mängel Komplexität durch Menge an Strahlen (und dabei entstehende Schnitte) Restriktion der Globalität auf Spiegelreflexion und Brechnung (keine globale diffuse Beleuchtung) Visuelle Mängel Anti-Aliasing Kein Halbschatten Tiefenschärfeneffekte

46 Helwig Hauser Teil 8: Ray Tracing Distributed Ray Tracing Anti-Aliasing, Halbschatten, diffuse Reflexion, etc.

47 Helwig Hauser Teil 8: Ray Tracing Distributed Ray Tracing Berücksichtigung folgender Effekte: Aliasing Unscharfe Spiegelung Milchglaseffekte Halbschatten Tiefenunschärfe Bewegungsunschärfe

48 Helwig Hauser Teil 8: Ray Tracing Anti-Aliasing Stochastisches Sampling mit Gauss-Gewichtung

49 Helwig Hauser Teil 8: Ray Tracing Unscharfe Spiegelung Simulation von gerichtet-diffusen Reflexionen durch Variation des Reflexionswinkels

50 Helwig Hauser Teil 8: Ray Tracing Halbschatten source lightshadow penumbra

51 Helwig Hauser Teil 8: Ray Tracing Tiefenunschärfe Abhängigkeit von der Blende berücksichtigen (Durchmesser) pixel lens focus point

52 Helwig Hauser Teil 8: Ray Tracing Algorithmus (Distributed Ray Tracing) Große Anzahl an Strahlen - aber: Monte-Carlo Integration möglich Nur einen Strahl weiterverfolgen Integration eines Strahlenbündels Benötigte Strahlen (pro Pixel): Minimum: 5-10 Gute Qualität: (für einen Effekt) Gute Gesamtqualität: 20-60

53 Helwig Hauser Teil 8: Ray Tracing Distributed Ray Tracing – Bsp. Halbschatten, Blur, Spektren

54 Helwig Hauser Teil 8: Ray Tracing Distributed Ray Tracing – Bsp. Blur & Tiefenunschärfe

55 Helwig Hauser Teil 8: Ray Tracing Distributed Ray Tracing – Bsp.

56 Helwig Hauser Teil 8: Ray Tracing – Beispiele

57 Helwig Hauser Teil 8: Ray Tracing – Beispiele

58 Helwig Hauser Teil 8: Ray Tracing – Beispiele

59 Helwig Hauser Teil 8: Ray Tracing – Beispiele

60 Helwig Hauser Teil 8: Ray Tracing Ray Tracing – Weitere Beispiele


Herunterladen ppt "Helwig Hauser Teil 8: Ray Tracing Beleuchtung, inkl. Schatten, Reflexionen."

Ähnliche Präsentationen


Google-Anzeigen