Share via


2. リソースの操作

2. リソースの操作

アプリケーションは、シーンをレンダリングするためにリソースを操作する。最初に、アプリケーションは、CubeTexture オブジェクト、Texture オブジェクト、VolumeTexture オブジェクトのいずれかを初期化することで、テクスチャ リソースを作成する。これらのテクスチャ クラスはすべて BaseTexture 基底クラスを継承することに注意すること。

返されるテクスチャ オブジェクトは、サーフェイスまたはボリュームのコンテナであり、このようなコンテナを一般にバッファと呼ぶ。リソースが所有するバッファは、リソースの使用法、フォーマット、プールは継承するが、型は独自の型になる。詳細については、「1. リソースのプロパティ」を参照すること。

アプリケーションでは、アートワークをロードするために、CubeTexture.LockRectangle メソッド、Texture.LockRectangle メソッド、VolumeTexture.LockBox メソッドのいずれかを呼び出して、格納されているサーフェイスにアクセスする。詳細については、「3. リソースのロック」を参照すること。ロック メソッドは、格納されているサーフェイスを示す引き数を受け取り、ピクセルへのポインタを返す。このような引き数の例としては、テクスチャのミップマップ サブレベルやキューブ フェースなどがある。一般的なアプリケーションは、サーフェイス オブジェクトを直接使うことはない。

さらに、アプリケーションは、IndexBuffer オブジェクトまたは VertexBuffer オブジェクトを初期化するときに、ジオメトリ用のリソースを作成する。IndexBuffer.Lock メソッドまたは VertexBuffer.Lock メソッドを呼び出して、バッファ リソースをロックし、データを設定する。

これらのリソースを Microsoft® Direct3D® ランタイムで管理しているアプリケーションの場合、リソースの作成プロセスはここで終了する。それ以外のアプリケーションでは、UpdateTexture メソッドを呼び出して、システム メモリ リソースのデバイス アクセス可能なリソース (ハードウェア アクセラレータが使える) への移動を管理する。

リソースからレンダリングしたイメージをプレゼンテーションするには、アプリケーションにカラー バッファと深度ステンシル バッファも必要である。一般的なアプリケーションの場合、カラー バッファはデバイスのスワップ チェーンが所有する。スワップ チェーンは、バック バッファ サーフェイスの集合であり、デバイスによって非明示的に作成される。深度ステンシル サーフェイスは、非明示的に作成されるか、または CreateDepthStencilSurface メソッドを使って明示的に作成される。アプリケーションは SetRenderTarget を呼び出し、デバイスとその深度バッファおよびカラー バッファとを関連付ける。

© 2002 Microsoft Corporation. All rights reserved. Terms of use.