次の方法で共有


ps_3_0

プログラマブル ピクセル シェーダーは、ピクセル データを処理する一連の命令から成ります。レジスタは、ALU との間でデータをやり取りします。追加の制御を適用し、命令、結果、または書き出されるデータを変更することができます。

新機能

面レジスタが追加されました。位置座標レジスタが追加されました。カラー レジスタ (v#) は、完全な浮動小数点数となり、テクスチャー座標レジスタ (t#) と統合されました。入力宣言では使用方法の名前を指定でき、指定した 1 つのレジスタに対して成分の使用方法を複数指定することができます。

動的フロー制御

デバイスは動的フロー制御 (if bool - psbreak - ps、および break_comp - ps) をサポートします。ネストの深さは 0 ~ 24 の範囲です。

テンポラリ レジスタの数

サポートされているテンポラリ レジスタの数は 32 個です。

静的フロー制御のネストの深さ

call - ps/callnz /call_pred は、最大で 4 レベルの深さまでネストできます。またこれとは別に、loop - ps/rep - ps 命令も最大で 4 レベルの深さまでネストできます。

任意の入れ換え

任意の入れ換えがサポートされます。「ソース レジスタのスィズル」を参照してください。

グラデーション命令

グラデーション命令がサポートされます。「dsx - ps」、「dsy - ps」、および「texldd - ps」を参照してください。

プレディケーション

命令のプレディケーションがサポートされます。「プレディケーション レジスタ」を参照してください。

従属読み込みの制限

従属読み込みの制限はありません。

テクスチャー命令の制限

テクスチャー命令の制限はありません。

命令カウント

各ピクセル シェーダーに対して、512 から MaxPixelShader30InstructionSlots に指定されているスロット数 (上限は 32,768) まで許可されています。ループがサポートされるため、実行される命令の数はこれよりも格段に多くなる可能性があります。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
深度テストおよびアルファ テストの完全な比較 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。プレディケーション、任意のスィズル、およびグラデーション命令のサポートされます。従属読み込みの制限、テクスチャーと算術命令の混合の制限はありません。
すべてのステンシル処理のサポート。これには、2面ステンシルも含まれます。 D3DSTENCILOP」を参照してください。
デバイスでの頂点ごとのポイント サイズのサポート D3DCAPS9 の D3DFVFCAPS_PSIZE
サイズが 2 の累乗ではないテクスチャーのサポート 完全サポートまたは条件付きでの 2 の累乗以外のサポート。デバイスには D3DPTEXTURECAPS_SQUAREONLY のような正方形のテキストに限定する制限を課さないでください。
デバイスで複数のレンダー ターゲットがサポートされる場合にサポートされる機能 D3DPMISCCAPS_INDEPENDENTWRITEMASKS、D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING
vs_3_0 がサポートされる場合 D3DCAPS9 の MaxUserClipPlanes は 6 です。