ps_3_0
プログラム可能なピクセル シェーダーは、ピクセル データに対して動作する命令のセットで構成されます。 ALU との間でデータの転送を登録します。 追加の制御を適用して、命令、結果、または書き込まれるデータを変更できます。
- ps_3_0 手順 には、使用可能な手順の一覧が含まれています。
- ps_3_0 レジスタ には、ピクセル シェーダー ALU で使用されるさまざまな種類のレジスタが一覧表示されます。
- 修飾子 命令の動作方法を変更するために使用されます。
- 宛先レジスタ書き込みマスク 、書き込まれる宛先レジスタのコンポーネントを決定します。
- ピクセル シェーダー ソース レジスタ修飾子 、命令を実行する前にソース レジスタ データを変更。
- ソース レジスタ スウィズリング 、読み取り、コピー、または書き込みされるレジスタ コンポーネントを追加で制御できます。
新機能
顔登録を追加します。 位置レジスタを追加します。 カラー レジスタ (v#) が完全に浮動小数点になり、テクスチャ座標レジスタ (t#) が統合されました。 入力宣言は使用法名を受け取り、特定のレジスタのコンポーネントに対して複数の使用法が許可されます。
動的フロー制御
このデバイスは、動的フロー制御 (bool - ps、break - ps、および break_comp - psの場合に) をサポートします。 入れ子の深さは 0 から 24 の範囲です。
一時レジスタの数
サポートされている一時レジスタの数は 32 です。
静的フロー 制御の入れ子の深さ
呼び出し - ps/callnz /call_pred は、最大深度 4 に入れ子にすることができます。 独立して、ループ - ps/rep - ps 命令は、最大深度 4 に入れ子にすることができます。
任意のスウィズル
任意のスウィズルがサポートされています。 ソース レジスタスウィズリング 参照してください。
グラデーションの指示
グラデーション命令がサポートされています。 dsx - ps、dsy - ps、および texldd - 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 |
深度テストとアルファ テストの比較の完全なセットを次に示します。 | 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 サポート。デバイスは、D3DPTEXTURECAPS_SQUAREONLYのように正方形のテクスチャのみの制限を持つべきではありません。 |
デバイスが複数のレンダー ターゲットをサポートしている場合は、次の大文字がサポートされます。 | D3DPMISCCAPS_INDEPENDENTWRITEMASKS、D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
vs_3_0がサポートされている場合 | D3DCAPS9の MaxUserClipPlanes は 6 です |
関連トピック