Mit dem DirectX-Shadermaterial können Sie Objekte in Ansichtsfenstern mit DirectX (Direct3D)-Shadern anzeigen.
Mit dem DirectX-Shader entspricht die Darstellung von Materialien in einem Ansichtsfenster eher ihrer Darstellung in einer anderen Anwendung oder mit anderer Hardware, wie etwa einer Spiel-Engine. Sie können dieses Material verwenden, wenn Sie einen Nitrous-Treiber (Vorgabe Nitrous Direct3D 11) oder ältere Direct3D-Treiber verwenden.
Das DirectX-Shadermaterial unterstützt die folgenden Shader-Typen:
Mit einer FX-Datei wird ein DirectX-Shader (DX9 oder DX11) definiert. Es handelt sich hierbei um eine Textdatei, die im HLSL-Format (Higher-Level Shading Language) erstellt wird.
Vorgabemäßig werden DirectX-Shader einschließlich der FX-Dateien im Ordner \maps\fx\ des 3ds Max-Programmverzeichnisses gespeichert.
Mit dem DirectX-Shader-Material haben Sie Zugriff auf ShaderFX, der Ihnen ermöglicht, Hardware-Shader-Strukturen zu erstellen und sie als HLSL-, CGFX- oder GLSL-Datein zu speichern. Sie können HLSL-Dateien mit einer FX-Datei-Namenserweiterung speichern, wodurch sie für das DirectX-Shader-Material verfügbar sind.
Der Quicksilver-Hardware-Renderer kann DirectX-Materialien rendern, die FX-Dateien oder ShaderFX-Strukturen verwenden.
Eine XMSL-Datei speichert einen oder mehrere Shader-Strukturen im XMLS-Format. Sie können MetaSL-Shader im Erweiterten Material-Editor verwenden. Mit dem Knoten Map-zu-Material-Konvertierung können Sie einen MetaSL-Shader-Baum auch als XMSL-Datei speichern. (Nachdem Sie die XMSL-Datei gespeichert haben, können Sie sie in 3ds Max nicht mehr bearbeiten.)
Zum Entwickeln von MetaSL-Shadern verwenden Sie die Anwendung mental mill®. Damit ein MetaSL-Shader mit mental ray zusammenarbeiten kann, müssen Sie die Datei in mental mill als ein Phänomen speichern. Phänomene werden im mental mill Artist Edition User Guide beschrieben.
Der mental ray-Renderer kann DirectX-Materialien rendern, die XSML-Dateien verwenden.
In der Regel ist in FX-Shadern eine bestimmte Anzahl von Lichtquellen über die Codierung festgelegt: normalerweise nur eine einzige Lichtquelle. Wenn es sich bei der geöffneten FX-Datei um eine so codierte Datei handelt, wird auf den Shader-spezifischen Rollouts ein Steuerelement angezeigt, über das Sie die gewünschte Lichtquelle auswählen können. Beispiel:
XMSL Shader sind auf der anderen Seite nicht für die Verwendung spezifischer Lichtquellen codiert, d. h., sie verwenden alle aktiven Lichtquellen in der Szene.
Wenn Sie ein Map einer Komponente eines DirectX-Shaders zuweisen, die Maps verarbeiten kann, haben Sie die Auswahl aus folgenden Map-Typen:
Zeigt alle Dateitypen an, die im übrigen Teil dieser Liste aufgeführt werden.
Wenn Sie eine Photoshop PSD-Datei öffnen, die Layer enthält, wird in 3ds Max ein Dialogfeld angezeigt, in dem Sie wahlweise die Layer ausblenden und das zusammengesetzte Bild anzeigen oder nur einen einzelnen Layer verwenden können.
Klicken Sie hierauf, um das Dialogfeld "Datei" anzuzeigen, in dem Sie einen Shader öffnen können. Vorgabegemäß ist das FX-Format (Direct3D-Effekte) aktiv, und der Shader ist standardfx11.fx.
Um eine XMSL-Datei zu öffnen, wählen Sie im Dialogfeld "Datei" in der Dropdown-Liste "Dateityp" diesen Dateityp aus.
Klicken Sie auf diese Option, um die aktive Shader-Datei neu zu laden. Zur Aktualisierung einer Shader-Datei können Sie sie bearbeiten und anschließend auf "Neu laden" klicken. Sie müssen 3ds Max nicht neu starten, um die Auswirkungen der Änderungen auf den Shader zu sehen.
Während die Option ShaderFX aktiv ist, überschreibt die ShaderFX-Knotenstruktur den aktuellen FX- oder XMSL-Shader.
Eine kurze Einführung für den ShaderFX-Editor finden Sie unter ShaderFX-Beispielarbeitsablauf zur Einführung. Siehe auch ShaderFX-Knoten, Arbeiten mit ShaderFX-Knoten und Arbeiten mit ShaderFX-Gruppen.
Die Rollouts, die unter dem Rollout "DirectX-Shader" und über dem Rollout "Technik" angezeigt werden, sind die Schnittstelle zum gewählten Shader. Diese Rollouts sind speziell auf die einzelnen Shader zugeschnitten.
Wenn Sie beispielsweise eine XMSL-Datei auswählen, wird für jeden MetaSL-Shader im Shader-Baum ein Rollout angezeigt. Sie können die Shader-Einstellungen für die aktuelle Szene lokal anpassen, während die XMSL-Datei unverändert bleibt.
Beispiel für lokal bearbeitbare MetaSL-Shader-Rollouts für ein DirectX-Material über eine XMSL-Datei
Wenn Sie eine Shader-Datei laden, die sich nicht für 3ds Max eignet, wird anstelle des Rollouts mit Parametern u. U. eine Fehlermeldung angezeigt. Beispiel:
Eine XMSL-Datei kann mehr als einen Shader enthalten. Wenn Sie eine solche Datei öffnen, können Sie im Rollout "Technik" in einer Dropdown-Liste auszuwählen, welchen Shader das Material verwenden soll.
Gibt ein Material an, das die Software-Schattierung und das Software-Rendern von Objekten steuert, auf die das Material "DirectX-Shader" angewendet wurde. In Nitrous- und älteren Direct3D-Ansichtsfenstern wird der DX-Shader verwendet. In OpenGL-Ansichtsfenstern nicht. Bei allen Renderings außer dem Quicksilver-Hardware-Renderer wird der Software-Shader verwendet.
Normalerweise wählen Sie ein Material aus, das die Objekte in Ihrer Szene, auf die das DirectX-Shadermaterial angewendet wurde, eindeutig identifiziert.
Wenn DirectX auf Ihrem System nicht installiert ist, Sie jedoch das DirectX-Shadermaterial trotzdem zuweisen (mithilfe der Option "Nicht kompatibel" der Material-/Map-Übersicht), werden keine Rollouts außer diesem im Material-Editor angezeigt.