Platform SDK: DirectX |
Direct3D が現在サポートしている Direct3D デバイスには、HAL デバイス、トランスフォーム & ライティングのアクセラレーションをサポートした TnLHAL デバイス、ソフトウェアエミュレーション RGB デバイス、およびリファレンス ラスタライザの 4 種類がある。最初の 2 種類のデバイスはアプリケーションを出荷するために使用でき、リファレンス ラスタライザは機能テスト用にサポートされている。
注 : 旧リリースの DirectX で公開されていた追加デバイスの MMX およびランプ デバイスは現在使用されていない。これらのデバイスは、旧バージョンの Direct3D を対象とする C++ アプリケーションでは現在も使用できるが、最新のインターフェイスではサポートされていない。詳細については、「従来のデバイスの種類」を参照すること。
アプリケーションが作成する Direct3D デバイスは、アプリケーションが動作するハードウェアの機能に対応していなければならない。Direct3D では、コンピュータにインストールされている 3D ハードウェアにアクセスするか、ソフトウェアで 3D ハードウェア機能をエミュレートするかのいずれかの方法で、レンダリング機能を利用する。したがって、Direct3D は、ハードウェア アクセス用およびソフトウェア エミュレーション用の両方のデバイスを備えている。
ハードウェア アクセラレーション デバイスは、ソフトウェア エミュレーション デバイスよりも高いパフォーマンスを実現する。ほとんどの場合、アプリケーションが対象とするのは、何らかのハードウェア アクセラレーションを備えたコンピュータであり、ローエンド コンピュータに対してはソフトウェア エミュレーション機能を使用する。
リファレンス ラスタライザを除き、ソフトウェア デバイスは、常にハードウェア デバイスと同じ機能をサポートしているわけではない。たとえば、ソフトウェア デバイスは、テクスチャを一度に複数のテクスチャ ステージに割り当てる機能をサポートしていない。アプリケーションは、デバイス機能を調べて、サポートされている機能を確認する必要がある。
[C++,Visual Basic]