IDirect3D9::RegisterSoftwareDevice メソッド
IDirect3D9::RegisterSoftwareDevice メソッド
プラグ可能なソフトウェア デバイスを登録する。ソフトウェア デバイスはソフトウェアによるラスタ化を提供する。これにより、アプリケーションは、さまざまなソフトウェア ラスタライザにアクセスできる。
構文
HRESULT RegisterSoftwareDevice(
void *pInitializeFunction
);
パラメータ
- pInitializeFunction
[in] 登録するソフトウェア デバイスの初期化関数へのポインタ。
戻り値
成功した場合は、D3D_OK を返す。
失敗した場合は、次のいずれかの値を返す。
D3DERR_INVALIDCALL | メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。 |
D3DERR_OUTOFVIDEOMEMORY | Direct3D が処理を行うのに十分なディスプレイ メモリがない。 |
注意
ユーザーのコンピュータが 3D 操作用の特別なハードウェア アクセラレーションを備えていない場合、アプリケーションはソフトウェアで 3D ハードウェアをエミュレートできる。ソフトウェア ラスタ化デバイスは、ソフトウェアで カラー 3D ハードウェアの機能をエミュレートする。ソフトウェア デバイスは、ハードウェア アブストラクション レイヤ (HAL) よりも実行速度が遅い。ただし、ソフトウェア デバイスは、CPU でサポートされている特別な命令を利用してパフォーマンスを向上させる。サポートされる命令セットには、いくつかの AMD プロセッサの AMD 3DNow! 命令セットや、多くの Intel プロセッサでサポートされる MMX 命令セットなどがある。Microsoft® Direct3D® では、3DNow! 命令セットを使ってトランスフォーム & ライティング処理を高速化し、MMX 命令セットを使ってラスタ化を高速化する。
ソフトウェア デバイスは、ハードウェア デバイス ドライバ インタフェース (DDI) に類似するインターフェイスを介して Direct3D と通信する。
ソフトウェア デバイスは、アプリケーションによってロードされて、IDirect3D9 オブジェクトに登録される。Direct3D は、ソフトウェア デバイスを使ってレンダリングを実行する。
Direct3D Driver Development Kit (DDK) では、プラグ可能なソフトウェア デバイスを開発するためのドキュメントとヘッダーが提供されている。