Indigo Renderer

Indigo Renderer
Modelliert mit Blender, gerendert mit Indigo
Modelliert mit Blender, gerendert mit Indigo
Basisdaten
Entwickler Nicholas Chapman
Aktuelle Version 4.4
(16. Februar 2021)
Betriebssystem Windows, Linux, Mac OS X
Kategorie Computergrafik
Lizenz Proprietär (Indigo Renderer License)
www.indigorenderer.com

Indigo ist eine ehemals kostenlose, physikbasierte Renderengine zur Generierung photorealistischer Bilder. Es handelt sich hierbei um die reine Render-Engine – die Erstellung der Szene muss mit der Hilfe anderer Produkte erfolgen und zu Indigo exportiert werden.

Indigo Version 1 ist sowohl für den privaten als auch für den kommerziellen Gebrauch kostenlos, jedoch keine freie Software. Ab Version 2 wird sie kommerziell vertrieben.

Ein großer Vorteil von Indigo gegenüber vielen anderen Render-Engines besteht darin, dass es möglich ist, einen Rendervorgang zu beenden und später fortzusetzen. Das dafür benötigte Tool nennt sich „Indigo Resumer“. Indigo Resumer wird nicht benötigt, sondern stellt ein GUI für die entsprechenden Kommandozeilenbefehle dar. Neuere Versionen von Indigo erlauben das Anhalten und Wiederaufnehmen von Rendervorgängen, direkt in Indigo.

Renderverlauf in Indigo: Ein Bild mit 10, 200 und 1000 samples per pixel.
Obiges Bild nach dem Tone Mapping in Violet.

Technik

Indigo unterscheidet sich von vielen anderen Rendersystemen vor allem darin, dass es zur Lösung der Rendergleichung ausschließlich Metropolis Light Transport verwendet. Auf diese Art und Weise kommt es ohne die Definition von Radiosity oder Photon-Mapping aus und erzeugt absolut realistische Abbildungen. Der Preis dieses Verfahrens ist die niedrige Geschwindigkeit des Renderns. Das Bild wird nicht zeilenweise berechnet, sondern nach dem Prinzip der Monte-Carlo-Simulation aufgebaut. Zu Beginn entsteht ein extrem grieseliges Bild, welches im weiteren Verlauf stetig verfeinert wird. Bezeichnend für dieses Verfahren ist zudem, dass der eigentliche Rendervorgang nie zu einem vorgesehenen natürlichen Ende gelangt. Der Rendervorgang wird vom Benutzer dann abgebrochen, wenn das Bild seinen qualitativen Ansprüchen genügt.

Durch die Unterstützung von Funktionen wie Spektrallichtberechnung, ein virtuelles Kameramodell, physikalischer Himmel und vielem mehr ist Indigo in der Lage, deutlich realistischere Renderergebnisse zu erzeugen als herkömmliche GI (Global Illumination) Raytracing-Renderer.

Indigo benötigt keine Parameter wie GI-Durchläufe, AO (Ambient Occlusion)-Durchläufe, AA (Antialiasing)-Durchläufe, weiche Schatten oder kompliziertes Lichtsetup, um extrem realistische Ergebnisse zu erzeugen. Für fortgeschrittene Anwender stehen allerdings Optionen zur Feineinstellung des Renderverhaltens zur Verfügung.

Weiterverarbeitung

Es besteht die Möglichkeit, dass Indigo die beim Rendern entstandenen Rohdaten in eine separate Datei mit der Dateiendung „.igi“ abspeichert, sodass man den Vorgang, wie bereits oben erwähnt, später fortsetzen kann.

Jedoch kann man diese Daten auch dazu verwenden, das Bild mit dem auf der Indigo-Website angebotenen „Violet Tone Mapper“ weiter zu verarbeiten. Hierbei können zum Beispiel realistisch aussehende Blend- und Linseneffekte hinzugefügt oder das Rauschen nachträglich leicht abgeschwächt werden. Auch können die Helligkeitsverteilung und der Weißabgleich verändert werden (siehe Tone Mapping).

In den neueren Versionen ist der Violet Tone Mapper, exklusive Histogramm und Noise Reduction bereits intern vorhanden, was das Tone Mapping vereinfacht. Zudem geben sogenannte „Light Layers“ die Möglichkeit, einzelne Lichtquellen oder Lichtquellengruppen in getrennte Ebenen zu legen und sie während des Rendervorgangs in Farbe und Intensität adjustieren zu können, wobei die Hintergrundbeleuchtung (Sun & Sky, Backgroundlight oder EXR) immer auf Ebene 0 liegt. Allerdings ist zu beachten, dass jede Light Layer den RAM-Verbrauch ziemlich erhöht.

Materialeinstellungen

In Indigo gibt es acht frei einstellbare Materialtypen, die wiederum durch eine Vielzahl von Parametern beeinflusst werden können. {Update benötigt: durch die "ISL" (=Indigo Shader Language) wurden die Materialien und Emitter (= Lichtquellen) generalisiert und können nun fließend verwendet werden. Nur "Exit Portal" ist immer noch ein eigenständiges Material. Die ISL ist allerdings noch am Anfang ihrer Entwicklung und die meisten Exporter haben sie noch nicht in ihr Funktionsrepertoire übernommen.}

Die Typen sind:

Zusätzlich dazu gibt es noch zwei weitere Typen, die jedoch (noch) nicht zu den Materialien gehören:

Außerdem besteht die Möglichkeit, auf eine Reihe von voreingestellten Stoffen als Materialien zurückzugreifen. Diese Materialien sind als „.nk“-Dateien im \nkdata\-Ordner der Indigo-Installation enthalten (Beispiel: Ag.nk für Silber).
Mit ihnen werden alle Eigenschaften des Materials wie Farbe oder Brechung definiert, jedoch nicht die „exponent“-Einstellung, also die Variable, die zwischen mattem oder spiegelndem Material unterscheidet. Diese Variable muss also zusätzlich angegeben werden. Link zur Auflistung aller NK-Materials ↓

Beispiele für NK-Materials: Silber, Gold, Kupfer, Platin, Chrom; jeweils mit niedrigem und hohem Exponent-Wert

Transparente NK-Materialien (zum Beispiel H2O.nk = Wasser oder DIAM.nk = Diamant) können nicht korrekt dargestellt werden. Nur die Reflexionen haben die richtige Farbe. Ein Objekt mit diesen Materialien erscheint schwarz. Zur absolut physikalisch korrekten Darstellung von transparenten Materialien oder zur exakteren Farbdefinition, z. B. von Diffusen Stoffen, kann man das sogenannte „Tabulated Spectrum“ als Alternative zum Standard RGB-input verwenden. Hier werden in Metern, die höchste und tiefste Wellenlänge und die Zahl der Werte dazwischen angegeben. Ausgegangen wird von linear verteilten Messungen. Danach werden Amplitudenspitzen eingetragen. Für alle RGB-Angaben kann man das Tabulated Spectrum verwenden, sodass zum Beispiel auch exaktere Angaben für SSS gemacht werden können.

Exportmodule (Auszug)

Für mehrere 3D-Grafikprogramme gibt es Exportmodule nach Indigo bzw. in das von Indigo verwendete Dateiformat „.igs“:

  • „Blender Exporter Script“ für Indigo 0.6
  • „Blendigo“ für Indigo 0.9 und Indigo 1.0 im Forum
(Beides sind Python-Scripte für den Export von Blender nach Indigo)

(Sortierung nach Downloadanzahl der Exporter)

Die „.igs“-Dateien verwenden die Auszeichnungssprache XML und sind daher prinzipiell auch leicht von Hand zu schreiben oder zu bearbeiten.

Quellen

  1. ↑ www.indigorenderer.com.
  2. ↑ Archivierte Kopie (Memento des Originals vom 26. Oktober 2007 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.