Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Powerpoint-Vortag für das Seminar „Computergrafik“ im Wintersemester 2003/’04, Fachbereich Mathematik & Informatik, Johannes-Gutenberg-Universität Mainz,

Ähnliche Präsentationen


Präsentation zum Thema: "Powerpoint-Vortag für das Seminar „Computergrafik“ im Wintersemester 2003/’04, Fachbereich Mathematik & Informatik, Johannes-Gutenberg-Universität Mainz,"—  Präsentation transkript:

1 Powerpoint-Vortag für das Seminar „Computergrafik“ im Wintersemester 2003/’04, Fachbereich Mathematik & Informatik, Johannes-Gutenberg-Universität Mainz, von Andreas Diehl Allgemeine Hinweise: Der Vortrag wurde mit MS Powerpoint von MS Office XP erstellt und besitzt komplexere Animationen, die auf älteren Versionen nicht fehlerfrei funktionieren. Inhalte, Quellen und Elemente des Vortrages sind aus diversen Quellen entnommen, welche am Ende bekannt gemacht werden. Zu jeder Folie gibt es im Notizbereich ein paar Hinweise und Erklärungen, Rechtschreibfehler einfach überlesen, auf diese wurde hier keine Aufmerksamkeit vergeudet Inhalt des Vortrags ist eine allgemeine Einführung in das Problem der „Global Illumination“ und anschließender genauerer Erklärung der Methode „Ray Tracing“. Der ganze Vortrag ist für u.a. Fachfremde gedacht und soll einen Überblick und Verständnis vermitteln.

2 Inhalt Kapitel 1: Global Illumination Kapitel 2: Ray Tracing
 Rendergleichung / Path Notation  Monte Carlo Ansatz  verschiedene Methoden (Ray Tracing, Radiosity, Path Tracing, …) Kapitel 2: Ray Tracing  Turner Whitteds Einstieg  Funktionsweise  Optimierungsmethoden Inhaltsverzeichnis: Aufbau des Vortrags: Zwei Kapitel: Global Illumination: grobe Erklärung des Problems via Rendergleichung und Path Notation Kurzer Exkurs: Schätzungsverfahren Monte Carlo (am Bsp. Stratified Sampling) Vorstellen verschiedener Methoden, mit Vor- und Nachteilen Ray Tracing: Wie es begann, mit Turner Whitted Erklären des Algorithmus, der Funktionsweise, Vor- und Nachteile Überblick über verschiedene Optimierungsansätze Seminar Computergrafik WS 2003/04, von A.Diehl

3 Kapitel 1: Global Illumination
bezeichnet allgemein die Simulation der Interaktion von Licht mit der gesamten Umwelt zwei Wege diesen komplexen Vorgang zu erfassen: Rendergleichung Pfadnotation (Path Notation) Was ist Global Illumination? Darstellung des Problems und zwei Wege, diesen komplexen Vorgang irgendwie zu beschreiben: Via Rendergleichung (für jeden Punkt einer Szene), ein mathematischer Ansatz Und via Pfadnotation (hier Path Notation) ein konkreter Ansatz Seminar Computergrafik WS 2003/04, von A.Diehl

4 Rendergleichung [ ]  Streufunktion: das Licht von x‘‘ welches über x‘
1986 von Jim Kajiya aufgestellt Gleichung für einen Punkt x einer Oberfläche [ ]  Streufunktion: das Licht von x‘‘ welches über x‘ nach x gestreut wird.  Integral über S: alle Punkte der Szene  Lichtstrahlung von jedem x‘ auf x.  Lichtintensität von x‘ auf x.  Sichtbarkeitsfunktion: 0 wenn nicht sichtbar, sonst das inverse Quadrat der Distanz Die Rendergleichung: Seit 1986 von Kajiya, besteht aus mehreren Bestandteilen: I(x,x‘) ist die „Illumination“ (Term wird noch häufiger auftauchen), d.h. Beleuchtung des Punktes x von x‘ aus g Sichtbarkeitsfunktion; kann überhaupt Beleuchtung (Licht) von x‘ auf x gelangen? Epsilon: Eigenabstrahlung des Punktes x‘, d.h. eigener Lichtausstoß Integral über alle anderen Punkte der Szene (rekursiver Teil) Mit Funktion p, die Beleuchtung über einen dritten Punkt x‘‘ erfasst, welche bei x‘ ankommt und zu x abgestrahlt wird (komplexester Teil). I(x‘,x‘‘): Rekursion Seminar Computergrafik WS 2003/04, von A.Diehl

5 Rendergleichung viele Ansätze benutzen modifizierte Versionen dieser Gleichung Beispiel: Radiosity-Gleichung (ausgehende Strahlung von x) Rendergleichung: Beispiel Die theoretische Gleichung von Kajiya kann nur in abgewandelter, vereinfachter Form gefunden werden: Am Beispiel der Radiosity-Gleichung (eine Umformung), man beachte z.B. die Formfaktoren am Ende der Gleichung Bekannte Version: Verweis auf die Vorlesung „Einführung in die Computergrafik II“ vom Sommersemester 2003 (vgl. Titelfolie) bzw. die bekannte Version: Seminar Computergrafik WS 2003/04, von A.Diehl

6 Path Notation diese Lichtpfade notiert man in der Form: L ( D|S )* E
einfache Methode die Interaktion zwischen Flächen auszudrücken Licht kann auf eine spekulare oder diffuse Fläche treffen und selbst von einer spekularen oder diffusen Fläche kommen Zweiter Ansatz: Path Notation Alternative zur Rendergleichung das Global Illumination-Problem zu erfassen: Idee ist, den Pfad der Lichtstrahlen zu Notieren: wenn man alle Lichtinteraktionen zwischen Licht L und Betrachter E (von „eye“) darstellen kann, hat man das Global Illumination-Problem gelöst Dazu wird der reguläre Ausdruck L(D|S)*E verwendet, bedeutet beliebig viele spekulare (spiegelnd, reflektierend) und diffuse (matt, streuend, verteilend) Interaktionen können zwischen Licht und Auge stattfinden. | bedeutet ODER, * beliebige Wiederholung (auch 0). diffuse Oberfläche L E D S spekulare Oberfläche Seminar Computergrafik WS 2003/04, von A.Diehl

7 Monte Carlo Ansatz Annäherungsmethode, z.B. zum Lösen von Integralen, wie z.B. Rendergleichung Durchschnitt von n Zufallwerten:  einfache Methode je mehr Zufallswerte man nimmt, desto genauer wird das Ergebnis doch weitere Werte haben immer weniger Effekt  daher nimmt man eine feste Zahl von Werten (auch wegen Rechenzeit) Kleiner Exkurs: Monte Carlo Ansatz Schätzungsverfahren, dass oft in der Computergrafik benutzt wird, Bsp. Rendergleichung Methode ist einfach: man berechnet den Durchschnitt von n Zufallswerten, wobei man in der Computergrafik dazu tendiert, ein festes n zu nehmen, da weitere Werte das Ergebnis kaum mehr beeinflussen, und die Rechenzeit somit in Grenzen bleibt. Seminar Computergrafik WS 2003/04, von A.Diehl

8 Monte Carlo Ansatz man unterteilt das Integral in n gleiche Sektionen, und wendet Stratified Sampling an: f(x) ξn ξ2 ξ1 Beispiel: Monte Carlo, Stratified Sampling Stratified Sampling: Bsp. Schätzen eines Integrals. Man unterteilt es in n gleiche Sektionen, und in diesen Sektionen wählt man jeweils Zufallswerte (stratified) Durchschnitt dieser Zufallswerte ist Schätzung des Integrals, und vor Computergrafik durchaus ausreichend, da kleinere Veränderungen kaum mehr wahrgenommen werden. Seminar Computergrafik WS 2003/04, von A.Diehl

9 Einführung: Ray Tracing
Idee: Strahlen durch eine Szene begleiten dem Licht entgegen: vom Betrachter aus bei einem Schnitt mit einem Objekt werden Lichtstrahl, gebrochener und reflektierter Strahl erzeugt blickpunktabhängig Licht Einführung in Ray Tracing Dient dazu die folgenden Ansätze besser zu verstehen, da sie auf der Methode aufbauen, genaueres dazu kommt in Kapitel 2 Grobe Idee: Strahlen durch die Szene begleiten, vom Betrachter aus. Algorithmus: man nutzt eine Leinwand (in Pixeln) und ermittelt die Farbe jedes Pixels dadurch, dass man durch es Strahlen schießt. Die Schnittobjekte dieser Strahlen, die möglicherweise reflektierten und gebrochenen Strahlen ermitteln den Farbwert des Strahls (Pixels). Blickpunktabhängige Methode, da man von der Kamera ausgeht. Vorteile: Leichter Algorithmus Leichte Schattenberechnung Automatisches Nicht-Betrachten von nicht-sichtbaren Flächen (werden nicht getroffen) Ideal zum Darstellen von Reflektionen, Spiegelungen und Transparenz Nachteile: Scharfe Kanten (Schattenränder, etc.) Keine diffusen Interaktionen (obwohl Szenen meist dominierend diffus sind) Punktlichtquellen Sehr aufwendige und viele Schnittoperationen Leinwand Objekt Kamera Seminar Computergrafik WS 2003/04, von A.Diehl

10 Ein Beispiel Schatten indirektes Licht Lichtbrechung Ray Tracing
Global Illumination Ein Beispiel, wie sich Ray Tracing äußert Im Vergleich zu einem „richtigen“ Bild fällt auf, dass Schatten schwarz (wegen einer Lichtquelle, d.h. entweder Schatten oder nicht) und scharfkantig Keine indirekte Beleuchtung (Wände strahlen kein Licht mehr zur Decke ab) Keine Lichtbrechungseffekte Seminar Computergrafik WS 2003/04, von A.Diehl

11 Einführung: Radiosity
Idee: jede Fläche strahlt Licht ab d.h. es wird für jede Fläche das Licht von allen anderen Flächen bestimmt je nach Material strahlt diese Fläche wieder Licht ab blickpunktunabhängig Lichtquelle Einführung in die Methode Radiosity Dient ebenfalls nur als Überblick, damit spätere Methoden verständlich bleiben Grobe Idee: jede Fläche wird als Lichtquelle behandelt Algorithmus: jede Fläche strahlt Licht ab (je nach Flächeneigenschaft). Man beginnt mit der hellsten und schaut, wieviel Licht sie auf andere Flächen verteilen. Diese strahlen von dem erhaltenen Licht wiederum einen Teil ab. So bekommt jede Fläche Licht, und verteilt davon weiterhin einen Anteil an die Umgebung Blickpunktunabhängige Methode (kein Betrachter) Vorteile: Flächige Lichtquellen Ideal für diffuse Interaktionen Automatische Schattenberechnung Nachteile: Aufwendiger Algorithmus Keine Spiegelungen, Reflektionen Fläche A Fläche B Seminar Computergrafik WS 2003/04, von A.Diehl

12 Path Tracing Kajiya stellte fest, dass klassisches Ray Tracing
verschwenderisch ist: es erzeugt mehr und mehr Strahlen, je tiefer der Algorithmus geht diese Strahlen haben aber immer weniger Effekt: Betrachter Methode: Path Tracing Von Kajiya, welcher meinte, dass klassisches Ray Tracing verschwenderisch ist, denn der Algorithmus erzeugt in der Tiefe immer weitere Strahlen, die allerdings immer weniger Effekt auf das eigentliche Ergebnis haben Lichtstrahl gebrochenes Licht reflektiertes Licht Seminar Computergrafik WS 2003/04, von A.Diehl

13 Path Tracing daher die Idee den Pfad eines Strahles zu verfolgen
hierbei wird zufällig bestimmt, ob reflektierter oder gebrochener Strahl erzeugt wird betrifft spekulare und diffuse Flächen daher müssen pro Pixel auch mehrere Strahlen initiiert werden: Methode: Path Tracing Idee von Path Tracing: den Pfad eines Strahls zu verfolgen Um weiterhin alle Interaktionen zu erhalten wird pro Schnittpunkt zufällig gewählt, ob der Strahl reflektiert oder gebrochen wird, natürlich abhängig der Flächeneigenschaften (hierfür kann man auch Monte Carlo benutzen) D.h. es müssen mehrere Strahlen pro Pixel initiiert werden: Seminar Computergrafik WS 2003/04, von A.Diehl

14 Path Tracing 400 Strahlen pro Pixel 225 Strahlen pro Pixel
Mit dieser Methode erreicht man volle L(S|D)*E Interaktionen, mit allerdings hohen Kosten: Man erhält also folgende Baumstruktur: erster Strahl: zweiter Strahl: Betrachter Lichtstrahl Betrachter Lichtstrahl gebrochenes Licht reflektiertes Licht Methode: Path Tracing Eine sehr einfache Methode und man erhält tatsächlich volle L(D|S)*E-Interaktionen Allerdings braucht man, für gute Ergebnisse, viele Strahlen pro Pixel, wie man anhand der Bilder erkennen kann. Seminar Computergrafik WS 2003/04, von A.Diehl

15 Distributed Ray Tracing
Erweiterung des klassischen Ray Tracing, von Cook (1986) klassisches Ray Tracing ist zu „perfekt“ (scharfe Kanten, perfekte Reflektionen, …) hierzu wird bei jedem Schnittpunkt eine gerichtete Menge von Strahlen erzeugt: Methode: Distributed Ray Tracing Ebenfalls eine modifizierte Version des Ray Tracings, eingeführt von Cook welcher bemängelte, dass perfekte Ränder, Spiegelungen, Reflektionen und Transparenz zu unreal sei Seine Lösung ist eine gerichtete Menge von Strahlen, die beim ersten Schnittpunkt erzeugt wird. Dies bedeutet, dass mehrere Strahlen fast in die gleiche Richtung gehen, und eben nach Materialeigenschaft (auch hier Monte Carlo denkbar) verschieden stark gestreut werden. Objekt Seminar Computergrafik WS 2003/04, von A.Diehl

16 Distributed Ray Tracing
Dadurch kann man verschiedene Effekte erreichen:  verschwommene Transparenz  weiche Schatten  verschwommene Reflektionen klassisches Ray Tracing: Distributed Ray Tracing: (50 Strahlen) Methode: Distributed Ray Tracing Was man hiermit erreicht, in den stark vergrößerten Bildern aber dennoch erkennbar, sind verschwommene Effekte, u.a. auch weicher Schattenrand. Wie man allerdings an der Zahl von 50 Strahlen erkennen kann, ist dies ebenfalls nicht die effektivste Methode. Weitere Verfeinerungen der Methode können auch weitere Effekte wie Tiefenunschärfe und Linseneffekte hervorrufen, hierauf wird allerdings nicht weiter eingegangen. Seminar Computergrafik WS 2003/04, von A.Diehl

17 Two-Pass Ray Tracing Man erkennt, dass die diffuse Oberfläche der „Treffpunkt“ beider Pässe ist. Wir erhalten z.B. folgende Pfade: LSDE LSSDSE  Ein wichtiger Vorteil dieser Methode ist, dass der erste Pass blickpunktunabhängig ist und die Light Maps somit im Vorfeld berechnet werden können. Von Arvo (1986) vorgeschlagen, als bidirektionale Ray Tracing Methode um Lichtbrechungen darzustellen. 1.Pass: Lichtstrahlen von den Lichtquellen durch spekulare Interaktionen begleiten, bis zur ersten diffusen Fläche: Die Lichtenergie muss nun auf den diffusen Oberflächen in einer Art gespeichert werden. (vgl. Texture Map) 2.Pass: klassisches Ray Tracing, welches bei diffusen Flächen endet, und die gespeicherte Lichtenergie nutzt, als Annährung: Light Map Methode: Two-Pass Ray Tracing Eine Methode die einige neue Lichteffekte darstellen kann und grundsätzlich aus zwei „Pässen“ besteht: dem Lichtpass und dem Augenpass (engl.: Light Pass und Eye Pass). Grundsätzliche Idee benutzt sog. Light Maps, welche vergleichbar zu Texture Maps aufgebaut werden können. Vom Licht aus werden Strahlen erzeugt und diese durch spekulare Interaktionen verfolgt, bis sie auf einer diffusen Fläche enden. Ihre Lichtinformation wird dort in einer Light Map gespeichert. Dies ist der sog. Light Pass, sein Vorteil ist, dass er im Vorhinein berechnet werden kann. Der Eye Pass folgt danach und benutzt klassisches Ray Tracing vom Betrachter aus. Enden die Strahlen wieder bei diffusen Oberflächen, nutzt man nun die hier gespeicherten Informationen der Light Maps. Man erkennt, dass die diffusen Flächen „Treffpunkt“ der beiden Pässe sind, woraus sich nach der Path Notation folgende Interaktionen darstellen lassen: LS*DS*E, also ein zentrales D. diffuse Oberflächen Lichtquelle spekulare Oberflächen Seminar Computergrafik WS 2003/04, von A.Diehl

18 Two-Pass Ray Tracing Ein Beispiel, wie sich diese Methode äußert:
je nach Dichte ergeben sich Lichteffekte: Methode: Two-Pass Ray Tracing In dem Beispiel sieht man was diese Methode hervorbringen kann: je nach Dichte der Lichtinformationen ergeben sich helle Lichtpunkte durch Lichtbrechung Licht Pass Seminar Computergrafik WS 2003/04, von A.Diehl

19 Multi-Pass Methoden  hierdurch erweitern wir die Pfade zu: LS*D*S*E
Wir haben immer die Unterscheidung: Blickpunktabhängigkeit (spekulare Interaktionen) Blickpunktunabhängigkeit (diffuse Interaktionen) Die Two Pass Methode kann nur LS*DS*E Pfade darstellen. Eine Erweiterung nimmt nun die Radiosity Methode hinein: D Light Map S Methode: Mult-Pass Ray Tracing Wie der Name suggeriert ist dies eine Erweiterung des Two-Pass Ray Tracings, bzw. sind Multi-Pass Methoden allgemein eine Beschreibung für Ideen dieser Art. Hier wird versucht die vornehmliche Unterscheidung von Blickpunktabhängigkeit und –unabhängigkeit zu vereinen, um tatsächlich alle Vorteile zu erhalten. Der erste Pass ist weiterhin der Light Pass und erzeugt die Light Maps Hernach erfolgt der neue Pass: klassisches Radiosity zwischen allen diffusen Flächen, um die Light Maps zu aktualisieren. Bis hierhin kann im Vorfeld berechnet werden. Schließlich wieder der bekannte Eye Pass. Hierdurch erweitert man die Interaktionen zu LS*D*S*E, also beliebig vielen D‘s. Weiterhin fehlend aber der mehrfache Wechsel zwischen diffus und spekular. Hierbei ist aber zu erwähnen, dass bereits Two-Pass Ray Tracing für das menschliche Auge sehr gute Ergebnisse liefern kann, und die Lichtveränderungen durch einen mehrfachen spekular-diffus Wechsel eigentlich kaum wahrnehmbar sind. S D Light Map neuer Pass: Radiosity Seminar Computergrafik WS 2003/04, von A.Diehl

20 Fragen? Seminar Computergrafik WS 2003/04, von A.Diehl
Ende des 1. Kapitels, Zeitraum für Fragen. Seminar Computergrafik WS 2003/04, von A.Diehl

21 Kapitel 2: Ray Tracing Auch „Whitted Ray Tracing“ genannt, nach Turner
Whitted, welcher 1980 das erste Bild ray tracte: Kapitel 2: Ray Tracing Benannt nach Turner Whitted (daher auch „Whitted Ray Tracing), das Bild gilt offiziell als das erste ge-raytracte Bild von 1980. Seminar Computergrafik WS 2003/04, von A.Diehl

22 Eigenschaften zentral im Ray Tracing sind Schnittoperationen
der naive Ansatz testet also für jeden Strahl den Schnitt mir jeder Fläche! pro Schnitt werden zwei neue Strahlen erzeugt für Schattenberechnung werden pro Schnitt noch n weitere Strahlen erzeugt (bei n Lichtquellen)  sehr aufwendig! Die Elementaren Eigenschaften des Ray Tracing Wie schon in der Einführung gesehen, werden die Strahlen mit den Objekten geschnitten, d.h. ganz zentral liegen die Schnittoperationen. Naiv gesagt wird jeder Strahl mit jedem Objekt auf einen möglichen Schnitt geprüft. Bei einem Schnitt werden, je nach Oberfläche, neue Strahlen erzeugt. Je nach Menge der Lichtquellen auch n weitere Strahlen (bei n verschiedenen Lichtquellen), um zu schauen, inwiefern dieser getroffene Punkt beleuchtet wird. Zusammengefasst ein sehr aufwendiger Algorithmus, da diese neuen erzeugten Strahlen (außer der Lichtstrahlen) gleichsam durch die Szene verfolgt werden. Seminar Computergrafik WS 2003/04, von A.Diehl

23 Algorithmus Kamera Bildebene (in Pixeln) Lichtstrahl (zu jeder Quelle)
Objekt / Fläche gebrochener Strahl reflektierter Strahl Der Algorithmus im Detail ist eine Baumstruktur: Man beginnt beim Betrachter/Kamera/Auge und „schießt“ von dort aus Strahlen durch eine Bildebene, welche in Pixel unterteilt ist. Pro Pixel ein Strahl, woraus sich Ursprung und Richtung des Strahls errechnen lassen. In der Szene wird er auf mögliche Schnittpunkte mit Objekten getestet. Trifft er eines, werden ein reflektierter und ein gebrochener Strahl erzeugt (je nach Oberfläche) und die n Lichtstrahlen. Gebrochener und reflektierter Strahl werden weiter durch die Szene verfolgt, terminieren bei diffusen Flächen, oder können immer weitere Strahlen hervorbringen. Jeder Strahl trägt einen Farbwert. Zunächst die Farbe des ersten Schnitts, welche durch den Einfluss der Lichtquellen und der Informationen die von den gebrochenen und reflektierten Strahlen kommen, modifiziert wird (z.B. Phong Shading) Wie Kajiya bereit anmerkte, haben diese Farbinformationen aus den tieferen Ebenen des Algorithmus immer weniger Einfluss auf den eigentlich Farbwert des Initialstrahls. diffuse Oberfläche Seminar Computergrafik WS 2003/04, von A.Diehl

24 Rekursion Dieses Beispiel basiert auf Whitteds Ray Tracing:
Bei jedem Punkt x, der von einem Strahl getroffen wird haben wir eine lokale und eine globale Komponente: Der Algorithmus funktioniert rekursiv, und hat grob gesehen die o.g. Formel: Die Intensität des Punktes x I(x) setzt sich zusammen aus der lokalen und der globalen Komponente. Lokal ist der Eigenfarbwert der Oberfläche mit der Beleuchtung der Lichtquellen Global die Farbinformation der gebrochenen und reflektierten Strahlen, mit jeweiligen Koeffizienten 0 <= k <= 1 und der Summe aller k = 1 Seminar Computergrafik WS 2003/04, von A.Diehl

25 Beispiele Seminar Computergrafik WS 2003/04, von A.Diehl
Hier ein Beispiel für den Lebenszyklus von Strahlen: Bsp. 1: trifft die spiegelnde Kugel und wird zur diffusen Ebene mit dem Schachbrettmuter reflektiert und endet dort. Die Reflektion sieht man im unteren Teil der Kugel. Bsp. 2: dieser Strahl trifft sofort das Schachbrett, der Lichtstrahl stellt fest, dass der Punkt im Schatten liegt, da die spiegelnde Kugel direkte Beleuchtung verhindert Bsp. 3: der Strahl trifft die gläserne Kugel und wird dort wieder zunächst auf das Schachbrett reflektiert. Allerdings wird er auch gebrochen, geht durch die Kugel und wird abermals auf das hintere Schachbrett gebrochen. Der Effekt ist ein verzerrtes Bild durch die gläserne Kugel. Seminar Computergrafik WS 2003/04, von A.Diehl

26 Optimierung naives Ray Tracing ist sehr kostenaufwendig
vor allem Schnittberechnungen sind teuer hohe Rekursionstiefe, wobei tiefere Strahlen immer weniger Effekt haben daher wurden einige Optimierungsmethoden entwickelt … Man konnte erkennen, dass Ray Tracing in vielen Variationen und Methoden Verwendung findet, aufgrund der relativen Einfachheit des Algorithmus. Es ist allerdings sehr kostenaufwendig was die Schnittberechnungen und die Rekursionstiefe angeht. Daher entstanden im Laufe der Zeit mehr und mehr Optimierungsmethoden, die vor allem in diesen Bereichen greifen: Seminar Computergrafik WS 2003/04, von A.Diehl

27 Adaptive Depth Control
Die Tiefe des Algorithmus hängt stark von der Szene ab: viele spekulare Objekte bedeuten viele Reflektionen und hohe Tiefe bei diffusen Objekten enden die Strahlen früher die Intensität der Strahlen wird immer weiter durch die Koeffizienten vermindert, je tiefer der Algorithmus geht: allgemein: k1·k2·…·kn Optimierung: Adaptive Depth Control Wie bereits erwähnt, liefert die Tiefe des Algorithmus immer weniger Beitrag zum eigentlichen Farbwert. Sichtbar ist das an der globalen Komponente, den Koeffizienten k, welche in ihrem Produkt immer geringer werden. 2 1 Seminar Computergrafik WS 2003/04, von A.Diehl

28 Adaptive Depth Control
diese Methode setzt einen Minimalwert für die Intensität eines Strahles wird dieser Wert unterschritten, bricht der Algorithmus ab  Selbst bei sehr reflektierenden Szenen und einer maximalen Rekursionstiefe von 15 kommt eine durchschnittliche Tiefe von 1,71 heraus (nach Hall und Greenberg, 1983). Optimierung: Adaptive Depth Control Die Adaptive Deth Control, von Hall und Greenberg, setzt einen Minimalwert für die Lichtintensität eines Strahls, d.h. unterschreitet er diesen Wert, wird der Algorithmus dort abgebrochen. Eine simple Idee und einfache Methode mit großem Effekt. Seminar Computergrafik WS 2003/04, von A.Diehl

29 Hüllkörper Weitere Methode die Schnittberechnungen zu optimieren:
Einfassen eines Objekts in einen Hüllkörper (einfacher Schnitttest) erst wenn dieser getroffen wird, wird das Objekt geprüft auch Hierarchien von Hüllkörpern werden verwendet Wahl der Hüllkörper ist ebenfalls wichtig: Optimierung: Hüllkörper Ganz zentral auch Hüllkörper, d.h. Objekte werden in sog. Hüllkörper eingefasst, die zunächst einen einfacheren Schnitttest haben. Erst wenn dieser Hüllkörper getroffen wird, wird geprüft, ob das Objekt darin auch tatsächlich getroffen wird. Effektiv wird das Ganze erst mit Hüllkörper-Hierarchien, d.h. mehrere Hüllkörper werden wieder in einen größeren zusammengefasst. Die Wahl des Hüllkörpers ist allerdings sehr wichtig, denn zu große Hüllkörper werden zu oft getroffen, öfter das das eigentliche Objekt darin. Hüllkugel: viel Leerraum Hüllquader: schon effektiver Objekt Seminar Computergrafik WS 2003/04, von A.Diehl

30 Hüllkörper Gängig sind drei Arten von Hüllkörpern: Hüllkugeln
achsenorientierte Hüllquader objektorientierte Hüllquader Optimierung: Hüllkörper Hüllkugeln sind leicht zu erzeugen, auch bei komplexeren Objekten lassen sich diese einfach darin einfassen, und ebenfalls ist der Schnitttest mit Kugeln sehr einfach. Nachteil kann aber sein, dass je nach Objekt, z.B. sehr flachen, Hüllkugeln sehr viel Leerraum erzeugen Achsenorientiere Hüllquader (AABBs) sind am Koordinatensystem ausgerichtet und lassen sich auch relativ einfach erstellen. Doch auch hier kommt es auf die Art des Objektes an. Achstenorientiere Hüllquader sind sozusagen der Durchschnitt in allen Gesichtspunkten. Objektorientierte Hüllquader (OOBBs) drehen sich praktisch mit dem Objekt und können es so optimal einfassen. Problematischer hier das erstellen der Quader und die Schnitttests. Seminar Computergrafik WS 2003/04, von A.Diehl

31 Räumliche Zusammenhänge
einfache Idee: die Szene wird in Regionen unterteilt nun schneidet man einen Strahl mit Objekten in der Region, die er durchquert nicht mit allen Objekten! die Aufteilung geschieht vor dem eigentlichen Ray Tracing und wird in einer weiteren Datenstruktur gespeichert  einmalige Berechnung Optimierung: räumliche Zusammenhänge Eine andere Idee, die Schnitttests zu verringern teilt nun die Szene in verschiedene Regionen auf Dadurch muss man nur noch feststellen, in welcher Region sich der Strahl befindet, und fortan nur noch die Objekte in dieser Region auf Schnitt prüfen Diese Szenenaufteilung geschieht im Vorfeld und kann in einer externen Datenstruktur abgespeichert werden, d.h. eine einmalige Berechnung ist nur notwendig. Seminar Computergrafik WS 2003/04, von A.Diehl

32 Räumliche Zusammenhänge
Einfaches Beispiel mit Trennebenen: mehrere Ansätze für diese Idee variieren im Aufbau der Datenstruktur meist verbreitet sind: BSP – Bäume Octrees Optimierung: räumliche Zusammenhänge Als kleine Verdeutlichung des Prinzips, kann man z.B. Trennebenen benutzen Diese Methode findet vielerlei Anwendung und Variation, die sich allerdings meist in der Datenstruktur äußert. Meist verbreitet/bekannt sind: Binary Space Partitioning Trees (BSP Trees), und Octrees. Seminar Computergrafik WS 2003/04, von A.Diehl

33 Ray Space Subdivision Idee von Arvo und Kirk (1987):
anstatt Szene in Regionen aufzuteilen, teilt man den Raum der Strahlen 5D-Hyperwürfel, somit ist ein Strahl ein 5-Tupel (x, y, z, u, v) mit Ursprung (x, y, z) und Richtung (u, v) Optimierung: Ray Space Subdivision Ein anderer Ansatz teilt nicht die Szene auf, sondern den Raum der Strahlen: Mit einem fünfdimensionalem Würfel kann man einen Strahl als 5-Tupel angeben: Ursprung (x, y, z), Mittelpunkt des Würfels, und Richtung (u, v) welche den Punkt der Würfeloberfläche angeben, durch den der Strahl den Würfel verlässt. Strahl mit (x, y, z, u, v) (u, v) Seminar Computergrafik WS 2003/04, von A.Diehl

34 Ray Space Subdivision diese „Strahlen“ werden mit den Objekten geschnitten dadurch erzeugt man eine Liste mit möglichen Schnittobjekten benötigt eine 5D-Erweiterung eines Octrees komplexe Struktur schwierige Schnittoperation, daher werden Hüllkugeln empfohlen Optimierung: Ray Space Subdivision Via Mittelpunkt und Würfelseite bekommt man nun eine pyramidales Objekt, welches man mit der Szene schneiden kann, dadurch enthält man nur eine Liste von Objekten, die der Strahl potentiell treffen kann Das Ganze hinkt an einer komplexen Struktur, z.B. der fünfdimensionalen Erweiterung eines Octrees für diese pyramidalen Strahlen. Und eben komplexen Schnittoperationen, weshalb Arvo und Kirk Hüllkugeln empfehlen. Seminar Computergrafik WS 2003/04, von A.Diehl

35 Beam Tracing Bisher wurde eine wichtige Eigenschaft ausgelassen:
ein Strahl hat viele Nachbarn, die ähnliche Schnittobjekte haben man folgt also gleich mehreren Strahlen durch die Szene (sog. Beams) benötigt transformiertes Koordinatensystem, beginnt mit Kamera-Koordinatensystem rekursiver Algorithmus, der mit dem View Frustum beginnt : Optimierung: Beam Tracing Geht in eine ähnliche Richtung wie die Ray Space Subdivion Methode. Hierbei möchte man die Eigenschaft nutzen, dass ein Strahl viele Nachbarn mit gleichen/ähnlichen Schnittobjekten hat. Daher folgt man gleich mehreren Strahlen, sog. Strahlenbündel (engl. Beam) durch die Szene. Um dies zu verwirklichen transformiert man das Koordinatensystem nach einem Schnitt, und beginnt mit dem View Frustum Seminar Computergrafik WS 2003/04, von A.Diehl

36 geschnittenes Polygon
Beam Tracing virtueller Blickpunkt reflektierter Beam große Nachteile dieser Technik sind: nur noch polygonale Objekte (keine Kugeln), was der große Vorteil des Ray Tracings ist es können Löcher in den Beams enstehen Lichtbrechung ist nicht mehr linear berechenbar beginnender Beam geschnittenes Polygon Optimierung: Beam Tracing Beim Schnitt mit einem Objekt wird das Koordinatensystem transformiert und mittels eines virtuellen Blickpunktes der reflektierte Beam ermittelt. Probleme hierbei sind, dass Löcher in den Beams entstehen können. Man bedenke, dass diese Beams dreidimensional gesehen wieder solche pyramidalen Konstrukte sind, deren „Schnittfläche“ ein Viereck ist. Hierin können nun Lücken und Löcher entstehen, wenn Objekte nur gestreift werden oder sehr klein sind. Viel problematischer allerdings ist, dass ein großer Vorteil des Ray Tracings, nämlich die Darstellung von gewölbten Flächen (insbesondere Kugeln) nicht mehr möglich sind; man stelle sich vor, wie der reflektierte Strahl auf einer Kugeloberfläche aussähe. Dahingehend ist auch die Lichtbrechung nicht mehr linear berechenbar. Seminar Computergrafik WS 2003/04, von A.Diehl

37 weiterer Ansatz Um neue Schnitte festzustellen, werden
Sicherheitszylinder konstruiert (Bsp. r-2): Ein anderer Ansatz ist, die Schnittobjekte des vorherigen Strahls zu benutzen, um die des nächsten vorherzusagen: r durchstößt der neue Strahl diesen Sicherheitsbereich, werden herkömmliche Schnitttests durchgeführt ansonsten die Schnittobjekte des vorherigen Strahls behandelt r-1 r-2 Optimierung: Nachbarn Wiederum auf die gleiche Idee aufbauend kam die Idee von Speer es ausnutzen zu wollen, dass benachbarte Strahlen mehrere Schnittobjekte gemeinsam haben. Er wollte die Schnitte aus den Informationen des vorhergehenden Strahls vorhersagen. Dazu wird ein Sicherheitszylinder um einen Strahl konstruiert (s. Abb.). Alle Strahlen die sich in diesem Zylinder aufhalten, haben die gleichen Schnitte. Erst wenn ein Strahl einen Zylinder verlässt, werden herkömmliche Schnitttests durchgeführt. O1 O3 O2 Seminar Computergrafik WS 2003/04, von A.Diehl

38 weiterer Ansatz Dieser Ansatz von Speer (1986) hat dennoch den
Nachteil, dass er aufwendiger ist, als klassisches Ray Tracing, da zwar ⅔ der Strahlen sich ähnlich verhalten, aber die Berechnung der Sicherheitszylinder und die Durchstoßberechnungen hinzukommen, denn auch deren Größe sinkt mit der Komplexität der Szene. Optimierung: Nachbarn Hierbei ist aber zu bedenken, dass sich zwar viele Strahlen ähnlich verhalten, aber die Konstruktion der Sicherheitszylinder, sowie die Durchstoßberechnungen vehement mehr Rechenaufwand zur Folge hat, und man sollte bedenken, dass auch die Größe der Zylinder stark von der Szene abhängt, wodurch dieser Ansatz insgesamt aufwendiger ist, als klassisches Ray Tracing. Seminar Computergrafik WS 2003/04, von A.Diehl

39 Quellen „3D Computer Graphics“ von Alan Watt
„An Introduction to Global Illumination“ von Tomas Akenine-Moeller, (PPT-Vortrag) „Distributed Ray Tracing“ von Allan Martin (http://www.cs.wpi.edu/~matt/courses/cs563/talks/dist_ray/dist.html) „Naive Path Tracing“ (http://www.cs.unc.edu/~naiks/ugrad/cs6620/p4/) „Global Illumination“ von CS324 Computer Graphics WinOSI (http://www.winosi.onlinehome.de/Comp1.htm) Zu Ende des 2. Kapitels nun noch die Quellen, die beim Aufbau und der Gestaltung des Vortrag maßgeblich geholfen haben. Grundsätzlich lässt sich sagen, dass alle Bilder dem Internet, bzw. von anderen Vorträgen entnommen sind, allerdings im gleichen Kontext sollten sie dazu dienen, ein paar „echte“ Ergebnisse und Äußerungen der Methoden aufzuzeigen. Alan Watts „3D Computer Graphics“ war maßgebender Leitfaden für die Inhalte und Struktur des Vortrages. An ihm orientierte ich mich weitestgehend und erhielt die meisten Informationen, speziell seine Kapitel „Global Illumination“ und „Ray Tracing“ betrachtend. Tomas Akenine-Moellers Powerpoint-Vortrag war eine gute Hilfe für das Thema „Path Tracing“, welches er dort mit einigen Beispielen gut erklärte. Allan Martin lieferte Bildmaterial und Details zum „Distributed Ray Tracing“ „Naive Path Tracing“, eine Internetseite zum Thema „Path Tracing“ insgesamt bietet einen breitgefächerten Überblick über verschiedene Methoden und Eigenschaften. CS324 Computer Grafics ist eine pdf-Datei deren Herkunft mir mittlerweile unbekannt ist, aber sie bietet auch Überblick und Einführung in die „Global Illumination“ Die WinOSI-Seite bietet sehr interessante Bilder zu verschiedenen Programmen und Methoden wo man direkt am Beispiel die Unterschiede, Vor- und Nachteile erkennen kann. (alle Seiten vom Zeitraum November 2003) Seminar Computergrafik WS 2003/04, von A.Diehl

40 Ende Vielen Dank für Ihre Aufmerksamkeit!
Ende des gesamten Vortrags. Zeit für Fragen, Anregungen, Bemerkungen etc. Seminar Computergrafik WS 2003/04, von A.Diehl


Herunterladen ppt "Powerpoint-Vortag für das Seminar „Computergrafik“ im Wintersemester 2003/’04, Fachbereich Mathematik & Informatik, Johannes-Gutenberg-Universität Mainz,"

Ähnliche Präsentationen


Google-Anzeigen