IDirect3D9::RegisterSoftwareDevice
プラグ可能なソフトウェア デバイスを登録します。ソフトウェア デバイスは、ソフトウェアによるラスター化を提供し、アプリケーションでさまざまなソフトウェア ラスタライザーにアクセスできるようにします。
HRESULT
RegisterSoftwareDevice(
void * pInitializeFunction
);
パラメータ
- pInitializeFunction
登録されるソフトウェア デバイスの初期化関数へのポインターです。
戻り値
メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALLメソッドの呼び出しが無効です。たとえば、メソッドのパラメーターに次の無効な値が設定されている場合。D3DERR_OUTOFVIDEOMEMORY。
解説
操作用の特殊なハードウェア アクセラレーションがユーザーのコンピューターに用意されていない場合、ソフトウェアで 3D ハードウェアがエミュレートされる場合があります。ソフトウェア ラスター化デバイスは、ソフトウェアでカラー 3D ハードウェアの機能をエミュレートします。ソフトウェア デバイスは hal よりも低速で動作します。ただし、ソフトウェア デバイスは、 CPU でサポートされる特殊な命令の利点を使用してパフォーマンスを向上させます。これには、一部の AMD プロセッサの AMD 3DNow! 命令セットや 多くの Intel プロセッサでサポートされる MMX 命令セットなどの命令セットがあります。Direct3D は、3D-Now! 命令セットを使用してトランスフォームおよびライティング処理を加速化し、MMX 命令セットを使用してラスター化します。
ソフトウェア デバイスは、ハードウェア デバイス ドライバー インターフェイス (DDI) と同様のインターフェイスを使用して Direct3D と通信します。
ソフトウェア デバイスはアプリケーションにより読み込まれ、IDirect3D9 オブジェクトに登録されます。Direct3D は、レンダリングにソフトウェア デバイスを使用します。
Direct3D Driver Development Kit (DDK) には、プラグ可能なソフトウェア デバイスを開発するためのドキュメントやヘッダーが用意されています。
要件
ヘッダー: D3D9.h 宣言
ライブラリ: D3D9.lib 内容