HLSL PS 參考 (常數布林值暫存器)
此暫存器是靜態流程式控制制 (指令中使用的位集合,例如,如果 bool - pselse - psendif - ps - - ) 。 因此,著色器可以有 16 個獨立分支條件。 您可以使用 defb - ps 或 SetPixelShaderConstantB 來設定它們。
著色器常數的行為在 Direct3D 8 與 Direct3D 9 之間已變更。
- 針對 Direct3D 9,使用 defx 設定的常數會將值指派給著色器常數空間。 以 defx 宣告的常數存留期僅限於該著色器的執行。 相反地,常數是使用 API SetXXXShaderConstantX 初始化全域空間中的常數。 在呼叫 SetxxxShaderConstants 之前,全域空間中的常數不會複製到著色器) 可見的本機空間 (。
- 針對 Direct3D 8,使用 defx 或 API 設定的常數會將值指派給著色器常數空間。 每次執行著色器時,目前著色器都會使用常數,而不論用來設定常數的技術為何。
圖元著色器版本 | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
常數布林值暫存器 | x | x | x |
相關主題