#include <section>
Statement zum Einfügen gängiger Shader-Codes aus der externen Datei template6\code\default.fx,
die in verschiedene Abschnitte unterteilt ist. Auf diese Art werden
Funktions - oder Variablenangaben, die von allen Shadern geteilt werden,
in einer externen Datei plaziert. Die Datei default.fx enthält häufig
verwendete Shadervariablen und -Funktionen für Beleuchtung, Nebel und Transformationen.
Typ:
statement
Bemerkungen:
Zum Definieren eines neuen Abschnitts in der Datei default.fx fügen
Sie einen Kommentar-Tag wie etwa "//section: sectionname" ein. Das
Statement "#include <sectionname>" wird diesen Abschnitt
dann bis zum nächsten Abschnitt in den Shader-Code einfügen. Derzeit stehen
die folgenden Include-Abschnitte zur Verfügung:
- <transform> - enthält die Funktion DoTransform zum
Transformieren und zur Projektion der Vertex-Koordinaten.
- <sun> - enthält die Funktion DoSun zum Hinzufügen
von Sonnenlicht.
- <light> - enthält die Funktion DoLight zum
Hinzufügen von dynamischem Licht.
- <fog> - enthält die Funktion DoFog zum Hinzufügen
von Nebel.
- <pos> - enthält die FunktionDoPos zum Transformieren
der Vertex-Position in Weltkoordinaten.
- <normal> - enthält die Funktion DoNormal zum
Transformieren der Ausrichtung der Vertex-Normalen in Weltkoordinaten.
- <view> - enthält
die Funktion DoView zum Transformieren einer Vertex-Position
in View-Raum.
- <tangent> - enthält CreateTangents zum
Erstellen einer Tangenten-Matrix und DoTangent zum Konvertieren
eines Vektors in Tangenten-Raum.
- <reflect> -enthält die
Funktion DoReflect zum Berechnen eines Reflexionsvektors
aus einer Normalen und einer Lichtrichtung.
Beispiele für Shader mit eingefügten Sektionen finden sich in der Datei code\mtlFX.c.
Auch wenn der allgemeine Code das Shader-Programmieren vereinfacht, ist
ein
Verstehen von Shader-Code immer noch erforderlich.
Beispiel:
#include <transform>
#include <fog>
...
out.Pos = DoTransform(in.Pos);
out.Fog = DoFog(in.Pos);
Siehe auch:
MATERIAL, shaders, effect
parameters
► Aktuelle Version Online