Es ist viel passiert – Cycles in Blender 2.8 und anderswo

Rückblick: In der DP 05 : 2019 stellte unser Autor Gottfried Hofman fest: Die Path Tracing Render Engine Cycles steckt in vielen Programmen – oder ist bereits als eigenes Plug-in erhältlich.

Dieser Artikel erschien urpsrünglich in der DP 05 : 2019.

Die Path Tracing Render Engine Cycles steckt inzwischen in vielen Programmen oder ist wie im Falle von Cinema 4D als Cycles 4D in Form eines Plug-ins erhältlich. Die hauptsächliche Entwicklung geschieht aber immer noch im Blender-Umfeld, weshalb eine neue Blender-Version genau der richtige Zeitpunkt ist, sich die neuen Features und Optimierungen anzusehen.

Neben Preview-Builds für Blender 2.8 konnten über den Buildbot auch Ver sionen von Blender 2.79 herunterge- – laden werden, die die Verbesserungen von Cycles inkorporiert hatten. Profis konnten also schon lange von den neuen Features und schnellerem Rendern profitieren. Mit Blender 2.8 wird die neue Version von Cycles jetzt erstmals einem breiteren Publikum zugänglich.

Mehr Power

Wie üblich wurde bei Cycles an Performance und Ressourcenverbrauch gearbeitet. Sowohl für CPU, als auch GPU-Rendering mit OpenCL oder CUDA gab es Verbesserungen. So können jetzt Grafikkarte und Hauptprozessor auch mit CUDA gemeinsam an einem Bild rendern, wobei eine kleine Tile Size von beispielsweise 16 x 16 oder 32 x 32 Pixeln für beide Hardware-Gattungen optimal sein sollte. Daher könnten diese Einstellungen in zukünftigen Blender-Versionen verschwinden, ein Schicksal, das die Option Transparent Shadows schon getroffen hat, da mit ihr auf keiner Architektur mehr eine Performance-Einbuße zu erwarten ist.

Wer mit CUDA rendert, muss jetzt keine Angst mehr haben vor einem Out-of-Memory-Fehler, denn Cycles kann jetzt Daten, die nicht mehr in den Grafikspeicher passen, in den normalen Arbeitsspeicher des Computers auslagern. Das kommt aber mit Einbu- ßen bei der Performance.

Hardware-Unterstützung geht zurück

Leider kann CUDA-Rendering nicht mehr mit Karten der 4xx- und 5xx-Serien genutzt werden, ebenso wenig auf 32-Bit-Systemen. Auf Apple-Systemen kann nicht mehr mit OpenCL gerendert werden aufgrund von Compiler-Problemen und der Tatsache, dass Apple OpenCL auf längere Sicht nicht mehr unterstützen möchte.

Motion Blur

Bewegungsunschärfe ist bei Path Tracing Engines ein großes Thema. Cycles kann die Bewegung von Objekten und der Kamera beliebig fein abtasten, was zum Beispiel simulierte Langzeitbelichtungsaufnahmen möglich macht. Neu ist außerdem, dass die Bewegungsunschärfe auch bei animierter Skalierung möglich ist.

Ein Beispiel für Optimierungen in Cycles. Adaptive Subdivisions werden jetzt geringer aufgelöst, je weiter sie vom Sichtfeld der Kamera entfernt sind. Dadurch konnte der Speicherverbrauch dieser Szene auf circa ein Fünftel reduziert werden.
Vector Displacement – Beispiel für Vector Displacement mit Cycles in Blender 2.8. Links ganz ohne, in der Mitte regulär, rechts in übertriebener Form. Modell von http://threedscans.com/

Cryptomatte

Cycles kann nun eine Cryptomatte ausgeben, wodurch sich ein gerendertes Bild segmentieren lässt. Das ist deutlich effektiver als die bisherigen ID-Passes für Objekte und Materialien und unterstützt auch gleich noch Bewegungsunschärfe, Tiefenunschärfe, Transparenz und Antialiasing. Und da es sich dabei um einen offenen Standard handelt, können diese Informationen nicht nur mit dem Blender Compositor, sondern in allen Programmen genutzt werden, die Cryptomatte unterstützen.

Ambient Occlusion

Statt eines reinen Shaders kann Cycles Ambient Occlusion (AO) jetzt auch als Farbe oder Float ausgeben. Damit kann das Feature endlich zum Texturieren und in Kombination mit anderen Shadern eingesetzt werden. Bisher musste AO entweder gebacken werden, oder es war nur rein der Shader verfügbar.

Vector Displacement

Cycles unterstützt in Blender 2.8 Vector Displacement in drei Dimensionen. Bisher funktionierte das Displacement in Cycles nur in Richtung der Normalen anhand von Graustufenbildern, ähnlich wie Bump Maps. Jetzt können die drei Raumdimensionen separat in den Farbkanälen eines Bilds gespeichert werden. Dadurch wird auch möglich, ganze Objekte in Bildern zu speichern (zum Beispiel relativ zum Default Cube). Das geschieht dann am besten im Object Space, welcher etwas schneller rendert als der Tangent Space, der für animierte Objekte geeignet ist, bei denen das Displacement der Deformation der Oberfläche folgen muss.

Der bisherige graue Displacement-Eingang des Output-Nodes ist weggefallen und durch einen blauen Vektor-Eingang ersetzt worden. Für die Konvertierung des bisherigen eindimensionalen Displacements zur neuen Vektor-Version existiert ein eigener Node.

Mit dem neuen Shader Principled Hair BSDF braucht man für die Darstellung von realistischen Haaren keine aufwendigen Node-Netzwerke mehr. Stattdessen kann man das Aussehen über Werte wie den Melaningehalt bestimmen.
Langzeitbelichtungen – Die Bewegung von Kameras und Objekten kann jetzt beliebig häufig gesamplet werden, was die Simulation von Langzeitbelichtungen ermöglicht.
Ambient Occlusion – Ein Beispiel für die Anwendung des neuen Ambient Occlusion (AO) Nodes in Cycles von Emiliano Colantoni. Die Menge an Rost in den Ecken wird dabei von der AO-Stärke gesteuert.

Dicing Cam

Adaptive Subdivisions unterteilen Objekte jetzt umso weniger, je weiter sie vom Sichtfeld der Kamera entfernt sind. Das spart Rechenzeit und Arbeitsspeicher, kann bei Animationen aber zu einem Plopp-Effekt beziehungsweise Flackern von Schatten führen. Abhilfe schafft dann eine eigene Dicing Cam, die den gesamten Bereich der Animation überblickt und dadurch für eine konstante Tesselierung sorgt.

Bevel im Shader

Wer häufiger mit aus CAD-Programmen importierten Daten arbeitet, weiß, dass der Bevel-Modifier nicht bei jeder Geometrie eine akkurate Kante erzeugen kann. Dem Bevel Shader ist die Topologie des Modells hingegen egal, weshalb er in einem solchen Fall die besseren Ergebnisse erzielen kann. Diese Unabhängigkeit kann aber gerne 20% Renderzeit kosten, weshalb man wenn möglich weiterhin den Bevel Modifier einsetzen sollte.

Random Walk SSS

Der Subsurface Scattering (SSS) Shader beherrscht jetzt die Random-Walk-Methode. Diese steht auch für SSS in der Principled BSDF zur Verfügung.

Sie simuliert echte Volumenstreuung im Objekt und ist besonders für dünne Objekte geeignet. Auch Geometrie wird damit feiner dargestellt.

Die Objekte müssen dafür aber geschlossen sein. Überlappende Flächen und Löcher führen bei Random Walk SSS zu Artefakten. Außerdem kann in flächigen Bereichen mehr Rauschen auftreten als bei anderen SSSMethoden.

Shader Side Beveling – Ein Modell von Juri Unt zeigt die Mächtigkeit des neuen Bevel Shaders. Sämtliche Glanzlichter auf den Kanten erscheinen nur, weil der Bevel Shader eine Abrundung simuliert. Die tatsächliche Geometrie ist perfekt scharf.
Random Walk – Das neue Random-Walk-Modell des Subsurface Scattering (SSS) Shaders ist besonders gut für filigrane Elemente wie die Beine dieser Krabbe geeignet.

Principled, principled, principled

Die Principled BSDF hat nun Transparenz bzw. Alpha und Emission integriert, und es gibt nun zwei weitere Principled Shader. Die Principled Hair BSDF ist ein Haar-Shader, bei dem die Farbe der Haare entweder direkt oder über Eigenschaften der Haare wie die Melanin-Konzentration oder den Absorptionskoeffizienten angegeben werden kann. Man kann damit also einerseits eher künstlerisch vorgehen, andererseits auch in der realen Welt gemessene Werte übernehmen. Der eine oder andere hat Ergebnisse dieses Shaders schon gesehen, denn er wurde erstmals von Disney im Film „Zootopia“ eingesetzt.

Ein weiterer neuer Shader in der Principled-Reise ist die Principled Volume BSDF, die die Darstellung von Feuer und Rauch vereinfacht. Für Rauch mussten bisher Volume Scatter und Volume Absorption kombiniert werden, bei Feuer kam dann noch ein Emission Node dazu. Die Principled BSDF vereint alle diese Shader in einem und holt sich die Volumendaten automatisch, wenn das Objekt, dem das Material zugewiesen ist, die Domain einer Feuer- oder Rauchsimulation ist.

Fazit

Cycles ist in Blender 2.8 schneller, ressourcenschonender und kompatibler zu gängigen Workflows geworden. Die neuen Principled Shader sparen Arbeitszeit und ermöglichen auch technisch weniger versierten Nutzern gute Ergebnisse. Wenn man noch die vielen weiteren neuen Features betrachtet, zeigt sich, dass Cycles auf dem richtigen Weg ist.

Cryptomatte – Ein Beispiel für die Anwendung von Cryptomatte. Zum Rendering werden Segmentierungsinformationen gespeichert, die vom Nutzer nach Belieben ausgewählt und kombiniert werden können. In diesem Fall wurden alle Elemente des Fahrzeugs mit Fahrer zu einer S/W-Maske kombiniert. Das Ergebnis ist ein isoliertes Objekt ohne Umgebung.

Kommentar schreiben

Please enter your comment!
Please enter your name here

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.