非推奨の機能 (Direct3D 10)
Direct3D 10 で使用できる機能の一覧 はこちらです。 このページには、Direct3D 10 でサポートされなくなった Direct3D 9 機能の一覧が表示されます。
Direct3D 10 の最大の機能変更は次のとおりです。
- Direct3D 10 では、固定関数変換と照明パイプラインがサポートされなくなりました。
- Direct3D 10 では、固定関数テクスチャ ブレンダー (固定関数ピクセル シェーダーと呼ばれることもあります) がサポートされなくなりました。
- Direct3D 10 では、Direct3D 9 で実装されている従来の GDI ルールよりもシンプルでクリーンな新しいラスター化ルールが実装されています。 たとえば、線の最後のピクセル コントロールはサポートされなくなりました。
Direct3D 10 で非推奨となった Direct3D 9 の機能の完全な一覧を次に示します。
アルファ ブレンド。 アルファ ブレンドは、カラー ブレンドとは無関係にプログラミングされるようになりました。 Direct3D 10 では、既定で有効になっているアルファ ブレンド有効化トグルが追加されます。 詳細については、「 State Objects (Direct3D 10)」 を参照してください。
アルファ テスト。 アルファ テストは、Direct3D 9 の固定関数ピクセル動作です。 アルファ テストは、Direct3D 10 以降のプログラミング可能なピクセル シェーダーに移動されます。 Direct3D 10 以降で Direct3D 9 アルファ テスト機能をエミュレートする方法については、 2010 年 6 月の DirectX SDK の FixedFuncEMU サンプルを参照してください。
ブレンド モード のオプション。 BOTHSRCALPHA は BOTHINVSRCALPHA と冗長であるため、D3D10_BLENDから削除されました。 詳細については、「 D3D10_BLEND 」を参照してください。
圧縮形式をブロックします。 Direct3D 10 では、事前乗算アルファと非乗算アルファの区別はありません。 これらの Direct3D 9 形式は、次の Direct3D 10 形式にマップされます。
Direct3D 9 Direct3D 10 DXT1 BC1* DXT2、DXT3 BC2* DXT4,DXT5 BC3* 詳細については、「 ブロック圧縮 (Direct3D 10)」 を参照してください。
クリップ平面。 Direct3D 10 では、クリップ プレーンを使用する代わりに、クリップ距離とカリング距離が実装され、頂点属性の最大 2 要素に最大 8 個のコンポーネントが含まれます。 詳細については、「 セマンティクス (DirectX HLSL)」 を参照してください。 FixedFuncEMU サンプル は、Direct3D 10 でクリップ プレーンをエミュレートする例を提供します。
ディザリング。 Direct3D 10 では、ディザリングされたデータをレンダー ターゲットに書き込む機能はサポートされていません。
の固定関数変換と照明パイプラインは使用できません。 代わりに、シェーダーを使用する必要があります。 詳細については、「 シェーダー ステージ (Direct3D 10)」 を参照してください。
固定関数テクスチャ ブレンダー (固定関数ピクセル シェーダーとも呼ばれます)。 代わりに、シェーダーを使用する必要があります。 詳細については、「 シェーダー ステージ (Direct3D 10)」 を参照してください。
塗りつぶしモード が変更されました。 Direct3D 10 では、ソリッドおよびワイヤフレームフィルモードが実装されています。 D3DFILLMODE ポイントが削除されました。必要に応じて、ジオメトリ シェーダーを使用してポイント モードをエミュレートします。 FixedFuncEMU サンプル は、Direct3D 10 で D3DFILLMODE ポイントをエミュレートする例を提供します。 詳細については、「 D3D10_FILL_MODE および シェーダー ステージ (Direct3D 10)」 を参照してください。
形式。 ハードウェアでは、API によって公開される形式を使用できます。 輝度形式は実装されなくなりました。
Mipmap フィルター処理。 フィルターなしモードを選択するためのオプションを削除しました。 代わりに、ミップマップが 1 つだけのテクスチャを使用するか、MaxLOD サンプラーの状態を 0 に設定します。 詳細については、「 State Objects (Direct3D 10)」 を参照してください。
パレット。 アプリケーションでは、代わりに依存テクスチャ読み取りを使用する必要があります。
ピクセル シェーダー モデルと頂点シェーダー モデル: 1_x、2_x、3_0。 Direct3D 10 ではシェーダー モデル 4 がサポートされています。 詳細については、「 シェーダー モデル 4 」を参照してください。
ポイント スプライト。 代わりにジオメトリ シェーダーを使用します。 詳細については、「 シェーダー ステージ (Direct3D 10)」 を参照してください。
ラスター化ルール。 従来の GDI 行のラスター化ルールは、よりクリーンでシンプルなルールに置き換えられます。 線の最後のピクセル コントロールはサポートされなくなりました。 詳細については、「 ラスター化ルール (Direct3D 10)」 を参照してください。
網掛けモード。 D3DSHADEMODE (フラット/グールー/フォン シェーディングをサポート) が削除されました。 Direct3D 10 では、代わりに頂点シェーダー出力用の 2 つの補間修飾子が実装されています。 Direct3D 10 で Direct3D 9 gouraud モードとフラット シェーディング モードをエミュレートする例については、「 FixedFuncEMU サンプル 」を参照してください。
texldp 命令。 アプリケーションでは、追加の HLSL ステートメントを使用して、投影テクスチャの読み込みを実装する必要があります。 詳細については、「 HLSL のリファレンス」 を参照してください。 FixedFuncEMU サンプル は、Direct3D 10 で texldp をエミュレートする例を提供します。
テクスチャ座標インデックス (TCI) テクスチャ ステージ状態 (D3DTSS_TEXCOORDINDEX) はサポートされなくなりました。
三角形のファン。 アプリケーションでは、既存の三角形ファンを三角形リストまたは三角形ストリップに変換する必要があります。 以前の API で DrawPrimitive を使用していくつかの動作をエミュレートするには、Direct3D 10 で DrawIndexed を使用してみてください。 詳細については、「 プリミティブ トポロジ (Direct3D 10)」 を参照してください。
W バッファリング。 ハードウェアのサポートは保証されません。アプリケーションでは、代わりに高精度の深度バッファーを使用することをお勧めします。 詳細については、「 Depth-Stencil機能の構成 (Direct3D 10)」 を参照してください。
折り返しモード (テクスチャ座標の折り返し)。 テクスチャ アドレスの折り返し (ラップ、ミラー、クランプなど) はまだ存在します。 「D3D10_SAMPLER_DESCとD3D10_TEXTURE_ADDRESS_MODE」を参照してください。
関連トピック