運算式 (Direct3D 9)

運算式是數學或邏輯語句,用於等號右邊。 有許多類型的運算式。

運算式

  1. 變數參考

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

    scalar 
    
  3. 數值運算式

    ( numeric expression )
    

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

  4. 建構函式

    type ( constructor arguments )
    
  5. 初始化運算式清單

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

    純量必須是常值純量值。

    初始化運算式數目必須與等號左邊的變數 (狀態) 相容。

  6. OR 運算式

    token [ | token ... ]
    

    權杖必須與等號左邊的變數 (狀態) 相容。

    權杖不區分大小寫。

  7. NULL

    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 效果狀態。

效果格式