Freigeben über


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

  1. Variabler Verweis

    ( variable ) or<variable >
    
  2. Numerische Skalar

    scalar 
    
  3. Numerischer Ausdruck

    ( numeric expression )
    

    Alle standardmäßigen numerischen HLL-Ausdrücke werden hier unterstützt.

  4. Konstruktor

    type ( constructor arguments )
    
  5. Liste der Initialisierer

    { scalar value [, scalar value ...  ] }
    
    

    Die Skalar müssen literale Skalarwerte sein.

    Die Anzahl der Initialisierer muss mit der Variablen (Zustand) auf der linken Seite des Gleichheitszeichens kompatibel sein.

  6. OR-Ausdruck

    token [ | token ... ]
    

    Die Token müssen mit der Variablen (Zustand) auf der linken Seite des Gleichheitszeichens kompatibel sein.

    Bei den Token wird die Groß-/Kleinschreibung nicht beachtet.

  7. NULL

    NULL
    

    NULL kann nur einem Shader, Sampler oder einem Texturobjekt zugewiesen werden.

  8. Assemblyblock

    asm { code }
    

    PS-Assemblyblöcke müssen dem PIXELSHADER-Zustand zugewiesen werden.

    VS-Assemblyblöcke müssen dem VERTEXSHADER-Zustand zugewiesen werden.

  9. Samplerstatusblock

    sampler_state { [ state = expression ; [ state = ... ] ] }
    

    Samplerstatusblöcke sind Sequenzen von nicht indizierten Samplerstufenstatus oder Texturzuweisungen.

    Samplerstatusblöcke müssen dem SAMPLER-Effektzustand zugewiesen werden.

  10. Effektstatusstatusblock

    stateblock_state { [ state [ [index] ] = expression; 
        [ state [ [index] ] = ... ] ] }
    

    Statusblöcke sind Sequenzen des allgemeinen Zustands. Statusblöcke können geschachtelt werden, jedoch keine Zirkelbezüge enthalten.

    Statusblöcke müssen dem ZUSTANDSBLOCK-Effektstatus zugewiesen werden.

  11. HLSL-Kompilierung

    compile target entrypoint ( [ arguments ] )
    

    Der Vertex-Shader vs_m_n Ziel gibt D3DVS_VERSION(m, n) Vertex-Shaderversion an. Der Pixelshader ps_m_n Ziel gibt D3DPS_VERSION(m, n)-Pixelshaderversion an.

    Vertexshader-Kompilierungsausdrücke auf hoher Ebene können nur dem VERTEXSHADER-Effektstatus zugewiesen werden. Die Kompilierungsausdrücke des Pixelshaders auf hoher Ebene können nur dem PIXELSHADER-Effektzustand zugewiesen werden.

Effektformat