Was ist Pfadverfolgung? | Was ist Pfadverfolgung
Schalten Sie Ihren Fernseher ein. Starten Sie Ihren Lieblings-Streaming-Dienst. Schnapp dir eine Cola. Eine Demo der wichtigsten visuellen Technologie unserer Zeit ist so nah wie Ihr Wohnzimmersofa.
Angetrieben durch eine Explosion der Rechenleistung in den letzten anderthalb Jahrzehnten, Die Pfadverfolgung hat die visuellen Medien erfasst.
Es verleiht den größten Blockbustern große Effekte, wirft subtiles Licht und Schatten auf die eindringlichsten Melodramen und hat die Kunst der Animation auf ein neues Niveau gehoben.
Es kommt noch mehr.
Die Pfadverfolgung erfolgt in Echtzeit, interaktiv entfesseln, fotorealistische 3D-Umgebungen voller dynamischem Licht und Schatten, Reflexionen und Brechungen.
Was ist also Pfadverfolgung?? Die große Idee dahinter ist verführerisch einfach, Wir verbinden Innovatoren aus Kunst und Wissenschaft über einen Zeitraum von einem halben Jahrtausend.
Was ist der Unterschied zwischen Rasterisierung und Raytracing??
Erste, Lassen Sie uns einige Begriffe definieren, und wie sie heute zur Erstellung interaktiver Grafiken verwendet werden – Grafiken, die in Echtzeit auf Eingaben eines Benutzers reagieren können, etwa in Videospielen.
The first, Rasterung, ist eine Technik, die ein Bild aus einem einzigen Blickwinkel erzeugt. Es war von Anfang an das Herzstück von GPUs. Moderne NVIDIA-GPUs können über generieren 100 Milliarden gerasterte Pixel pro Sekunde. Dadurch ist die Rasterung ideal für Echtzeitgrafiken, wie spielen.
Raytracing ist eine leistungsfähigere Technik als Rasterisierung. Anstatt darauf beschränkt zu sein, herauszufinden, was von einem einzigen Punkt aus sichtbar ist, Es kann bestimmen, was von vielen verschiedenen Punkten aus sichtbar ist, in viele verschiedene Richtungen. Beginnend mit der NVIDIA Turing-Architektur, NVIDIA-GPUs verfügen über spezielle RTX-Hardware, um diese schwierige Berechnung zu beschleunigen. Heute, Eine einzelne GPU kann Milliarden von Strahlen pro Sekunde verfolgen.
Die Möglichkeit, alle diese Strahlen zu verfolgen, ermöglicht es, die Lichtstreuung in der realen Welt viel genauer zu simulieren, als dies mit der Rasterung möglich ist. Jedoch, Wir müssen die Fragen noch beantworten, Wie simulieren wir Licht und wie bringen wir diese Simulation auf die GPU??
Was ist Raytracing?? Folgen Sie einfach der Zeichenfolge
Um diese Frage besser zu beantworten, Es hilft zu verstehen, wie wir hierher gekommen sind.
David Lübke, NVIDIA Vizepräsident für Grafikforschung, beginnt die Geschichte gerne im 16. Jahrhundert mit Albrecht Dürer – einer der bedeutendsten Figuren der nordeuropäischen Renaissance – der Schnüre und Gewichte verwendete, um ein 3D-Bild auf einer 2D-Oberfläche zu reproduzieren.
Dürer hat es sich zur Lebensaufgabe gemacht, klassische und zeitgenössische Mathematik mit den Künsten zu verbinden, Durchbrüche in Ausdruckskraft und Realismus erzielen.
In 1525 bei Abhandlung über die Messung, Dürer war der erste, der die Idee des Raytracing beschrieb. Wenn man sich ansieht, wie Dürer die Idee beschrieb, kann man sich am einfachsten mit dem Konzept vertraut machen.
Denken Sie nur daran, wie Licht die Welt erleuchtet, die wir um uns herum sehen.
Stellen Sie sich nun vor, Sie verfolgen diese Lichtstrahlen vom Auge aus mit einem Stück Schnur, wie es Dürer verwendet hat, zu den Objekten, mit denen Licht interagiert. Das ist Raytracing.
Raytracing für Computergrafiken
In 1969, more than 400 Jahre nach Dürers Tod, Arthur Appel von IBM zeigte, wie die Idee des Raytracing auf die Computergrafik übertragen werden kann, Anwendung auf die Berechnung von Sichtbarkeit und Schatten.
Ein Jahrzehnt später, Turner Whitted war der erste, der zeigte, wie diese Idee zum Nachdenken anregen kann, Schatten und Brechung, Er erklärt, wie das scheinbar einfache Konzept eine viel anspruchsvollere Computergrafik ermöglichen könnte. In den folgenden Jahren ging es rasant voran.
In 1984, Robert Cook von Lucasfilm, Thomas Porter und Loren Carpenter im Detail wie Raytracing viele gängige Filmtechniken integrieren könnte – einschließlich Bewegungsunschärfe, Tiefenschärfe, Schatten, Durchsichtigkeit und unscharfe Reflexionen – das waren sie, bis dann, in der Computergrafik unerreichbar.
Two years later, CalTech-Professor Jim Kajiya ist frisch, siebenseitiges Papier, "Die Rendering-Gleichung,„verknüpfte Computergrafik mit der Physik durch Raytracing und führte den Path-Tracing-Algorithmus ein, Dadurch ist es möglich, die Art und Weise, wie Licht in einer Szene gestreut wird, genau darzustellen.
Was ist Path Tracing??
Bei der Entwicklung der Pfadverfolgung, Kajiya ließ sich von einer ungewöhnlichen Inspiration inspirieren: das Studium der Strahlungswärmeübertragung, oder wie sich Wärme in einer Umgebung ausbreitet. Ideen aus diesem Bereich veranlassten ihn zur Einführung die Rendering-Gleichung, Dies beschreibt, wie Licht durch die Luft dringt und von Oberflächen gestreut wird.
Die Rendering-Gleichung ist prägnant, aber nicht einfach zu lösen. Computergrafikszenen sind komplex, wobei Milliarden von Dreiecken heute keine Seltenheit mehr sind. Es gibt keine Möglichkeit, die Rendering-Gleichung direkt zu lösen, was zu Kajiyas zweiter entscheidender Innovation führte.
Kajiya zeigte, dass statistische Techniken zur Lösung der Rendering-Gleichung eingesetzt werden können: auch wenn es nicht direkt gelöst wird, Es ist möglich, es entlang der Wege einzelner Strahlen zu lösen. Wenn es entlang des Weges gelöst wird, gibt es genügend Strahlen, um die Beleuchtung in der Szene genau anzunähern, fotorealistische Bilder sind möglich.
Und wie wird die Wiedergabegleichung entlang des Strahlengangs gelöst?? Raytracing.
Die von Kajiya angewandten statistischen Techniken sind als Monte-Carlo-Integration bekannt und reichen bis in die Anfänge der Computer in den 1940er Jahren zurück. Die Entwicklung verbesserter Monte-Carlo-Algorithmen zur Pfadverfolgung bleibt bis heute ein offenes Forschungsproblem; NVIDIA-Forscher stehen auf diesem Gebiet an vorderster Front, Regelmäßige Veröffentlichung neuer Techniken, die die Effizienz der Pfadverfolgung verbessern.
Durch die Kombination dieser beiden Ideen – einer physikbasierten Gleichung zur Beschreibung der Art und Weise, wie sich Licht in einer Szene bewegt – und der Verwendung einer Monte-Carlo-Simulation, um die Auswahl einer überschaubaren Anzahl von Pfaden zurück zu einer Lichtquelle zu unterstützen, Kajiya skizzierte die grundlegenden Techniken, die zum Standard für die Erzeugung fotorealistischer computergenerierter Bilder werden sollten.
Sein Ansatz verwandelte einen Bereich, der von einer Vielzahl unterschiedlicher Rendering-Techniken dominiert wurde, in einen Bereich, der – weil er die Physik der Art und Weise widerspiegelte, wie sich Licht durch die reale Welt bewegt – einfach ausgedrückt werden konnte, leistungsstarke Algorithmen zum Einsatz, mit denen sich eine große Anzahl visueller Effekte mit atemberaubendem Maß an Realismus reproduzieren ließe.
Path Tracing kommt ins Kino
In den Jahren nach seiner Einführung in 1987, Die Pfadverfolgung galt als elegante Technik – der genaueste bekannte Ansatz –, war jedoch völlig unpraktisch. Die Bilder in Kajiyas Originalpapier waren gerecht 256 von 256 Pixel, dennoch übernahmen sie 7 Stunden, um auf einem teuren Mini-Computer zu rendern, der weitaus leistungsfähiger war als die Computer, die den meisten anderen Menschen zur Verfügung standen.
Aber mit dem Anstieg der Rechenleistung, der durch das Mooresche Gesetz angetrieben wird – das den exponentiellen Anstieg der Rechenleistung beschreibt, der durch Fortschritte verursacht wird, die es Chipherstellern ermöglichen, die Anzahl der Transistoren auf Mikroprozessoren jeweils zu verdoppeln 18 Monate — die Technik wurde immer praktischer.
Beginnend mit Filmen wie 1998 Das Leben eines Käfers, In immer mehr Kinofilmen wurde Raytracing eingesetzt, um die computergenerierten Bilder zu verbessern. Und in 2006, der erste vollständig nach Pfaden verfolgte Film, Monster Haus, fassungsloses Publikum. Es wurde mit der Arnold-Software gerendert, die bei Solid Angle SL mitentwickelt wurde (inzwischen von Autodesk übernommen) und Sony Pictures Imageworks.
Der Film war ein Hit – er brachte mehr als ein $140 million worldwide. Und es öffnete die Augen dafür, was eine neue Generation von Computeranimationen leisten könnte. Als mehr Rechenleistung zur Verfügung stand, Immer mehr Filme verließen sich auf diese Technik, Es entstehen Bilder, die oft nicht von denen einer Kamera zu unterscheiden sind.
The problem: Es dauert immer noch Stunden, ein einzelnes Bild zu rendern, und ausgedehnte Ansammlungen von Servern – sogenannte „Renderfarmen“ – laufen monatelang ununterbrochen, um Bilder zu rendern, um einen vollständigen Film zu erstellen. Dies auf Echtzeitgrafiken zu übertragen, wäre ein außergewöhnlicher Schritt.
Wie sieht das beim Gaming aus??
Für viele Jahre, Die Idee der Pfadverfolgung in Spielen war unvorstellbar. Während viele Spieleentwickler zugestimmt hätten, dass sie Path Tracing verwenden würden, wenn es die für Echtzeitgrafiken erforderliche Leistung hätte, Die Leistung war so weit von der Echtzeit entfernt, dass eine Pfadverfolgung unerreichbar schien.
Doch da GPUs immer schneller werden, und jetzt mit der weit verbreiteten Verfügbarkeit von RTX-Hardware, Eine Pfadverfolgung in Echtzeit ist in Sicht. So wie Filme begannen, einige Raytracing-Techniken zu integrieren, bevor sie auf Path Tracing umstiegen, haben auch Spiele damit begonnen, Raytracing in begrenztem Umfang zum Einsatz zu bringen.
Derzeit ist eine wachsende Anzahl von Spielen teilweise mit Raytracing ausgestattet. Sie kombinieren traditionelle, auf Rasterung basierende Rendering-Techniken mit einigen Raytracing-Effekten.
Was bedeutet „Pfad verfolgt“ in diesem Zusammenhang?? Es könnte eine Mischung von Techniken bedeuten. Spieleentwickler könnten den Primärstrahl rastern, und verfolgen Sie dann die Beleuchtung für die Szene.
Rasterisierung ist gleichbedeutend damit, einen Satz Strahlen von einem einzelnen Punkt aus zu werfen, der beim ersten Objekt, auf das er trifft, stoppt. Raytracing geht noch einen Schritt weiter, Wirft Strahlen von vielen Punkten in jede Richtung. Die Pfadverfolgung simuliert die wahre Physik des Lichts, das Raytracing als eine Komponente eines größeren Lichtsimulationssystems verwendet.
Dies würde bedeuten, dass alle Lichter in einer Szene stochastisch abgetastet werden – unter Verwendung von Monte Carlo oder anderen Techniken – sowohl für die direkte Beleuchtung, um Gegenstände oder Zeichen anzuzünden, und für globale Beleuchtung, um Räume oder Umgebungen mit indirekter Beleuchtung zu beleuchten.
To do that, anstatt einen Strahl durch einen einzigen Sprung zurückzuverfolgen, Strahlen würden über mehrere Sprünge hinweg verfolgt, vermutlich zurück zu ihrer Lichtquelle, genau wie Kajiya es beschrieben hat.
Einige Spiele tun dies bereits, und die Ergebnisse sind atemberaubend.
Microsoft hat ein Plugin veröffentlicht, das die Pfadverfolgung ermöglicht Minecraft.
Beben II, Auch der klassische Shooter – oft eine Sandbox für fortgeschrittene Grafiktechniken – kann vollständig nachverfolgt werden, Dank eines neuen Plugins.
Es gibt eindeutig noch mehr zu tun. Und Spieleentwickler müssen sicherstellen, dass die Kunden über die nötige Rechenleistung verfügen, um Path-Trace-Gaming zu erleben.
Gaming ist das anspruchsvollste Visual-Computing-Projekt überhaupt: erfordern eine hohe visuelle Qualität und die Geschwindigkeit, um mit schnell zuckenden Spielern zu interagieren.
Es ist davon auszugehen, dass die hier entwickelten Techniken auf jeden Aspekt unseres digitalen Lebens übergreifen werden.
Was kommt als nächstes?
Da GPUs immer leistungsfähiger werden, Die Einführung der Pfadverfolgung ist der nächste logische Schritt.
Beispielsweise, bewaffnet mit Werkzeugen wie z Arnold von Autodesk, V-Ray von Chaos-Gruppe oder Pixars Renderman – und leistungsstarke GPUs – nutzen Produktdesigner und Architekten Raytracing, um in Sekundenschnelle fotorealistische Modelle ihrer Produkte zu erstellen, So können Sie besser zusammenarbeiten und auf teure Prototypen verzichten.
Denn GPUs bieten immer mehr Rechenleistung, Videospiele sind die nächste Grenze für Raytracing und Pathtracing.
In 2018, NVIDIA angekündigt NVIDIA RTX, eine Raytracing-Technologie, die Echtzeit ermöglicht, Rendering in Filmqualität für Spieleentwickler.
NVIDIA RTX, Dazu gehört eine Raytracing-Engine, die auf GPUs mit NVIDIA Ampere- und Turing-Architektur läuft, unterstützt Raytracing über eine Vielzahl von Schnittstellen.
Und NVIDIA ist eine Partnerschaft mit Microsoft eingegangen, um die vollständige RTX-Unterstützung über Microsofts neues DirectX Raytracing zu ermöglichen (DPR) API.
Seit damals, NVIDIA hat die NVIDIA RTX-Technologie weiterentwickelt, Da immer mehr Entwickler Spiele entwickeln, die Echtzeit-Raytracing unterstützen.
Minecraft beinhaltet sogar Unterstützung für Echtzeit-Pfadverfolgung, den Block drehen, eine immersive Welt in immersive Landschaften voller Licht und Schatten.
Dank immer leistungsfähigerer Hardware, und eine Verbreitung von Softwaretools und verwandten Technologien, es kommt noch mehr.
As a result, Digitale Erlebnisse – Spiele, virtuelle Welten und sogar Online-Collaboration-Tools – werden die filmischen Qualitäten eines Hollywood-Blockbusters annehmen.
Machen Sie es sich also nicht zu bequem. Was Sie von Ihrem Wohnzimmersofa aus sehen, ist nur eine Demonstration dessen, was auf die Welt um uns herum kommen wird.