次の方法で共有


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 内容