共用方式為


常數布林值快取器 (HLSL VS 參考)

此快取器是靜態流程控制指令中使用的位集合(例如,如果 bool - vs - else - vs - endif - vs則為)。 因此,著色器有16個獨立分支條件。 您可以使用 defb - vsSetVertexShaderConstantB來設定它們。

著色器常數的行為在 Direct3D 8 和 Direct3D 9 之間已變更。

  • 針對 Direct3D 9,使用 defx 設定的常數會將值指派給著色器常數空間。 以 defx 宣告的常數存留期僅限於執行該著色器。 相反地,使用 API SetXXXShaderConstantX 初始化全域空間中的常數。 在呼叫 SetxxxShaderConstants 之前,全域空間中的常數不會複製到本機空間(對著色器可見)。
  • 針對 Direct3D 8,使用 defx 或 API 設定的常數都會將值指派給著色器常數空間。 每次執行著色器時,不論用來設定常數的技術為何,目前著色器都會使用常數。

頂點著色器緩存器