Es gibt zwei grundlegende Arbeitsabläufe für die Arbeit mit OSL in 3ds Max: einen zur Nutzung einer vordefinierten Map aus der OSL-Kategorie und einen zur Verwendung der OSL-Map selbst.
Bei der OSL-Map handelt es sich um eine leere Map mit Bearbeitungsfunktionen. Wie bei anderen Maps auch müssen Sie sie einfach im erweiterten Material-Editor ablegen. Bei der Einstellung der Parameter bieten diese Maps jedoch einige interessante Möglichkeiten.
Sie können die Schaltfläche ... auswählen, um OSL-Shader, von Datenträgern außerhalb der Plug-In-Ordnerhierarchie zu laden. Die OSL-Map nimmt automatisch die neuen Parameter an, generiert je nach Bedarf neue Ein- und Ausgaben und startet den Rendervorgang auf Grundlage der geladenen OSL-Datei.
In diesem Arbeitsablauf wurde der OSL-Code direkt in die OSL.Map geladen. Die Map verwendet die Datei nur beim Laden. Danach existiert der Code als String-Parameter direkt in der OSL-Map.
Klicken Sie auf Bearbeiten, um den OSL-Quelleditor zu öffnen. Das ist ein einfacher, fixierbarer Texteditor mit Syntaxfärbung, in dem der OSL-Code live bearbeitet werden kann. Wählen Sie Shader kompilieren, oder drücken Sie F7, um den Shader mit dem bearbeiteten Code zu aktualisieren, sogar während des Renderns in ActiveShade.
Dadurch wird aus der OSL-Map eine vollständige Shader-Entwicklungsumgebung. Der Programmcode ermöglicht Ihnen die interaktive Arbeit, da mehrere Editoren gleichzeitig geöffnet sein können.
Bearbeitete Dateien können über OSL-Datei speichern oder mit der Tastenkombination STRG+S gespeichert werden. Da sich der Code innerhalb der OSL-Map befindet, können sie auch in Szenen gespeichert oder in Materialbibliotheken abgelegt werden. Es gibt keine externen Abhängigkeiten von anderen Dateien; die ist Map vollkommen eigenständig. Schluss mit fehlenden Shadern in Szenen, die zum Rendern an externe Renderfarmen geschickt werden – alle Shader sind direkt in der Szene enthalten.
Wenn Sie die Datei in einem der Plug-Ins- bzw. OSL-Ordner speichern, wird der Shader automatisch in die Material-/Map-Übersicht aufgenommen.
Die OSL-Maps zur Ausführung der Shader, die in der Map-Übersicht im Vorhinein geladen sind, und die OSL-Map im Abschnitt Allgemein sind ein und dasselbe. Wenn Sie etwas aus dem OSL-Abschnitt ziehen, unterscheidet sich dies nur in einem Aspekt: die OSL-Map befindet sich vorgabemäßig im verknüpften Modus und deren Datei wird im Voraus in die entsprechende OSL-Datei geladen.
Die Kettensymbole stehen für den verknüpften Modus.
Wenn dieser Modus aktiviert ist, werden die Shader vom Datenträger eingelesen, und zwar aus der auf der Schaltfläche Datei angegebenen Datei.
Wenn er deaktiviert ist, ist der Shader-Code in die OSL-Map eingebettet.
Der größte Vorteil ist, dass Sie zwischen den Modi umschalten können.
Wenn Sie einen Aspekt eines im Vorhinein geladenen Shaders ändern möchten, ist das ohne Weiteres möglich. Trennen Sie einfach die Verknüpfung und ändern Sie, was Sie möchten. Sie bearbeiten immer nur eine Kopie in Ihrer Szene, niemals die Originaldatei auf dem Datenträger. Alle anderen Shader, die sich im verknüpften Zustand befinden, behalten ihr Plug-In-ähnliches Verhalten bei. Die Shader mit getrennter Verknüpfung können lokal in dieser OSL-Map bearbeitet werden.
Wenn Sie eine bearbeitete Map erneut verknüpfen, wird sie wieder in die vorherige Version der Datei zurückkonvertiert und Ihre Änderungen werden verworfen.
So können Sie ganz einfach einmalige Änderungen vornehmen oder verschiedene Einstellungen ausprobieren. Wenn eine Änderung nicht das gewünschte Ergebnis liefert, verknüpfen Sie die Map einfach neu und verwerfen Sie die Änderung.