Was ist 3D-Rendering in der CG-Pipeline?
Der Rendering-Prozess spielt eine entscheidende Rolle im Entwicklungszyklus der Computergrafik. Rendering ist der technisch komplexeste Aspekt von 3D-Produktion, aber es ist eigentlich ganz einfach im Kontext einer Analogie zu verstehen: So wie ein Filmfotograf muss seine Fotos entwickeln und drucken, bevor sie angezeigt werden können, sind Computergrafik-Profis ähnlich belastet Notwendigkeit.
Wenn ein Künstler an einem arbeitet 3D-Szene, die von ihm bearbeiteten Modelle sind eigentlich eine mathematische Darstellung von Punkten und Flächen (genauer gesagt Scheitelpunkten und Polygonen) im dreidimensionalen Raum.
Der Begriff Rendering bezieht sich auf die Berechnungen von a 3D-Softwarepakete Render-Engine, um die Szene von einer mathematischen Annäherung in ein fertiges 3D-Bild zu übersetzen. Während des Prozesses werden die räumlichen, strukturellen und Beleuchtungsinformationen der gesamten Szene kombiniert, um den Farbwert jedes Pixels im abgeflachten Bild zu bestimmen.
Zwei Arten von Rendering
Es gibt zwei Hauptarten des Renderings, deren Hauptunterschied in der Geschwindigkeit liegt, mit der Bilder berechnet und finalisiert werden.
- Echtzeit-Rendering: Echtzeit-Rendering wird vor allem in Spielen und interaktiven Grafiken verwendet, wo Bilder in unglaublich hoher Geschwindigkeit aus 3D-Informationen berechnet werden müssen. Da es unmöglich ist, genau vorherzusagen, wie ein Spieler mit der Spielumgebung interagieren wird, müssen die Bilder im Verlauf der Aktion in „Echtzeit“ gerendert werden.
- Geschwindigkeit zählt: Damit die Bewegung flüssig erscheint, müssen mindestens 18 bis 20 Bilder pro Sekunde auf dem Bildschirm gerendert werden. Alles andere als dies und die Aktion wird abgehackt erscheinen.
- Die Methoden: Echtzeit-Rendering wird drastisch verbessert durch dedizierte Grafikhardware, und indem Sie so viele Informationen wie möglich vorkompilieren. Ein Großteil der Beleuchtungsinformationen einer Spielumgebung wird vorberechnet und direkt in die Texturdateien der Umgebung „gebacken“, um die Rendergeschwindigkeit zu verbessern.
- Offline oder Pre-Rendering: Offline-Rendering wird in Situationen verwendet, in denen die Geschwindigkeit weniger wichtig ist, wobei Berechnungen normalerweise mit Mehrkern-CPUs und nicht mit dedizierter Grafikhardware durchgeführt werden. Offline-Rendering wird am häufigsten bei Animations- und Effektarbeiten verwendet, bei denen visuelle Komplexität und Fotorealismus auf viel höherem Niveau gehalten werden. Da es keine Unvorhersehbarkeit gibt, was in jedem Frame erscheinen wird, ist es bekannt, dass große Studios bis zu 90 Stunden Renderzeit für einzelne Frames aufwenden.
- Fotorealismus: Da das Offline-Rendering innerhalb eines offenen Zeitrahmens erfolgt, kann ein höherer Fotorealismus erreicht werden als beim Echtzeit-Rendering. Charaktere, Umgebungen und ihre zugehörigen Texturen und Lichter dürfen normalerweise eine höhere Anzahl von Polygonen haben und 4k (oder höher) Auflösung Textur-Dateien.
Rendering-Techniken
Es gibt drei Hauptberechnungstechniken, die für die meisten Renderings verwendet werden. Jeder hat seine eigenen Vor- und Nachteile, sodass alle drei Optionen in bestimmten Situationen praktikabel sind.
- Scanline (oder Rasterung): Scanline-Rendering wird verwendet, wenn Geschwindigkeit erforderlich ist, was es zur Technik der Wahl für Echtzeit-Rendering und interaktive Grafiken macht. Anstatt ein Bild Pixel für Pixel zu rendern, berechnen Scanline-Renderer auf einer Polygon-für-Polygon-Basis. Scanline-Techniken, die in Verbindung mit vorberechneter (gebackener) Beleuchtung verwendet werden, können auf einer High-End-Grafikkarte Geschwindigkeiten von 60 Bildern pro Sekunde oder besser erreichen.
- Raytracing: Beim Raytracing werden für jedes Pixel in der Szene ein oder mehrere Lichtstrahlen von der Kamera zum nächsten 3D-Objekt verfolgt. Der Lichtstrahl wird dann durch eine festgelegte Anzahl von "Bounces" geleitet, die je nach Material in der 3D-Szene Reflexion oder Brechung umfassen können. Die Farbe jedes Pixels wird algorithmisch basierend auf der Wechselwirkung des Lichtstrahls mit Objekten in seinem verfolgten Pfad berechnet. Raytracing bietet einen höheren Fotorealismus als Scanline, ist jedoch exponentiell langsamer.
- Radiosity: Im Gegensatz zu Raytracing wird Radiosity unabhängig von der Kamera berechnet und ist oberflächenorientiert und nicht Pixel für Pixel. Die Hauptfunktion von Radiosity besteht darin, die Oberflächenfarbe genauer zu simulieren, indem indirekte Beleuchtung (gestreutes diffuses Licht) berücksichtigt wird. Radiosity ist typischerweise durch weiche abgestufte Schatten und Farbausblutungen gekennzeichnet, bei denen Licht von leuchtend farbigen Objekten auf nahegelegene Oberflächen "blutet".
In der Praxis werden Radiosity und Raytracing oft in Verbindung miteinander verwendet, um die Vorteile jedes Systems zu nutzen, um einen beeindruckenden Fotorealismus zu erzielen.
Rendering-Software
Obwohl das Rendering auf unglaublich ausgeklügelte Berechnungen angewiesen ist, bietet die heutige Software einfache Parameter zu verstehen, die es so machen, dass sich ein Künstler nie mit dem zugrunde liegenden Grund auseinandersetzen muss Mathematik. Eine Render-Engine ist in jeder wichtigen 3D-Software-Suite enthalten, und die meisten enthalten Material- und Beleuchtungspakete, die es ermöglichen, einen atemberaubenden Fotorealismus zu erzielen.
Die zwei gängigsten Render-Engines
- Mentaler Strahl: Im Lieferumfang von Autodesk Maya enthalten. Mental Ray ist unglaublich vielseitig, relativ schnell und wahrscheinlich der kompetenteste Renderer für Charakterbilder, die eine Streuung unter der Oberfläche benötigen. Mental Ray verwendet eine Kombination aus Raytracing und "globaler Beleuchtung" (Radiosity).
- V-Ray: Sie sehen normalerweise V-Ray in Verbindung mit 3DS Max verwendet — zusammen ist das Paar absolut konkurrenzlos für Architekturvisualisierung und Umgebungs-Rendering. Hauptvorteile von VRay gegenüber seinem Konkurrenten sind seine Beleuchtungswerkzeuge und die umfangreiche Materialbibliothek für arch-viz.
Rendern ist ein technisches Thema, kann aber sehr interessant sein, wenn man sich einige der gebräuchlichen Techniken genauer ansieht.