共用方式為


ps_3_0

可程式化的圖元著色器是由一組在像素數據上運作的指示所組成。 註冊傳入和移出 ALU 的數據。 您可以套用其他控制項來修改指令、結果,或寫出哪些數據。

新功能

新增臉部快取器。 新增位置快取器。 色彩快取器 (v#) 現在已完全浮點,且紋理座標緩存器 (t#) 已合併。 輸入宣告會採用使用方式名稱,並允許指定緩存器元件的多個使用方式。

動態流程控制

裝置支援動態流程控制(如果 bool - psbreak - psbreak_comp - ps)。 巢狀深度範圍從 0 到 24。

暫存緩存器數目

支援的暫存緩存器數目為 32。

靜態流程控制巢狀深度

呼叫 - ps/callnz /call_pred 可以巢狀到最大深度 4。 獨立 迴圈 - ps/rep - ps 指令可以巢狀到最大深度 4。

任意 Swizzle

支援任意旋轉。 請參閱 來源快取器

漸層指示

支援漸層指示。 請參閱 dsx - psdsy - pstexldd - ps

預測

支援指示述詞。 請參閱 述詞快取器

相依讀取限制

沒有相依的讀取限制。

紋理指令限制

紋理指令沒有限制。

指令計數

每個像素著色器允許從 512 到 MaxPixelShader30InstructionSlots 中的位置數目(不超過 32768)。 由於迴圈支援,執行的指令數目可能會更高。 MaxPShaderInstructionsExecuted 至少應為 2^16。

取樣器計數

可用的紋理取樣器數目為16。

裝置上限

如果支援ps_3_0,硬體中支援下列上限(至少):

價值
MaxTextureWidth、MaxTextureHeight 每個 4K 個
MaxTextureRepeat 8K
MaxAnisotropy 16
PixelShaderVersion 3_0
MaxPixelShader30InstructionSlots 512
已設定下列基本上限: D3DPMISCCAPS_BLENDOP、D3DPMISCCAPS_CLIPPLANESCALEDPOINTS、D3DPMISCCAPS_CLIPTLVERTS、D3DPMISCCAPS_CULLCCW、D3DPMISCCAPS_CULLCW、D3DPMISCCAPS_CULLNONE、D3DPMISCCAPS_FOGINFVF、D3DPMISCCAPS_MASKZ
已設定下列點陣上限: D3DCAPS9中的D3DPRASTERCAPS_MIPMAPLODBIAS、D3DPRASTERCAPS_ANISOTROPY、D3DPRASTERCAPS_COLORPERSPECTIVE D3DPRASTERCAPS_SCISSORTEST
深度偏差的完整支援,包括: D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS,D3DPRASTERCAPS_DEPTHBIAS
深度和 Alpha 測試的完整比較集,包括: D3DCAPS9 中的所有D3DPCMPCAPS。
來源混合模式 所有混合模式都支持作為來源(D3DPBLENDCAPS_SRCALPHASAT、D3DPBLENDCAPS_BOTHSRCALPHA和D3DPBLENDCAPS_BOTHINVSRCALPHA除外)。
支援下列紋理上限: D3DPTEXTURECAPS_CUBEMAP、D3DPTEXTURECAPS_MIPCUBEMAP、D3DPTEXTURECAPS_MIPMAP、D3DPTEXTURECAPS_MIPVOLUMEMAP、D3DPTEXTURECAPS_PERSPECTIVE、D3DPTEXTURECAPS_PROJECTED、D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE、D3DPTEXTURECAPS_VOLUMEMAP
紋理篩選上限、磁碟區紋理篩選上限和立方體紋理篩選上限支援下列專案: D3DPTFILTERCAPS_MINFPOINT、D3DPTFILTERCAPS_MINFLINEAR、D3DPTFILTERCAPS_MINFANISOTROPIC (VolumeTextureFilterCaps 和 CubeTextureFilterCaps 不需要此專案),D3DPTFILTERCAPS_MIPFPOINT、D3DPTFILTERCAPS_MIPFLINEAR、D3DPTFILTERCAPS_MAGFPOINT、D3DPTFILTERCAPS_MAGFLINEAR
頂點和像素階段支援下列紋理位址模式: D3DPTADDRESSCAPS_WRAP、D3DPTADDRESSCAPS_MIRROR、D3DPTADDRESSCAPS_CLAMP、D3DPTADDRESSCAPS_BORDER、D3DPTADDRESSCAPS_INDEPENDENTUV、D3DPTADDRESSCAPS_MIRRORONCE
支援所有像素著色器上限。 DynamicFlowControlDepth = 24, NumTemps = 32, StaticFlowControlDepth = 4, NumInstructionSlots = 512。 支援下列功能:述詞、任意旋轉和漸層指示。 沒有相依讀取限制,而且紋理和數學指令的混合沒有限制。
支援所有樣板作業。 這包括兩個側邊樣板。 請參閱 D3DSTENCILOP
每個頂點的裝置支援點大小 D3DCAPS9中的D3DFVFCAPS_PSIZE
2 個紋理支援的非電源。 完整支援或條件式非 pow-2 支援;device 不應該有方形紋理的限制,就像在D3DPTEXTURECAPS_SQUAREONLY中一樣。
如果裝置支援多個轉譯目標,則支援下列上限: D3DPMISCCAPS_INDEPENDENTWRITEMASKS,D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING
如果支援vs_3_0 D3DCAPS9中的 MaxUserClipPlanes 為 6

 

像素著色器