リソースの操作 (Direct3D 9)
アプリケーションは、シーンをレンダリングするためにリソースを操作します。 まず、アプリケーションで次のいずれかの方法でテクスチャ リソースを作成する必要があります。
- IDirect3DDevice9::CreateCubeTexture
- IDirect3DDevice9::CreateTexture
- IDirect3DDevice9::CreateVolumeTexture
テクスチャ リソースは、代わりに D3DXCreatexxx テクスチャリング関数のいずれかを使用して作成できます。
テクスチャ作成メソッドによって返されるテクスチャ オブジェクトは、サーフェスまたはボリュームのコンテナーです。これらのコンテナーは、一般的にバッファーと呼ばれます。 リソースが所有するバッファーは、リソースの使用状況、形式、プールを継承しますが、独自の型を持ちます。 詳細については、「 リソースのプロパティ (Direct3D 9)」を参照してください。
アプリケーションは、アートワークを読み込む目的で、次のメソッドを呼び出すことによって、含まれているサーフェスにアクセスできます。 詳細については、「 リソースのロック (Direct3D 9)」を参照してください。
ロック メソッドは、含まれているサーフェス (テクスチャの mipmap サブレベルやキューブ面など) を示す引数を受け取り、ピクセルへのポインターを返します。 一般的なアプリケーションでは、サーフェス オブジェクトを直接使用することはありません。
IDirect3DDevice9::CreateIndexBuffer または IDirect3DDevice9::CreateVertexBuffer を呼び出して、ジオメトリ指向のリソースを作成します。
リソースに応じて IDirect3DIndexBuffer9::Lock または IDirect3DVertexBuffer9::Lock を呼び出して、バッファー リソースをロックして入力します。
マネージド テクスチャ リソースの場合、リソース作成プロセスはここで終了します。 非マネージド テクスチャ リソースの場合、アプリケーションは IDirect3DDevice9::UpdateTexture を呼び出すことによって、システム メモリ リソースをデバイスアクセス可能なリソース (ハードウェア アクセラレーション用) に昇格します。
リソースからレンダリングされたイメージを表示するには、アプリケーションに色と深度ステンシル バッファーも必要です。 一般的なアプリケーションでは、カラー バッファーは、バック バッファー サーフェスのコレクションであるデバイスのスワップ チェーンによって所有され、デバイスで暗黙的に作成されます。 深度ステンシル サーフェスは、暗黙的に作成することも、 IDirect3DDevice9::CreateDepthStencilSurface メソッドを使用して明示的に作成することもできます。 アプリケーションは、デバイスとその深度とカラー バッファーを IDirect3DDevice9::SetRenderTarget または IDirect3DDevice9::SetDepthStencilSurface の呼び出しに関連付けます。
最終的なイメージの表示の詳細については、「 シーンの表示 (Direct3D 9)」を参照してください。
関連トピック