共用方式為


運算式 (Direct3D 9)

表達式是數學或邏輯語句,用於等號右側。 有許多類型的表達式。

表達式

  1. 變數參考

    ( variable ) or<variable >
    
  2. 數值純量

    scalar 
    
  3. 數值表達式

    ( numeric expression )
    

    這裡支援所有標準數值 HLL 運算式。

  4. 構造 函數

    type ( constructor arguments )
    
  5. 初始化表達式清單

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

    純量必須是常值純量值。

    初始化表達式的數目必須與等號左邊的變數 (state) 相容。

  6. OR 運算式

    token [ | token ... ]
    

    令牌必須與等號左邊的變數 (state) 相容。

    令牌不區分大小寫。

  7. NULL
    

    NULL 只能指派給著色器、取樣器或紋理物件。

  8. 元件區塊

    asm { code }
    

    PS 元件區塊必須指派給 PIXELHADER 狀態。

    VS 元件區塊必須指派給 VERTEXSHADER 狀態。

  9. 取樣器狀態區塊

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

    取樣器狀態區塊是未編製索引取樣器階段狀態或紋理指派的序列。

    取樣器狀態區塊必須指派給 SAMPLER 效果狀態。

  10. 效果狀態狀態區塊

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

    狀態區塊是一般狀態的序列。 狀態區塊可以是巢狀的,但不能包含循環參考。

    狀態區塊必須指派給STATEBLOCK效果狀態。

  11. HLSL 編譯

    compile target entrypoint ( [ arguments ] )
    

    頂點著色器vs_m_n目標表示D3DVS_VERSION(m, n) 頂點著色器版本。 圖元著色器ps_m_n目標表示D3DPS_VERSION(m, n) 像素著色器版本。

    頂點著色器高階語言編譯表達式只能指派給 VERTEXSHADER 效果狀態。 圖元著色器高階語言編譯表達式只能指派給 PIXELHADER 效果狀態。

效果格式