次の方法で共有


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) では、プラグ可能なソフトウェア デバイスを開発するためのドキュメントとヘッダーが提供されている。