Irradiance Cache (alt)
Beachten Sie außerdem, dass dieser alte Irradiance Cache nicht zusammen mit dem Team Render funktioniert. Sollten Sie das dennoch versuchen, wird intern auf den neuen Irradiance Cache umgeschaltet (mit entsprechend unterschiedlichem Ergebnis)und dann per Team Render gerechnet.
Die GI-Berechnung nach der Irradiance Cache-Methode (im Folgenden "IC" genannt) bietet den Vorteil moderater Renderzeiten in Kombination mit sehr homogener, gleichmäßiger Lichtverteilung. Artefakte (wie beispielsweise Flecken), die häufig in früheren GI-Versionen auftraten, passieren mit den normalen Einstellungen nicht mehr. Auch Animationen mit flackernden Bereichen gehören der Vergangenheit an.
Bei der IC-Berechnung werden mehrere Vorberechnungen (die sog. "Prepasses") angestellt, wobei die Szene analysiert wird, um dann an den wichtigsten Stellen (den sog. "Shadingpunkten", das sind die in den Prepasses angezeigten Punkte) die indirekte Beleuchtung zu ermitteln. Die Helligkeitswerte dieser Shadingpunkte werden dann im Irradiance Cache als sog. "Eintrag" gespeichert. Dieser Cache kann abgespeichert werden, um bei Blickwinkeländerungen, Kameraanimationen etc. effektiv wieder verwendet zu werden.
Beim finalen Rendern werden dann die Einträge des Irradiance Cache interpoliert, um die Pixel zwischen den Shadingpunkte mit indirektem Licht zu "versorgen".
Die Nachteile der Irradiance Cache-Methode sollen natürlich auch nicht verschwiegen werden: Durch die Interpolation zwischen der begrenzten Zahl von Shadingpunkten können Details bzgl. Licht und Schatten wegfallen. In dieser Hinsicht hat die Methode QMC die Nase vorne. Es gibt daher die Funktionalität der Detailsteigerung, die QMC-Methoden mit IC kombiniert, um diesen Nachteil aufzuwiegen.
Darüber hinaus bietet Ihnen IC eine Menge an Einstellmöglichkeiten, um das Letzte aus der GI-Berechnung herauszukitzeln, bzw. um für jede Szene gerüstet zu sein.
Anzahl der pro Shadingpunkt berechneten Samples
Im Tab "Allgemein” definieren Sie die Anzahl der in das Projekt geschossenen Strahlen, um dort Helligkeit und Farbe einzusammeln ("samplen"), diese Werte zu interpolieren und als "Eintrag" im Irradiance Cache abzulegen.
Es gilt: Je mehr Strahlen berechnet werden, desto präziser ist die GI-Berechnung am Shadingpunkt.
Wie Sie in obiger Abbildung sehen, sorgen zu niedrigen Sample-Einstellungen für ein fleckiges Rendern besonders in den Ecken. Wenn Sie genau hinsehen, sehen Sie auch ganz rechts knapp über der Bodenleiste noch einige Flecken. Diese können beispielsweise durch eine der folgende Maßnahmen beseitigt werden:
Von links nach rechts ansteigende Shadingpunktdichten. Im gerenderten Bild lassen sich diese Auswirkungen am besten an den Regalschatten und den Raumecken sehen. Beachten Sie auch, wie die Dichte in den hinter der Kamera liegenden Ecken (sichtbar in der spiegelnden Kugel) zunimmt.
Die Einstellungen der folgenden 6 Parameter sorgen für die flächenmäßige Dichteverteilung der Shadingpunkte, zwischen denen beim Rendern Helligkeit und Farbe interpoliert wird. Daraus folgt unmittelbar: Je dichter die Verteilung, desto präziser werden feine Details wie beispielsweise Schattenwürfe sichtbar (allerdings auch wiederum stark abhängig von den Glätten-Einstellungen, die durch zu starke Glättung diese Details auch wieder ins Nirvana befördern können).
Wie Sie in obiger Abbildung sehen können, werden ebene Flächen, wo sich keine Kanten, Ecken und ähnliches befinden, mit eher wenigen Shadingpunkten bedacht, während in den "komplizierten" Bereichen, wo sich in kurzen Abständen "viel" tut, viele Shadingpunkte platziert werden. Diese Aufteilung geschieht mit den normalen Einstellungen automatisch und ist der Tatsache geschuldet, dass sich die indirekte Beleuchtung in Ecken und an Kanten besonders stark ändert.
Mit dem Parameter Eintragsdichte stellen Sie eine Kombination von untergeordneten Parametern ein, die schon weitgehend optimiert ist. Sie sollten nur in besonderen Fällen auf Eigene stellen und diese Parameter ändern.
Diese Option wird angezeigt, wenn Sie einen der darunter liegenden Parametern ändern und von den Vorgaben abweichen.
Wie der Name schon suggeriert, wird hier eine bzgl. Qualität "schlechte" Parameterkombination erstellt, die sehr schnell rendert, aber viele GI-Bilddetails unterschlägt bzw. Fehler berechnet. Insbesondere für Animationstestrenderings sollten Sie auf diese Option zurückgreifen.
Niedrig
Mittel
Hoch
Hoch (Details)
Diese 4 Optionen sind für die Interpolationsmethode Kleinste Quadrate optimiert und stellen unterschiedliche Qualitätsstufen dar.
Min. Rate [-8..4]
Max. Rate [-8..4]
Bei der Erstellung des Irradiance Caches geht Cinema 4D zunächst von einer kleineren Bildauflösung (Min. Rate) aus, die dann über mehrere Passes bis zur finalen IC-Auflösung (Max. Rate) erhöht wird.
0 bedeutet jeweils volle Bildauflösung (Pixelgröße 1*1), während -1 eine Pixelgröße von "2*2", -2 "4*4" usw. darstellt. Min. Rate sollte sinnvollerweise stets kleiner bzw. gleich groß wie Max. Rate sein. Es sind allerdings auch positive Werte möglich, was Cacheeinträge im Subpixelbereich erlaubt (dies könnte beispielsweise bei Subpolygon Displacement sinnvoll sein, wenn Details verschluckt werden).
Diese Auflösungen gelten nur für die IC-Berechnung. Da aber der Irradiance Cache relativ gut skalierbar (d.h. kleinere IC-Auflösungen bei größerer Bildauflösung) ist, können selbst mit kleineren Auflösungen oft gute Ergebnisse erzielt werden.
Diese beiden Parameter bieten daher ein hohes Potential an möglicher Renderzeitverkürzung. Besonders bei detailarmen, hellen Szenen lässt sich hier einiges an kostbarer Rechenzeit einsparen.
Der Beweis folgt auf dem Fuß:
Es ist übrigens beispielsweise -3/0 schneller als 0/0 bei fast identischem Ergebnis. Gleiche Werte wie -3/-3 ergeben nur einen einzigen Pass mit entsprechender Auflösung.
Mit diesem Parameter definieren Sie den maximalen Abstand zwischen den Shadingpunkten. Je kleiner der Wert, desto dichter liegen die Punkte zusammen. Der Parameter wirkt vor allem an den unkritischen Stellen der Szene, wie ebene, freie Flächen. Es besteht außerdem eine Abhängigkeit zu Dichtekontrolle. Dieser regelt ebenfalls hier mit.
Dieser Parameter wiederum regelt den minimalen Abstand zwischen den Shadingpunkten. Und zwar wirkt er primär auf die kritischen Szenenbereiche wie Ecken, Kanten etc. Je kleiner der Wert, desto dichter liegen die Shadingpunkte dort. Der Parameter ist proportional zu Radius, d.h. wird dieser halbiert, wird Minimaler Radius intern ebenfalls halbiert.
Minimaler Radius wirkt sich also besonders an Stellen aus, wo es auf Details (etwa feiner Schattenwurf) ankommt. Allerdings kann es bei zu vielen Shadingpunkten in diesen Bereichen wiederum zu Problemen kommen.
Um feine Details sichtbar zu machen, verlassen Sie sich lieber auf die Detailsteigerung.
Bezogen sich die beiden vorher beschriebenen Parameter hauptsächlich jeweils auf die Shadingpunktdichte an unkritischen bzw. kritischen Bereichen, so stellen Sie sich Dichtekontrolle als allgemeinen Regler vor, der die Shadingpunktdichte insgesamt regelt. Es gilt: Je größer der Wert, desto größer die Dichte.
Bei den diversen Prepasses der GI-Berechnung gibt es unter anderem diesen NachbarkorrekturPass, der simpel formuliert dafür sorgt, dass sich die Shadingpunkte an gewissen kritischen Stellen untereinander "helfen" und Informationen bzgl. nahe angeordneter Geometrie weitergeben. Im Laufe dieses Prozesses ist es nötig, neue Shadingpunkte zu erstellen und zu berechnen.
Dieses Verhalten kann hier deaktiviert werden, was etwas Renderzeit spart, allerdings auch zu schlechteren Ergebnissen führt (vor allem an Ecken und Kanten).
Außerdem sollten Sie die Nachbarkorrektur deaktivieren, wenn Sie bei Max. Rate Werte kleiner als 0 definieren, da es ansonsten zu überflüssigen Berechnungen kommt.
Irradiance Cache Interpolation
Alle vorher beschriebenen Parameter drehten sich um die Platzierung von Shadingpunkten und deren Berechnung. Die indirekte Beleuchtung wurde also für die kritischsten Szenenbereiche punktuell ermittelt. Beim Rendern schließlich muss aus dieser punktuellen Helligkeitsverteilung eine flächige gemacht werden. Glätten macht genau das voreinstellungsgemäß folgendermaßen: Für jedes zu rendernde Pixel einer Objektoberfläche wird der Irradiance Cache durchsucht, um Einträge in dessen unmittelbarer Nähe zu finden und deren Helligkeits- und Farbwerte für dieses Pixel zu interpolieren. Wie die Interpolation erfolgt (wie viele Einträge in welcher Entfernung sollen wie berücksichtigt werden?), regeln Sie mit den im Folgenden beschriebenen Parametern.
Folgende "Mechanismen" gibt es, um das auszugleichen:
Wie so oft rührt dieser Begriff aus der Mathematik. Im Wesentlichen geht es dabei um die Ermittlung einer Kurve aus einer begrenzten Anzahl Punkten. Um nichts anderes geht es im Prinzip bei der Glättung hier: Sie haben eine begrenzte Anzahl Einträge im Irradiance Cache und aus diesen "wenigen" Punkten soll eine homogene, fließende Helligkeitsverteilung für das gesamte Bild errechnet werden.
Diese Interpolationsmethode arbeitet ähnlich wie Kleinste Quadrate, nur wird hier zwischen Einträgen ausschließlich) interpoliert (während es bei Kleinste Quadrate auch zu Extrapolationen kommen kann, d.h. hellere oder dunklere Ergebnisse als in den Einträgen). Wozu soll das gut sein? Für qualitativ niedrige GI-Einstellungen kann diese Methode Artefakte verhindern, außerdem rendert sie etwas schneller als Kleinste Quadrate. Nachteil: die Lichtverteilung ist nicht ganz so homogen wie bei Kleinste Quadrate.
Hiermit wird überhaupt nicht geglättet. Dieser Modus ist aus Anschauungsgründen ganz interessant.
Je besser die Glätteneinstellung, desto mehr Details gehen verloren, aber desto homogener die Helligkeitsverteilung. Bei Auswahl von Eigene können die Parameter Einträge und Größe manuell eingestellt werden.
Die beiden Parameter Größe und Einträge begrenzen die zur Interpolation herangezogenen Shadingpunkte (zur Veranschaulichung sind die Shadingpunkte hier rot).
Der Parameter Einträge bestimmt für das zu rendernde Pixel die maximale Anzahl an umliegenden Einträgen im Irradiance Cache, die zur Interpolation von Farbe und Helligkeit berücksichtigt werden sollen. Ist allerdings der nächste Parameter Größe so klein, dass nicht genügend Einträge zusammenkommen, können auch durchaus weniger Einträge zur Berücksichtigung kommen.
Je kleiner der Parameter, aus desto weniger Einträgen wird das Endergebnis interpoliert und desto inhomogener wird das Rendering. Höhere Werte glätten mehr, brauchen jedoch auch länger zum Rendern.
Dieser Parameter wiederum dient zur räumlichen Eingrenzung (in Form einer Kugel um das zu rendernde Pixel) der zur Interpolation von Farbe und Helligkeit heranzuziehenden Einträge. Je größer der Parameter, desto mehr Einträge werden berücksichtigt und desto weicher ist die Interpolation, desto länger aber auch die Renderzeit. Allerdings wirkt auch der eben beschriebene Parameter Einträge begrenzend.
Alle bisherigen hier beschriebenen Parameter drehten sich um die Platzierung von Shadingpunkten aufgrund geometrischer Eigenschaften Ihrer Szene. Was aber, wenn ein grobschlächtiger GI-Schatten das Renderergebnis beeinträchtigt?
Hier kommt die Cacheoptimierung zum Einsatz: Sie vergleicht die Einträge im Irradiance Cache und erzeugt in Bereichen hoher Kontraste (Helligkeit und Farbe) zusätzliche Einträge (aka Shadingpunkte), die das Ergebnis verfeinern und präzisieren.
Je höher die Cacheoptimierung hier eingestellt wird, desto länger wird gerendert, was nicht zwangsweise mit besserer Qualität einhergeht.
Die Farbkorrektur kann selbst auch mehrere Passes (Durchgänge) berechnen. Mit jedem erneuten Pass werden die Ergebnisse des vorheriges Passes mit einbezogen und weiter verfeinert, indem in kritischen Bereichen zusätzliche Shadingpunkte erzeugt werden.
Definieren Sie hier also, wie oft die Cacheoptimierung vorgenommen werden soll.
Dieser Wert definiert, wie weit die (benachbarten) Einträge im Cache bzgl. ihrer Farbe (nicht Intensität) voneinander abweichen dürfen, bevor hier zusätzliche Shadingpunkte ("Samples") berechnet werden. Je kleiner der Wert, desto geringer ist die Toleranzschwelle und desto mehr Samples werden eingefügt.
Dieser Wert berücksichtigt zusätzlich Intensitätsunterschiede. Je kleiner der Wert, desto verschiedener müssen die Einträge sein, damit die Farbkorrektur greift. Ein Wert von 0 schaltet die Cacheoptimierung aus.
Stärke ist ein allgemeiner Parameter, der die Cacheoptimierung bzgl. ihrer Sampledichte regelt. Ein Wert von 0 schaltet die Cacheoptimierung aus, während größere Werte die Shadingpunktdichte ("Samples") unter Berücksichtigung des Farbschwell- und Abschneiden-Wertes immer weiter erhöhen.
Die Aktivierung dieser Option erzeugt für jeden Eintrag im Irradiance Cache zusätzlich eine Information bzgl. nah positionierter Geometrie (ist eine Kante in der Nähe?) Wenn beim Rendern dann die Werte des Irradiance Cache zur Interpolation herangezogen werden, wird die Distanzmap ausgewertet, d.h. es wird nicht "um die Ecke" oder durch eine (dünne) Wand interpoliert, was sich durch Artefakte (sog. "Light leaks") bemerkbar macht.
Die Berechnung dieser Distanzmap kostet natürlich Renderzeit und kann deshalb hier an- oder ausgeschaltet werden.
Eine weitere Möglichkeit, solcherlei Artefakte auszuschließen ist die folgende Option:
Beim Auswerten des Irradiance Caches während des Renderns kann durch die Aktivierung dieser Option die Berücksichtigung von Cacheeinträgen, die vom aktuellen Kamerablickwinkel nicht erfasst werden, ausgeschaltet werden. Wozu soll das gut sein? Wie schon bei der vorherigen Option Distanzmap geht es um das Verhindern der sog. "Light Leaks" (Renderartefakte). Hier allerdings primär um solche, die bei dünnen Wänden (also z.B. nur polygondünnen Flächen) auftreten wie in obigem Beispiel. Die Renderzeit wird dadurch etwas verlängert, sodass die Option auch bei Auftreten der Artefakte aktiviert werden sollte. Bei abgespeichertem Irradiance Cache kann diese Option sogar noch im Nachhinein aktiviert werden.
Die Detailsteigerung ist eine spezielle Funktionalität, um eine Eigenart des Irradiance Cachings – nämlich das "Auswaschen" (oder Glätten) von Details, wie feinste Schattenwürfe – zu bekämpfen. Die Detailsteigerung bedient sich dabei eines QMC-Samplings (s.a. hier) in kritischen Bereichen (und das für jedes relevante Pixel!) wie Ecken, Kanten, Vertiefungen etc. Sie können sich die Detailsteigerung als eine Art spezielles Ambient Occlusion vorstellen, wobei aber indirektes Licht berücksichtigt wird.
Der Effekt des Ganzen: Feine Geometrie-Details werden hervorgehoben.
Beachten Sie dabei, dass der interne Irradiance Cache dabei anders berechnet wird (der Algorithmus weiß von der späteren Detailsteigerung und berechnet an den kritischen Stellen anders), als bei deaktivierter Option. Wie auch immer: Die Detailsteigerung wird für jedes gerenderte Bild separat berechnet, d.h. ein abgespeicherter, wieder verwendeter Cache bringt diesbezüglich keine Geschwindigkeitsvorteile.
Sollten Sie also Detailsteigerung verwenden, können Sie mit den anderen Irradiance Cache-Einstellungen (besonders mit denen der Irradiance Cache Verteilung (Eintragsdichte) heruntergehen.
Schalten Sie hiermit die Detailsteigerung an und aus.
In einigen speziellen Fällen – einige kleine Bereiche der Detailsteigerung sind im Gegensatz zu den übrigen über Gebühr körnig – kann die Aktivierung dieser Option von Vorteil sein. In diesen Bereichen werden dann zusätzliche Samples berechnet.
Dieser Modus rechnet schneller und ist für die meisten Szenen ausreichend. Allerdings werden entsprechende Stellen gegenüber einem reinen QMC-Rendering (GI-Modus QMC) etwas zu dunkel bzw. zu farbig gerendert, was oft allerdings nicht im Geringsten stört. Gegebenenfalls kann dieses Verhalten dann hier abgestellt werden (beachten Sie, dass es zu körnigen Ergebnissen kommen kann, erhöhen Sie in diesem Fall den Parameter Qualitätsverhältnis).
Mit diesem Parameter bestimmen sie, inwieweit jeweils weiter entfernte Objekten, Ecken und Kanten berücksichtigt werden sollen. Kleine Werte sorgen dafür, dass nur die nächste Umgebung "gesehen" wird, während größere Werte immer weiter entfernte Objekte in die Berechnung mit einbeziehen. Daraus folgt unmittelbar, dass größere Werte (neben der Präzision) auch die Renderzeit in die Höhe treiben.
Qualitätsverhältnis [5..1000%]
Wie anfangs schon erwähnt, wird in kritischen Bereichen ein QMC-Sampling durchgeführt. Qualitätsverhältnis definiert dabei, wie viele Strahlen ("Samples") pro Pixel verwendet werden, was wiederum einfach die Körnigkeit der Detailsteigerung definiert. Größere Werte führen zu unkörnigeren, weicheren Ergebnissen, brauchen aber auch entsprechend länger zum Rendern.
Qualitätsverhältnis ist übrigens ein autonomer, von den übrigen IC-Einstellungen unabhängiger Wert (100% entspricht dabei 64 Samples).
Dieses Auswahlmenü dient lediglich zu Testzwecken, damit Sie die Auswirkungen der Detailsteigerung, die oft eher subtil sind, besser sehen können. Sie haben die folgenden Auswahlmöglichkeiten:
Dieser voreingestellte Modus rendert ein korrektes Ergebnis.
Hier wird nur die Detailsteigerung ohne GI gerendert. Dieser Modus zeigt die Detailsteigerung am besten.
Diese Option rendert nur die indirekte Beleuchtung.