運算式 (Direct3D 9)
表達式是數學或邏輯語句,用於等號右側。 有許多類型的表達式。
表達式
變數參考
( variable ) or<variable >
數值純量
scalar
數值表達式
( numeric expression )
這裡支援所有標準數值 HLL 運算式。
構造 函數
type ( constructor arguments )
初始化表達式清單
{ scalar value [, scalar value ... ] }
純量必須是常值純量值。
初始化表達式的數目必須與等號左邊的變數 (state) 相容。
OR 運算式
token [ | token ... ]
令牌必須與等號左邊的變數 (state) 相容。
令牌不區分大小寫。
零
NULL
NULL 只能指派給著色器、取樣器或紋理物件。
元件區塊
asm { code }
PS 元件區塊必須指派給 PIXELHADER 狀態。
VS 元件區塊必須指派給 VERTEXSHADER 狀態。
取樣器狀態區塊
sampler_state { [ state = expression ; [ state = ... ] ] }
取樣器狀態區塊是未編製索引取樣器階段狀態或紋理指派的序列。
取樣器狀態區塊必須指派給 SAMPLER 效果狀態。
效果狀態狀態區塊
stateblock_state { [ state [ [index] ] = expression; [ state [ [index] ] = ... ] ] }
狀態區塊是一般狀態的序列。 狀態區塊可以是巢狀的,但不能包含循環參考。
狀態區塊必須指派給STATEBLOCK效果狀態。
HLSL 編譯
compile target entrypoint ( [ arguments ] )
頂點著色器vs_m_n目標表示D3DVS_VERSION(m, n) 頂點著色器版本。 圖元著色器ps_m_n目標表示D3DPS_VERSION(m, n) 像素著色器版本。
頂點著色器高階語言編譯表達式只能指派給 VERTEXSHADER 效果狀態。 圖元著色器高階語言編譯表達式只能指派給 PIXELHADER 效果狀態。
相關主題