Irradiance Cache (alt)

Hinweis:Bei den Beschreibungen dieser Seite handelt es sich um eine sehr alte Implementation des Irradiance Cache, der nur für das Laden/Rendern alter Projekte vorgesehen ist. Die Verwendung wird allgemein nicht mehr empfohlen. Wechseln Sie deshalb möglichst auf Primäre Methode Irradiance Cache.
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.
Links mit der Methode Irradiance Cache (mittlere Einstellungen; rechts mit QMC gerendert. Jeweils Strahltiefe = 3. Die Renderzeit der Irradiance Cache-Variante beträgt einen Bruchteil der QMC-Variante.

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

Von jedem Shadingpunkt werden eine Anzahl Strahlen in die Szene geschossen.

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.

Von links nach rechts ansteigende Anzahl von Samples bei ansonsten gleichbleibenden Parametern.

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:

Verteilung der Shadingpunkte

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.

Tipp:Werden Szenen mit fleckiger und inhomogener Lichtverteilung ("Noise") gerendert, hilft es bei "normalen" Einstellungen primär, die Sampleanzahl zu erhöhen, anstatt die Eintragsdichte hier endlos zu optimieren.

Eintragsdichte

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.

Eigene

Diese Option wird angezeigt, wenn Sie einen der darunter liegenden Parametern ändern und von den Vorgaben abweichen.

Vorschau

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ß:

Wie Sie bei diesen Bildern erkennen können, halbiert sich die Renderzeit fast, wobei zwar die GI-Artefakte zunehmen, diese bei hellen Szenen oft aber kaum zu erkennen sind.

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.

Radius[0..100%]

Variation der 3 Parameter Radius, Minimaler Radius, Dichtekontrolle. Die Nachbarkorrektur wurde hier deaktiviert (diese erzeugt zusätzliche Shadingpunkte). Zur besseren Sichtbarkeit sind die Shadingpunkte hier rot dargestellt.

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.

Minimaler Radius[0..100%]

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.

Dichtekontrolle[0..100%]

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.

Nachbarkorrektur

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

Links vor, rechts nach der Glättung. Beachten Sie, wie die Glättung feine Details (die Schatten der Streben) unter den Tisch fallen lässt.

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.

Hinweis:Diese effektive Interpolation (weiche, homogene Lichtverteilung) ist allerdings gleichzeitig auch die größte Schwäche des Irradiance Cachings: feine Details eines einzelnen Eintrages z.B. werden durch die benachbarten Einträge "unterdrückt".

Folgende "Mechanismen" gibt es, um das auszugleichen:

Interpolationsmethode

Kleinste Quadrate

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.

Gewichteter Durchschnitt

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.

Aus

Hiermit wird überhaupt nicht geglättet. Dieser Modus ist aus Anschauungsgründen ganz interessant.

Glätten

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.

Einträge[8..256]

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.

Größe[1.60..8.00]

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.

Irradiance-Cache-Optimierung

Cacheoptimierung

Die Cacheoptimierung sorgt in Bereichen starker Kontraste für zusätzliche Shadingpunkte. Links oben sehen Sie jeweils das fertig gerenderte Resultat.

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.

Tipp:Beachten Sie, dass Sie die präzisesten GI-Schattenwürfe (allerdings auf Kosten der Renderzeit) erreichen, wenn Sie für Polygonlichter/GI Portale in den GI-Einstellungen Pro Pixel erzwingen (die gleiche Option gibts auch für das Diskrete Himmel-Sampling im selben Tab) aktivieren.
Hinweis:Die Cacheoptimierung kann die Anzahl der Einträge im Irradiance Cache stark erhöhen. Das muss nicht unbedingt mit besserer Qualität einhergehen. Besonders im Zusammenhang mit nicht dazu passender Glättung kann es hier zu sehr fleckigen Ergebnissen kommen. Setzen Sie die Cacheoptimierung also nur ein, wenn es nötig ist.

Je höher die Cacheoptimierung hier eingestellt wird, desto länger wird gerendert, was nicht zwangsweise mit besserer Qualität einhergeht.

Passanzahl[0..4]

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.

Farbschwellwert[0..100%]

Oben vor der Cacheoptimierung, unten danach. Links kleiner, rechts großer Farbschwellwert.

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.

Hinweis:Je größer die Sampleanzahl (Qualität), desto geringer ist die Abweichung unmittelbar benachbarter Einträge und desto weniger muss die Cacheoptimierung eingreifen.

Abschneiden[0..100%]

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[0..200%]

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.

Distanzmap

Die Distanzmap verhindert das Durchdringen von Licht durch Geometrie.

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:

Eintragssichtbarkeit

Artefakte an der dünnen Blende werden durch Eintragssichtbarkeit wirkungsvoll verhindert.

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.

Detailsteigerung

Links ohne, rechts mit Detailsteigerung gerendert. Beachten Sie die Auswirkungen an den kleinen geometrischen Details.

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.

Detailsteigerung

Schalten Sie hiermit die Detailsteigerung an und aus.

Adaptiver Modus

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.

Sekundärabschätzung

Mitte deaktivierte, rechts aktivierte Option Sekundärabschätzung. Links zum Vergleich ein QMC-Rendering. Beachten Sie, wie rechts an Kontaktflächen abgedunkelt wird.

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).

Radius[0.05..0.25]

Links kleiner, rechts großer Wert für Radius.

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).

Modus

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:

Kombinieren

Dieser voreingestellte Modus rendert ein korrektes Ergebnis.

Nur Details

Hier wird nur die Detailsteigerung ohne GI gerendert. Dieser Modus zeigt die Detailsteigerung am besten.

Nur global

Diese Option rendert nur die indirekte Beleuchtung.