Ausdrücke (Direct3D 9)
Ausdrücke sind mathematische oder logische Anweisungen, die auf der rechten Seite eines Gleichheitszeichens verwendet werden. Es gibt viele Arten von Ausdrücken.
Ausdrücke
Variablenverweis
( variable ) or<variable >
Numerischer Skalar
scalar
Numerischer Ausdruck
( numeric expression )
Hier werden alle standardmäßigen numerischen HLL-Ausdrücke unterstützt.
Konstruktor
type ( constructor arguments )
Liste der Initialisierer
{ scalar value [, scalar value ... ] }
Die Skalar müssen literale Skalarwerte sein.
Die Anzahl der Initialisierer muss mit der Variablen (Status) auf der linken Seite des Gleichheitszeichens kompatibel sein.
OR-Ausdruck
token [ | token ... ]
Die Token müssen mit der Variablen (Status) auf der linken Seite des Gleichheitszeichens kompatibel sein.
Bei den Token wird die Groß-/Kleinschreibung nicht beachtet.
NULL
NULL
NULL kann nur einem Shader, Sampler oder Texturobjekt zugewiesen werden.
Assemblyblock
asm { code }
PS-Assemblyblöcke müssen dem PIXELSHADER-Zustand zugewiesen werden.
VS-Assemblyblöcke müssen dem VERTEXSHADER-Zustand zugewiesen werden.
Sampler-Statusblock
sampler_state { [ state = expression ; [ state = ... ] ] }
Samplerzustandsblöcke sind Sequenzen von nicht indizierten Sampler-Phasenzuständen oder Texturzuweisungen.
Samplerzustandsblöcke müssen dem SAMPLER-Effektzustand zugewiesen werden.
Block des Effektzustands
stateblock_state { [ state [ [index] ] = expression; [ state [ [index] ] = ... ] ] }
Zustandsblöcke sind Sequenzen des allgemeinen Zustands. Zustandsblöcke können geschachtelt werden, aber keine Zirkelverweise enthalten.
Zustandsblöcke müssen dem STATEBLOCK-Effektzustand zugewiesen werden.
HLSL-Kompilieren
compile target entrypoint ( [ arguments ] )
Der Vertexshader vs_m_n Ziel gibt D3DVS_VERSION(m, n)-Vertexshaderversion an. Der Pixelshader ps_m_n Ziel gibt D3DPS_VERSION(m, n)-Pixelshaderversion an.
Allgemeine Kompilierungsausdrücke des Vertexshader-Shaders können nur dem VERTEXSHADER-Effektzustand zugewiesen werden. Allgemeine Sprachkompilierungsausdrücke des Pixelshaders können nur dem PIXELSHADER-Effektzustand zugewiesen werden.
Zugehörige Themen