www.wikidata.de-de.nina.az
Raytracing dt Strahlverfolgung 1 oder Strahlenverfolgung 2 in englischer Schreibweise meist ray tracing ist ein auf der Aussendung von Strahlen basierender Algorithmus zur Verdeckungsberechnung also zur Ermittlung der Sichtbarkeit von dreidimensionalen Objekten von einem bestimmten Punkt im Raum aus Ebenfalls mit Raytracing bezeichnet man mehrere Erweiterungen dieses grundlegenden Verfahrens die den weiteren Weg von Strahlen nach dem Auftreffen auf Oberflachen berechnen Verwendung findet Raytracing in der 3D Computergrafik Hier ist der grundlegende Raytracing Algorithmus eine Moglichkeit zur Darstellung einer 3D Szene Erweiterungen die den Weg von Lichtstrahlen durch die Szene simulieren dienen ebenso wie das Radiosity Verfahren der Berechnung der Lichtverteilung Weitere Anwendungsgebiete von Raytracing sind die Auralisation Seismik 3 und Hochfrequenztechnik Mit Raytracing berechnetes BildInhaltsverzeichnis 1 Ursprung und Bedeutung 2 Grundprinzip 2 1 Verdeckungsberechnung 2 2 Schnittpunkttests 2 3 Shading 2 4 Beispielcode 3 Leistung 3 1 Beschleunigungstechniken 3 2 Speicherbedarf 4 Erweiterungen 4 1 Schatten 4 2 Rekursives Raytracing 4 3 Diffuses Raytracing 4 4 Path Tracing und Light Ray Tracing 4 5 Weitere Entwicklungen 4 6 Ubersicht 4 7 Besonderes 5 Einsatzgebiete 5 1 Computergrafik 5 2 Weitere Anwendungsgebiete 6 Literatur 7 Weblinks 8 AnmerkungenUrsprung und Bedeutung Bearbeiten nbsp Mit Raytracing konnen fotorealistische Bilder erzeugt werden Vor der Entwicklung von Raytracing bestand das junge Gebiet der 3D Computergrafik im Wesentlichen aus einer Reihe von Programmiertricks mit denen die Schattierung von beleuchteten Objekten nachgeahmt werden sollte Raytracing war der erste Algorithmus auf diesem Gebiet der einen gewissen physikalischen Sinn ergab Das erste mit Raytracing berechnete Bild wurde 1963 an der University of Maryland auf einem oszilloskopartigen Bildschirm ausgegeben 4 Als Entwickler des Raytracing Algorithmus gelten oft Arthur Appel Robert Goldstein und Roger Nagel die den Algorithmus Ende der 1960er Jahre veroffentlichten 5 6 7 Weitere Forscher die sich zu dieser Zeit mit Raytracing Techniken beschaftigten waren Herb Steinberg Marty Cohen und Eugene Troubetskoy 8 Raytracing basiert auf der geometrischen Optik bei der das Licht als eine Gruppe von Strahlen verstanden wird Die beim Raytracing verwendeten Techniken wurden bereits wesentlich fruher unter anderem von Herstellern optischer Systeme verwendet Heute verwenden viele Renderer Computerprogramme zur Erzeugung von Bildern aus einer 3D Szene Raytracing eventuell in Kombination mit weiteren Verfahren Einfache Formen des Raytracings berechnen nur die direkte Beleuchtung also das direkt von den Lichtquellen eintreffende Licht Raytracing wurde seit seiner ersten Verwendung in der Computergrafik jedoch mehrmals wesentlich erweitert Weiterentwickelte Formen berucksichtigen auch das indirekte Licht das von anderen Objekten reflektiert wird man spricht dann von einem globalen Beleuchtungsverfahren Der Begriff Raycasting bezeichnet meist eine vereinfachte Form des Raytracings wird teilweise aber auch synonym dazu gebraucht Grundprinzip BearbeitenDie Erzeugung eines Rasterbildes aus einer 3D Szene wird Rendern oder Bildsynthese genannt Voraus geht die Erstellung einer solchen Szene vom Benutzer mit Hilfe eines 3D Modellierungswerkzeugs In der Szenenbeschreibung werden zumindest folgende Daten angegeben die Position der elementaren Primitive wie Polygone oder Kugeln aus denen sich die Objekte der Szene zusammensetzen die lokalen Beleuchtungsmodelle und deren Parameter die die Farben und Materialien der einzelnen Objekte der Szene bestimmen die Lichtquellen der Szene Daneben wird beim Raytracing auch die Position eines Augpunktes sowie einer Bildebene angegeben die zusammen die Perspektive angeben aus der die Szene betrachtet wird Der Augpunkt ist ein Punkt im Raum der der Position einer virtuellen Kamera oder eines allgemeinen Beobachters entspricht Die Bildebene ist ein virtuelles Rechteck das sich in einiger Entfernung zum Augpunkt befindet Sie ist die dreidimensionale Entsprechung des zu rendernden Rasterbildes im Raum Rasterformig verteilte Punkte auf der Bildebene entsprechen den Pixeln des zu erzeugenden Rasterbildes Verdeckungsberechnung Bearbeiten nbsp Das Raytracing Prinzip Vom Augpunkt aus wird ein Strahl durch einen Pixel der Bildebene gesendet und auf den nachsten Schnittpunkt mit der Szene getestet Der Pixel wird entsprechend eingefarbt nbsp Eine dem Raytracing ahnliche Technik wird zum Zeichnen einer Laute angewandt Holzschnitt von Albrecht Durer 1525 Raytracing ist in erster Linie ein Verfahren zur Verdeckungsberechnung also zur Ermittlung der Sichtbarkeit von Objekten ab dem Augpunkt Das Grundprinzip ist recht einfach Raytracing arbeitet mit einer Datenstruktur Strahl genannt die den Anfangspunkt und die Richtung einer Halbgeraden im Raum angibt Es wird fur jedes Pixel die Richtung des Strahls berechnet der vom Augpunkt aus zum entsprechenden Pixel der Bildebene weist Fur jedes Primitiv der Szene wird nun mittels geometrischer Verfahren der eventuelle Schnittpunkt bei dem der Strahl auf das Primitiv trifft ermittelt Dabei wird gegebenenfalls die Entfernung vom Augpunkt zum Schnittpunkt berechnet Der Gewinner also das vom Augpunkt aus sichtbare Primitiv ist dasjenige mit der geringsten Distanz Das Prinzip der Aussendung der Strahlen vom Augpunkt aus ahnelt dem Aufbau einer Lochkamera bei der ein Objekt auf einem Film abgebildet wird Beim Raytracing sind allerdings Film Bildebene und Loch Augpunkt vertauscht Ahnlich wie bei der Lochkamera bestimmt der Abstand zwischen Bildebene und Augpunkt die Brennweite und damit das Sichtfeld Da die Strahlen nicht wie in der Natur von den Lichtquellen sondern vom Augpunkt ausgehen spricht man auch von Backward Ray Tracing Raytracing beschaftigt sich mit der Frage woher das Licht kommt Einige Veroffentlichungen nennen das Verfahren allerdings Forward Ray Tracing oder Eye Ray Tracing Schnittpunkttests Bearbeiten Der oben erwahnte Test auf einen eventuellen Schnittpunkt von Strahl und Primitive ist das Herzstuck des Raytracings Solche Tests lassen sich fur eine Vielzahl von Primitiventypen formulieren Neben Dreiecken und Kugeln sind unter anderem Zylinder Quadriken Punktwolken oder gar Fraktale moglich Bei Kugeln ist der Schnittpunkttest eine relativ kurze und einfache Prozedur was die Popularitat dieser Objekte auf Raytracing Testbildern erklart Viele Renderprogramme lassen jedoch aus Grunden der Einfachheit nur Dreiecke als Primitiven zu aus denen sich jedes beliebige Objekt naherungsweise zusammensetzen lasst Seit Kurzem werden auch komplexere Geometrien fur den Schnittpunkttest wie etwa NURBS verwendet 9 Vorteilhaft dabei ist ein Maximum an Prazision da die Flache nicht wie sonst ublich in Dreiecke unterteilt wird Der Nachteil ist eine erhohte Renderzeit da der Schnittpunkttest mit komplexen Freiformflachen sehr viel aufwandiger als mit einfachen Dreiecken ist Eine hinreichende Annaherung an die Genauigkeit von NURBS ist zwar auch mit Dreiecken moglich in diesem Fall muss aber eine sehr grosse Anzahl gewahlt werden Shading Bearbeiten Bei der Ermittlung des nachsten Primitivs wird nicht nur der Schnittpunkt und seine Distanz zum Augpunkt sondern auch die Normale des Primitivs am Schnittpunkt berechnet Damit sind alle Informationen vorhanden um die zum Augpunkt reflektierte Lichtstarke und somit die Farbe zu ermitteln Dabei werden auch die Beschreibungen der Lichtquellen der Szene genutzt Den Berechnungen liegen lokale Beleuchtungsmodelle zugrunde die die Materialbeschaffenheit eines Objekts simulieren Diesen Teil des Renderers der fur die Ermittlung der Farbe zustandig ist nennt man Shader Beispielcode Bearbeiten Die Programmierung eines einfachen Raytracers erfordert wenig Aufwand In Pseudocode lasst sich das Prinzip folgendermassen darstellen Prozedur Bild Rendern Strahl Ursprung Augpunkt Fur jedes x y Pixel der Rastergrafik Strahl Richtung 3D Koordinaten des Pixels der Bildebene Augpunkt Farbe des x y Pixels Farbe aus Richtung Strahl Funktion Farbe aus Richtung Strahl Schnittpunkt Nachster Schnittpunkt Strahl Wenn Schnittpunkt Gewinner kein dann Farbe aus Richtung Hintergrundfarbe sonst Farbe aus Richtung Farbe am Schnittpunkt Strahl Schnittpunkt Funktion Nachster Schnittpunkt Strahl MaxDistanz Schnittpunkt Gewinner kein Fur jedes Primitiv der Szene Schnittpunkt Distanz Teste Primitiv Primitiv Strahl Wenn Schnittpunkt Distanz lt MaxDistanz dann MaxDistanz Schnittpunkt Distanz Schnittpunkt Gewinner Primitiv Nachster Schnittpunkt Schnittpunkt Jeder Raytracer unabhangig von der verwendeten Raytracing Variante folgt einer ahnlichen Struktur die noch einen Schnittpunkttest Teste Primitiv und einen Shader Farbe am Schnittpunkt enthalt Leistung BearbeitenBeschleunigungstechniken Bearbeiten Bei der Bestimmung des ersten Primitivs auf das ein Strahl trifft kann wie im weiter oben aufgefuhrten Beispielcode jedes Primitiv der Szene gegen den Strahl getestet werden Dies ist jedoch nicht grundsatzlich erforderlich wenn bekannt ist dass gewisse Primitive sowieso nicht in der Nahe des Strahls liegen und daher nicht getroffen werden konnen Da Schnittpunkttests die grosste Laufzeit beim Raytracing beanspruchen ist es wichtig so wenig Primitive wie moglich gegen den Strahl zu testen um die Gesamtlaufzeit gering zu halten nbsp Beispiel fur eine Beschleunigungstechnik Voxelgitter Ansicht von oben Nur die Primitiven der Voxel durch die der Strahl wandert grau eingefarbt mussen auf einen Schnittpunkt getestet werden Insgesamt mussen nur die beiden Dreiecke getestet werden Bei den Beschleunigungsverfahren wird die Szene meist in irgendeiner Form automatisch aufgeteilt und die Primitiven diesen Unterteilungen zugewiesen Wenn ein Strahl durch die Szene wandert so wird er nicht gegen die Primitiven sondern zunachst gegen die Unterteilungen getestet Dadurch muss der Strahl nur noch gegen die Primitive derjenigen Unterteilung getestet werden die der Strahl kreuzt Es wurde eine Vielzahl derartiger Beschleunigungstechniken fur Raytracing entwickelt Beispiele fur Unterteilungsschemas sind Voxelgitter BSP Baume sowie Bounding Volumes die die Primitiven umschliessen und eine Hierarchie bilden Mischformen dieser Techniken sind ebenfalls popular Auch fur Animationen gibt es spezielle Beschleunigungstechniken Die Komplexitat dieser Techniken lassen einen Raytracer schnell zu einem grosseren Projekt anwachsen Keine Technik ist generell optimal die Effizienz ist szenenabhangig Dennoch reduziert jedes Beschleunigungsverfahren die Laufzeit enorm und macht Raytracing erst zu einem praktikablen Algorithmus Auf Kd Baumen basierende Unterteilungen sind fur die meisten nicht animierten Szenen die effizienteste oder nahezu effizienteste Technik da sie sich mittels Heuristiken optimieren lassen 10 11 Mehrfach festgestellt wurde dass die asymptotische Laufzeit von Raytracing in Abhangigkeit von der Anzahl der Primitiven logarithmisch ist Es wurde gezeigt dass auf modernen Rechnern nicht die Prozessorleistung sondern Speicherzugriffe die Geschwindigkeit des Raytracings begrenzen Durch sorgfaltige Nutzung von Caching durch den Algorithmus ist es moglich die Laufzeit wesentlich zu verringern Ebenfalls moglich ist die Nutzung der SIMD Fahigkeit moderner Prozessoren die parallele Berechnungen ermoglicht sowie speziell darauf optimierter Unterteilungsschemata 12 13 Damit ist das gleichzeitige Verfolgen mehrerer in Paketen zusammengefasster Strahlen moglich Grund dafur ist dass die vom Augpunkt ausgesendeten Strahlen meist sehr ahnlich sind also meist die gleichen Objekte schneiden Mit dem Befehlssatz SSE etwa konnen vier Strahlen gleichzeitig auf einen Schnittpunkt mit einem Primitiv getestet werden was diese Berechnung um ein Vielfaches beschleunigt Auf entsprechenden Hardwareimplementationen zum Beispiel auf FPGAs konnen auch grossere Pakete mit uber 1000 Strahlen verfolgt werden Allerdings bussen Caching und SIMD Optimierungen bei erweiterten Formen des Raytracings viel von ihrem Geschwindigkeitsvorteil ein Weiterhin ist es moglich den gesamten Raytracing Vorgang zu parallelisieren Dies lasst sich etwa dadurch trivial bewerkstelligen dass verschiedene Prozessoren bzw Maschinen unterschiedliche Ausschnitte des Bildes rendern Lediglich gewisse Beschleunigungstechniken oder Erweiterungen mussen angepasst werden um parallelisierungstauglich zu sein Speicherbedarf Bearbeiten Das grundlegende Raytracing Verfahren benotigt kaum Speicher Jedoch belegt die Szene selbst die sich heutzutage bei komplexen Szenen oft aus mehreren Millionen Primitiven zusammensetzt sehr viel Speicher und kann mehrere Gigabyte umfassen Hinzu kommt der mehr oder weniger hohe zusatzliche Speicherbedarf der Beschleunigungstechniken Da solch grosse Szenen nicht vollstandig in den Arbeitsspeicher des Rechners passen wird haufig Swapping notig Bei grosseren Objekten die mehrmals in der Szene vorhanden sind und sich nur durch ihre Position und Grosse unterscheiden etwa bei einem Wald voller Baume muss nicht die gesamte Geometrie neu gespeichert werden Durch diese Instancing genannte Technik lasst sich bei bestimmten Szenen erheblich Platz einsparen Erweiterungen BearbeitenEiner der Grunde fur den Erfolg des Raytracing Verfahrens liegt in seiner naturlichen Erweiterbarkeit Das oben beschriebene primitive Verfahren ist fur die heutigen Anforderungen der Bildsynthese unzureichend Mit steigender Rechenleistung und zunehmender Inspiration aus der Physik vor allem der Optik und der Radiometrie kamen mehrere Erweiterungen und Varianten auf von denen einige hier kurz vorgestellt werden sollen Grundsatzlich gilt dass mit jeder Erweiterung die erreichbare Qualitat der gerenderten Bilder sowie der relative Zeitbedarf stark anstieg und mit Path Tracing das Maximum erreichte Erst nachfolgende Entwicklungen zielten darauf ab den Zeitaufwand von Path Tracing zu verringern ohne an Qualitat einzubussen Schatten Bearbeiten nbsp Simulation von SchattenAufgrund der Flexibilitat des Raytracing Algorithmus ist es moglich Lichtstrahlen nicht nur vom Augpunkt sondern auch von beliebigen anderen Punkten des Raums auszusenden Wie Arthur Appel bereits 1968 demonstrierte kann dies dazu benutzt werden Schatten zu simulieren Ein beliebiger Punkt einer Oberflache befindet sich genau dann im Schatten wenn sich zwischen ihm und der Lichtquelle ein Objekt befindet Indem vom Schnittpunkt an der Oberflache ein Schattenstrahl in Richtung der Lichtquelle ausgesendet wird lasst sich bestimmen ob ein Objekt dessen Weg kreuzt Ist dies der Fall so befindet sich der Schnittpunkt im Schatten und es wird als Helligkeit des Strahls 0 zuruckgegeben Im anderen Fall findet normales Shading statt Rekursives Raytracing Bearbeiten nbsp Eines der ersten mit rekursivem Raytracing berechneten Bilder aus der Veroffentlichung von Turner Whitted 1980Raytracing lasst sich nicht nur auf einfache lichtundurchlassige sondern auch auf durchsichtige und spiegelnde reflektierende Objekte anwenden Dabei werden weitere Lichtstrahlen von den Schnittpunkten ausgesendet Bei spiegelnden Flachen etwa muss dabei lediglich die Richtung des von der Flache ausgehenden Strahls gemass dem Reflexionsgesetz Einfallswinkel ist gleich Reflexionswinkel berucksichtigt und ein entsprechender Reflexionsstrahl errechnet werden Bei lichtdurchlassigen Objekten wird ein Strahl gemass dem Snelliusschen Brechungsgesetz ausgesendet diesmal ins Innere des betreffenden Objektes Generell reflektieren transparente Objekte auch einen Teil des Lichts Die relativen Farbanteile des reflektierten und des gebrochenen Strahls lassen sich mit den Fresnelschen Formeln berechnen Diese Strahlen werden auch Sekundarstrahlen genannt Da die Sekundarstrahlen auf weitere Objekte fallen konnen wird der Algorithmus rekursiv aufgerufen um mehrfache Spiegelungen und Lichtbrechungen zu ermoglichen Die hierarchische Gesamtheit der Aufrufe wird auch Renderbaum genannt Rekursives Raytracing wurde um 1980 von Kay und Whitted entwickelt 14 15 In Pseudocode sieht der Shader beim rekursiven Raytracing in etwa wie folgt aus Funktion Farbe am Schnittpunkt Strahl Schnittpunkt Wenn Schnittpunkt Gewinner Material spiegelnd oder transparent dann Reflektierter Anteil Fresnel Strahl Schnittpunkt Farbe Reflektierter Anteil Farbe aus Richtung Reflexionsstrahl Gebrochener Anteil Farbe aus Richtung Gebrochener Strahl sonst Farbe 0 Fur jede Lichtquelle Schattenstrahl Lichtquelle Position Schnittpunkt Position SchattenSchnittpunkt Nachster Schnittpunkt Schattenstrahl Wenn SchattenSchnittpunkt Gewinner Lichtquelle dann Farbe Farbe Direkte Beleuchtung Strahl Lichtquelle Farbe am Schnittpunkt Farbe Der Rest des Programms kann wie beim einfachen Raytracing bleiben Die hier aufgerufene Funktion Farbe aus Richtung kann wiederum Farbe am Schnittpunkt aufrufen woraus der rekursive Charakter des Verfahrens deutlich wird Diffuses Raytracing Bearbeiten Hauptartikel Diffuses Raytracing Rekursives Raytracing ermoglicht neben Lichtbrechung und reflexion die Simulation von harten Schatten In Wirklichkeit haben Lichtquellen jedoch eine bestimmte Grosse was dazu fuhrt dass Schatten weich und verschwommen wirken Dieser Effekt sowie Antialiasing glanzende Reflexion und mehr lassen sich mit diffusem Raytracing auch stochastisches Raytracing oder distributed ray tracing genannt simulieren das 1984 von Cook u a veroffentlicht wurde 16 Die Idee ist in verschiedenen Situationen statt eines Strahls mehrere Strahlen auszusenden und aus den errechneten Farben den Mittelwert zu bilden Beispielsweise lassen sich weiche Schatten mit Kern und Halbschatten erzeugen indem die Richtungen der Schattenstrahlen zufallig verteilt die Oberflache der Lichtquelle abtasten 17 Der Nachteil ist dass dabei Bildrauschen entsteht wenn zu wenig Strahlen verwendet werden Es gibt jedoch Moglichkeiten wie Importance Sampling die das Rauschen reduzieren Path Tracing und Light Ray Tracing Bearbeiten nbsp Globale Beleuchtung mittels Raytracing Deutlich zu sehen sind Effekte wie die Kaustik unter der Glaskugel und das Abfarben der Wande auf andere Flachen Hauptartikel Path Tracing Obwohl diffuses Raytracing zahlreiche Effekte ermoglicht ist es immer noch nicht in der Lage die globale Beleuchtung mit Effekten wie diffuser Interreflexion und Kaustiken durch Bundelung von Licht erzeugte helle Lichtflecken zu simulieren Dies liegt daran dass zwar bei spiegelnden Reflexionen nicht jedoch bei diffusen Oberflachen Sekundarstrahlen ausgesendet werden In seiner 1986 veroffentlichten Publikation beschrieb James Kajiya die Rendergleichung die die mathematische Basis fur alle Methoden der globalen Beleuchtung bildet 18 Die von einem Strahl beigetragene Helligkeit wird dabei radiometrisch korrekt als Strahldichte interpretiert Kajiya zeigte dass zur globalen Beleuchtung Sekundarstrahlen von allen Oberflachen ausgesendet werden mussen Daneben wies er auch darauf hin dass ein Renderbaum den Nachteil hat dass zu viel Arbeit fur die Berechnungen in grosser Hierarchietiefe verschwendet wird und es besser ist jeweils einen einzigen Strahl auszusenden Diese Methode ist heute als Path Tracing bekannt da ein Strahl sich vom Augpunkt aus seinen Weg durch die Szene sucht Path Tracing hat eine rigorose mathematische und physikalische Basis Falls beim Path Tracing der von einer diffusen Oberflache ausgesandte Sekundarstrahl eine Lichtquelle direkt trifft so wird dieser Helligkeitsanteil ublicherweise ignoriert Der Anteil der direkten Beleuchtung wird stattdessen weiterhin per Schattenstrahl berechnet Alternativ kann die direkte Beleuchtung berechnet werden indem nur ein Sekundarstrahl gemass dem lokalen Beleuchtungsmodell ausgesendet wird und falls dieser eine Lichtquelle direkt trifft deren Strahldichte zuruckgegeben wird Welche dieser beiden Methoden effizienter ist hangt vom lokalen Beleuchtungsmodell der Oberflache sowie vom von der Oberflache betrachteten Raumwinkel der Lichtquelle ab 19 Die konzeptuell einfachere Variante des Path Tracing bei der keine Schattenstrahlen ausgesandt werden ist als Adjoint Photon Tracing bekannt 20 Obwohl Path Tracing die globale Beleuchtung simulieren kann nimmt die Effizienz des Verfahrens bei kleinen Lichtquellen ab Insbesondere Kaustiken und deren Reflexionen sind mit Path Tracing sehr verrauscht sofern nicht sehr viele Strahlen ausgesendet werden Deshalb werden meist andere auf Path Tracing basierende Verfahren oder Erweiterungen verwendet Light Ray Tracing ist eine seltene Variante bei der die Lichtstrahlen nicht vom Augpunkt sondern von den Lichtquellen ausgesendet werden Die Pixel die vom Strahl auf der Bildebene getroffen werden werden eingefarbt Dadurch lassen sich bestimmte Effekte wie Kaustiken gut andere Effekte jedoch nur sehr ineffizient simulieren da viele Strahlen die Bildebene verfehlen Weitere Entwicklungen Bearbeiten Da sich einige Effekte nur vom Augpunkt andere nur von den Lichtquellen aus gut simulieren lassen wurden Algorithmen entwickelt die beide Methoden kombinieren Das Ziel ist es Szenen mit beliebig komplexer Lichtverteilung und reflexion effizient rendern zu konnen Bidirektionales Path Tracing unabhangig voneinander 1993 und 1994 von Lafortune Willems und E Veach Leonidas J Guibas entwickelt ist eine direkte Erweiterung des Path Tracing bei der Strahlen sowohl vom Augpunkt als auch von den Lichtquellen aus gesendet und beide Pfade anschliessend kombiniert werden 21 22 Die Auftreffpunkte des Lichtpfades werden als punktformige virtuelle Lichtquellen zur Beleuchtung des Augpfades herangezogen Bidirektionales Path Tracing kann als Verallgemeinerung von Path Tracing Adjoint Photon Tracing oder Light Ray Tracing betrachtet werden da es den Lichtaustausch zwischen allen moglichen Kombinationen von Auftreffpunkten der beiden Pfade berucksichtigt Das Verfahren bietet meist eine bessere Leistung als reines Path Tracing vor allem bei der Berechnung von Kaustiken beseitigt jedoch nicht vollstandig dessen Probleme Metropolis Light Transport MLT ist eine Erweiterung des bidirektionalen Path Tracing und wurde 1997 von Veach und Guibas vorgestellt 23 Bei MLT werden die Lichtstrahlen so ausgesendet dass sie sich der Beleuchtung anpassen und die Szene erkunden Die Idee des Verfahrens ist es gute Pfadkombinationen uber die viel Energie transportiert wird nach ihrem Auffinden nicht sofort wieder zu verwerfen sondern weiterzuverwenden MLT bietet oft deutliche Geschwindigkeitsvorteile und vernunftige Ergebnisse bei Szenen die mit anderen vorherigen Algorithmen nur schwer korrekt zu simulieren sind Ebenso wie Path Tracing und bidirektionales Path Tracing liefert MLT bei geeigneter Implementierung statistisch erwartungstreue Bilder das heisst die einzige Abweichung vom idealen Bild besteht im Bildrauschen andere Fehler sind ausgeschlossen nbsp Ein mit Photon Mapping gerendertes Bild zu erkennen ist eine mit diesem Algorithmus effizient simulierte Kaustik Photon Mapping wurde 1995 von Jensen veroffentlicht 24 Das Verfahren besteht im Aussenden von Partikeln von den Lichtquellen aus und deren Speicherung in einer speziellen von der Geometrie unabhangigen Struktur Dieser Algorithmus war insofern ein Durchbruch als er es ermoglicht die Beleuchtung in einem Vorbearbeitungsschritt zu speichern und diese wahrend des Rendervorgangs relativ schnell zu rekonstruieren Photon Mapping ist kein eigenstandiges Rendering Verfahren sondern dient der Erganzung von anderen Raytracing Methoden meistens um diffuses Raytracing auf globale Beleuchtung zu erweitern Allerdings ist Photon Mapping nicht erwartungstreu in der Prazision schwer intuitiv kontrollierbar und weniger robust als MLT Dies macht sich vor allem bei Szenen mit schwierigen Lichtverhaltnissen bemerkbar Ubersicht Bearbeiten Raytracing Verfahren Schatten Lichtreflexion brechung streuung Beleuchtung BeispielbildNur Verdeckungsberechnung Keine Keine Keine nbsp Simulation von Schatten mit nur einem Schattenstrahl Nur harte Schatten Keine Nur direkte Beleuchtung nbsp Rekursives Raytracing Nur harte Schatten Nur bei spiegelnden brechenden Oberflachen Nur direkte Beleuchtung oder Spiegelung Brechung nbsp Diffuses Raytracing Vollstandig Nur bei spiegelnden brechenden Oberflachen Nur direkte Beleuchtung oder Spiegelung Brechung nbsp Path Tracing und nachfolgende Verfahren Vollstandig Vollstandig auch diffus Vollstandig Globale Beleuchtung nbsp Besonderes Bearbeiten Die angefuhrten gangigen Varianten des Raytracings lassen sich erweitern um zusatzliche Effekte zu ermoglichen Einige Beispiele Constructive Solid Geometry CSG ist ein verbreitetes Modellierverfahren bei dem Objekte aus anderen Objekten zusammengesetzt werden Raytracing lasst sich relativ einfach um CSG Funktionalitat erweitern 25 Texture Mapping sowie Displacement Mapping und Bumpmapping sind ebenfalls fur Raytracing moglich Bei letzterem Verfahren muss allerdings darauf geachtet werden dass die erzeugten Reflexionsrichtungen stets vom Objekt weg weisen Volumenstreuung ermoglicht die realistische Simulation teilweise durchscheinender und das Licht streuender Objekte Dazu gehoren beispielsweise Milch oder Blatter aber auch das Himmelsblau und atmospharische Bedingungen Spektrales Rendering Die meisten gangigen Raytracer verwenden den RGB Farbraum zur Darstellung von Farben was nur eine Annaherung an das kontinuierliche Lichtspektrum darstellt und nicht immer physikalisch plausibel ist Indem fur die Farbe eine von der Wellenlange des Lichts abhangige Reprasentation verwendet wird lassen sich Effekte wie Metamerie und Dispersion simulieren Auch Polarisation und Fluoreszenz sind moglich 26 High Dynamic Range Rendering Indem die Farbwerte beim Raytracing durch Gleitkommazahlen berechnet und in HDR Bildern mit hohem Kontrastumfang gespeichert werden ist es moglich Helligkeit und Kontrast von gerenderten Bildern nachtraglich ohne Qualitatsverlust beliebig zu verandern Beim Image based Lighting wird die zu rendernde Szene von einem HDR Bild umschlossen was eine realistische Ausleuchtung durch aufgenommene Umgebungen ermoglicht Relativistisches Raytracing Durch Berucksichtigung der Formeln fur die spezielle Relativitatstheorie lassen sich die optischen Effekte die bei gekrummter Raumzeit auftreten veranschaulichen 27 Die Strahlverlaufe werden hierbei unter Berucksichtigung der hohen Geschwindigkeiten und Massen modifiziert ausserdem ergeben sich Helligkeits und Farbanderungen Einsatzgebiete BearbeitenComputergrafik Bearbeiten Raytracing Berechnungen gelten als sehr zeitintensiv Raytracing wird daher vornehmlich bei der Erzeugung von Darstellungen eingesetzt bei denen eher die Qualitat als die Berechnungszeit im Vordergrund steht Ein Bild mit Raytracing zu berechnen kann abhangig von der verwendeten Technik der Szenenkomplexitat der verwendeten Hardware und der gewunschten Qualitat beliebig lange in der Praxis oft mehrere Stunden in Einzelfallen sogar mehrere Tage dauern In Bereichen wie der Virtuellen Realitat in der raumliche Darstellungen in Echtzeit berechnet werden mussen konnte sich Raytracing daher bisher nicht durchsetzen Computeranimationsfilme werden uberwiegend mit dem REYES System erzeugt bei dem Raytracing Berechnungen so weit wie moglich vermieden werden Gelegentlich wurde Raytracing von der Demoszene genutzt Gegenuber ublichen Echtzeitrenderern auf Z Buffer Basis hat Raytracing jedoch mehrere Vorteile eine einfache Implementierung mit uberschaubarer Komplexitat eine im Gegensatz zur Grafikpipeline hohe Flexibilitat sowie die leichtere Austauschbarkeit der Shader und dadurch eine erleichterte Implementierung neuer Shader Die Geschwindigkeit von Raytracing muss daher in Relation zur erreichten Bildqualitat gesetzt werden Fur die anspruchsvollen Qualitatsanforderungen der realistischen Bildsynthese gibt es insbesondere bei komplizierten Szenen mit beliebigen Materialien keine Alternative zu Raytracing Es existieren Bestrebungen echtzeitfahige Raytracer fur komplexe Szenen zu implementieren was bereits unter bestimmten Voraussetzungen mit prozessor und speicheroptimierten Softwarelosungen gelungen ist Auf Hardware optimierte Implementierungen von Raytracing zeigen dass die kunftige breite Nutzung von Raytracing im Echtzeitbereich denkbar ist Mit diesen Anwendungen beschaftigen sich Projekte wie die OpenRT Programmierschnittstelle und diverse Implementierungen fur programmierbare Grafikprozessoren GPGPU Ausserdem wurden spezielle Architekturen fur hardwarebeschleunigtes Raytracing entwickelt 28 Weitere Anwendungsgebiete Bearbeiten nbsp Raytracing von Funksignalen durch die Erdatmosphare Die Signale werden links in zwei unterschiedlichen Winkeln gesendet und erreichen rechts den Empfanger Das Raytracing Prinzip kann auf beliebige Anwendungsbereiche ausgeweitet werden bei denen die Ausbreitung von Wellen in einer Szene simuliert werden soll Strahlen reprasentieren dabei stets die Normalenvektoren zu einer Wellenfront In der Auralisation und Hochfrequenztechnik versucht man die Auswirkungen einer Szene auf die Akustik beziehungsweise auf ein elektromagnetisches Feld zu simulieren Das Ziel ist es fur bestimmte Frequenzen den Energieanteil zu berechnen der von einem Sender zu einem Empfanger uber die verschiedenen moglichen Wege durch die Szene ubertragen wird In der Akustik ist Raytracing neben der Spiegelschallquellenmethode und der Diffusschallberechnung eine Moglichkeit zur Losung dieses Problems Zur Simulation mussen die Materialeigenschaften der verschiedenen Korper sowie die Dampfung des Schalls durch die Luft berucksichtigt werden Eine Moglichkeit zum Auffinden der Ubertragungswege besteht darin Strahlen von einer Quelle isotrop in alle Richtungen auszusenden eventuell mit Energieverlust an den Gegenstanden zu reflektieren und die Gesamtenergie der auf den Empfanger auftreffenden Strahlen zu ermitteln Diese Methode wird Ray launching genannt Strahlen konnen auch eine bestimmte Form etwa die einer Rohre haben um punktformige Empfanger simulieren zu konnen Der Nachteil dieser Methode ist ihre Langsamkeit da viele Strahlen nie den Empfanger erreichen und fur prazise Statistiken eine hohe Anzahl vonnoten ist Ein weiteres Problem ergibt sich dadurch dass die Wellenlange oft nicht gegenuber den Abmessungen der Korper innerhalb einer Szene vernachlassigbar ist Sofern die Beugung von Strahlen nicht berucksichtigt wird kann es daher zu merklichen Fehlern in der Simulation kommen Literatur BearbeitenPhilip Dutre Philippe Bekaert Kavita Bala Advanced Global Illumination AK Peters Natick MA 2003 ISBN 1 56881 177 2 advancedglobalillumination com Andrew S Glassner An Introduction to Ray tracing Morgan Kaufmann London 1989 ISBN 0 12 286160 4 Andrew S Glassner Principles of Digital Image Synthesis Morgan Kaufmann London 1995 ISBN 1 55860 276 3 Matt Pharr Greg Humphreys Physically Based Rendering From Theory to Implementation Morgan Kaufmann London 2004 ISBN 0 12 553180 X pbrt org Peter Shirley Realistic Ray Tracing AK Peters Natick MA 2003 ISBN 1 56881 198 5 Kevin G Suffern Ray Tracing from the Ground Up AK Peters Wellesley MA 2007 ISBN 978 1 56881 272 4Weblinks Bearbeiten nbsp Commons Raytracing Sammlung von Bildern Videos und Audiodateien Ray Tracing News englisch Liste von Schnittpunkttest Algorithmen fur verschiedene Primitiventypen englisch Tom s Hardware When Will Ray Tracing Replace Rasterization englisch Illusions Schmiede Lehrvideo Raytracing Anmerkungen Bearbeiten Hans Joachim Bungartz u a Einfuhrung in die Computergraphik Grundlagen geometrische Modellierung Algorithmen S 135 Vieweg Braunschweig 2002 ISBN 3 528 16769 6 Beat Bruderlin Andreas Meier Computergrafik und Geometrisches Modellieren S 154 Teubner Stuttgart 2001 ISBN 3 519 02948 0 Ray Tracing and Seismic Modeling In Basic Geophysics Geophysical Monograph Series Society of Exploration Geophysicists 2017 ISBN 978 1 56080 345 4 Kap 6 S 261 284 doi 10 1190 1 9781560803461 ch6 seg org abgerufen am 14 November 2022 Terrence Masson CG 101 A Computer Graphics Industry Reference S 267 Digital Fauxtography 2007 ISBN 0 9778710 0 2 Arthur Appel Some Techniques for Shading Machine Renderings of Solids In Proceedings of the Spring Joint Computer Conference 1968 S 37 45 AFIPS Press Arlington Mathematical Applications Group Inc 3 D Simulated Graphics Offered by Service Bureau Datamation 13 1 Feb 1968 69 ISSN 0011 6963 Robert Goldstein Roger Nagel 3 D Visual Simulation Simulation 16 1 Jan 1971 25 31 ISSN 0037 5497 Terrence Masson CG 101 A Computer Graphics Industry Reference In Digital Fauxtography 2007 ISBN 0 9778710 0 2 S 162 Oliver Abert u a Direct and Fast Ray Tracing of NURBS Surfaces In Proceedings of IEEE Symposium on Interactive Ray Tracing 2006 S 161 168 IEEE Salt Lake City 2006 ISBN 1 4244 0693 5 PDF 700 kB Memento vom 2 Dezember 2007 im Internet Archive Vlastimil Havran u a Statistical Comparison of Ray Shooting Efficiency Schemes Technical Report TR 186 2 00 14 Institute of Computer Graphics and Algorithms Vienna University of Technology 2000 ist psu edu Ingo Wald Vlastimil Havran On building fast kd trees for ray tracing and on doing that in O N log N In Proceedings of IEEE Symposium on Interactive Ray Tracing 2006 S 61 69 IEEE Salt Lake City 2006 ISBN 1 4244 0693 5 PDF 230 kB Ingo Wald u a Interactive Rendering with Coherent Ray Tracing Computer Graphics Forum 20 3 Sep 2001 S 153 164 ISSN 0167 7055 graphics cs uni sb de Memento vom 5 Juni 2005 im Internet Archive Alexander Reshetov u a Multi Level Ray Tracing Algorithm ACM Transactions on Graphics 24 3 July 2005 1176 1185 ISSN 0730 0301 PDF 400 kB Douglas Scott Kay Transparency Refraction and Ray Tracing for Computer Synthesized Images Thesis Cornell University Ithaca 1979 Turner Whitted An Improved Illumination Model for Shaded Display Communications of the ACM 23 6 June 1980 343 349 ISSN 0001 0782 PDF 4 6 MB Robert Cook u a Distributed ray tracing ACM SIGGRAPH Computer Graphics 18 3 July 1984 S 137 145 ISSN 0097 8930 Peter Shirley Changyaw Wang Kurt Zimmermann Monte Carlo Techniques for Direct Lighting Calculations ACM Transactions on Graphics 15 1 Jan 1996 S 1 36 PDF 400 kB Memento des Originals vom 5 August 2011 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www cs utah edu James Kajiya The Rendering Equation ACM SIGGRAPH Computer Graphics 20 4 Aug 1986 S 143 150 ISSN 0097 8930 Eric Veach Leonidas J Guibas Optimally combining sampling techniques for Monte Carlo rendering In SIGGRAPH 95 Proceedings S 419 428 ACM New York 1995 ISBN 0 89791 701 4 graphics stanford edu R Keith Morley u a Image synthesis using adjoint photons In Proceedings of Graphics Interface 2006 S 179 186 Canadian Information Processing Society Toronto 2006 ISBN 1 56881 308 2 PDF 4 7 MB Memento des Originals vom 25 Juni 2012 im Internet Archive nbsp Info Der Archivlink wurde automatisch eingesetzt und noch nicht gepruft Bitte prufe Original und Archivlink gemass Anleitung und entferne dann diesen Hinweis 1 2 Vorlage Webachiv IABot www cs utah edu Eric Lafortune Yves Willems Bi Directional Path Tracing In Proceedings of Compugraphics 93 S 145 153 Alvor 1993 graphics cornell edu Eric Veach Leonidas Guibas Bidirectional Estimators for Light Transport In Eurographics Rendering Workshop 1994 Proceedings S 147 162 Darmstadt 1994 graphics stanford edu E Veach L J Guibas Metropolis Light Transport In SIGGRAPH 97 Proceedings S 65 76 ACM Press New York 1997 ISBN 0 89791 896 7 graphics stanford edu Henrik Wann Jensen and Niels Jorgen Christensen Photon Maps in Bidirectional Monte Carlo Ray Tracing of Complex Objects Computers and Graphics 19 2 Mar 1995 215 224 ISSN 0097 8493 graphics stanford edu Peter Atherton A Scan line Hidden Surface Removal Procedure for Constructive Solid Geometry ACM SIGGRAPH Computer Graphics 17 3 July 1983 S 73 82 ISSN 0097 8930 Alexander Wilkie u a Combined Rendering of Polarization and Fluorescence Effects In Proceedings of the 12th Eurographics Workshop on Rendering Techniques Springer London 2001 ISBN 3 211 83709 4 S 197 204 PDF 2 9 MB Daniel Weiskopf u a Real World Relativity Image Based Special Relativistic Visualization In IEEE Visualization Proceedings of the Conference on Visualization 2000 S 303 310 IEEE Computer Society Press Salt Lake City 2000 ISBN 1 58113 309 X PDF 640 kB Memento vom 13 Juni 2007 im Internet Archive Jorg Schmittler u a SaarCOR A Hardware Architecture for Ray Tracing In Proceedings of the SIGGRAPH EUROGRAPHICS Conference On Graphics Hardware S 27 36 Eurographics Aire la Ville 2002 ISBN 1 58113 580 7 PDF 1 0 MB Memento vom 28 Juli 2007 im Internet Archive nbsp Dieser Artikel ist als Audiodatei verfugbar source source Speichern 37 43 min 18 1 MB Text der gesprochenen Version 24 April 2014 Mehr Informationen zur gesprochenen Wikipedia nbsp Dieser Artikel wurde am 6 August 2005 in dieser Version in die Liste der exzellenten Artikel aufgenommen Abgerufen von https de wikipedia org w index php title Raytracing amp oldid 236313842