次の方法で共有


IDirect3DDevice9::CreateTexture メソッド (d3d9.h)

テクスチャ リソースを作成します。

構文

HRESULT CreateTexture(
  [in]          UINT              Width,
  [in]          UINT              Height,
  [in]          UINT              Levels,
  [in]          DWORD             Usage,
  [in]          D3DFORMAT         Format,
  [in]          D3DPOOL           Pool,
  [out, retval] IDirect3DTexture9 **ppTexture,
  [in]          HANDLE            *pSharedHandle
);

パラメーター

[in] Width

型: UINT

テクスチャの最上位レベルの幅 (ピクセル単位)。 後続のレベルのピクセルディメンションは、前のレベルのピクセル次元の半分の切り捨てられた値になります (独立)。 各次元は1ピクセルのサイズで締め金で止める。 したがって、2 による除算の結果が 0 の場合、代わりに 1 が取られます。

[in] Height

型: UINT

テクスチャの最上位レベルの高さ (ピクセル単位)。 後続のレベルのピクセルディメンションは、前のレベルのピクセル次元の半分の切り捨てられた値になります (独立)。 各次元は1ピクセルのサイズで締め金で止める。 したがって、2 による除算の結果が 0 の場合、代わりに 1 が取られます。

[in] Levels

型: UINT

テクスチャ内のレベルの数。 ゼロの場合、Direct3D は、mipmapped テクスチャをサポートするハードウェアに対して、1 x 1 ピクセルまでのすべてのテクスチャ サブレベルを生成します。 IDirect3DBaseTexture9::GetLevelCount を呼び出して、生成されたレベルの数を確認します。

[in] Usage

種類: DWORD

使用量には 0 を指定できます。これは、使用量の値がないことを示します。 ただし、使用が必要な場合は、1 つ以上の D3DUSAGE 定数の組み合わせを使用します。 usage パラメーターと IDirect3D9::CreateDevice の動作フラグを照合することをお勧めします。

[in] Format

型: D3DFORMAT

テクスチャ内のすべてのレベルの形式を記述する D3DFORMAT 列挙型のメンバー。

[in] Pool

種類: D3DPOOL

テクスチャを配置するメモリ クラスを記述する D3DPOOL 列挙型のメンバー。

[out, retval] ppTexture

種類: IDirect3DTexture9**

作成されたテクスチャ リソースを表す IDirect3DTexture9 インターフェイスへのポインター。

[in] pSharedHandle

型: HANDLE*

予約済み。 このパラメーターを NULL に設定 します。 このパラメーターは、Direct3D 9 for Windows Vista で リソースを共有するために使用できます。

戻り値

種類: HRESULT

メソッドが成功した場合、戻り値はD3D_OK。 メソッドが失敗した場合、戻り値は次のいずれかになります:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。

解説

アプリケーションは、IDirect3D9::CheckDeviceFormat を呼び出して、特定の形式の Mipmaps (Direct3D 9) の自動生成のサポートを検出D3DUSAGE_AUTOGENMIPMAP。 IDirect3D9::CheckDeviceFormat がD3DOK_NOAUTOGENを返した場合、IDirect3DDevice9::CreateTexture は成功しますが、1 レベルのテクスチャを返します。

Windows Vista の CreateTexture では、システム メモリ ポインターからテクスチャを作成し、システム メモリの使用、割り当て、削除に対するアプリケーションの柔軟性を高めることができます。 たとえば、アプリケーションは GDI システム メモリ ビットマップ ポインターを渡し、その周囲に Direct3D テクスチャ インターフェイスを取得できます。 CreateTexture でシステム メモリ ポインターを使用する場合、次の制限があります。

  • テクスチャのピッチは、幅にピクセルあたりのバイト数を乗算した値と等しい必要があります。
  • 1 つのミップマップ レベルを持つテクスチャのみがサポートされます。 Levels 引数は 1 である必要があります。
  • Pool 引数はD3DPOOL_SYSTEMMEMする必要があります。
  • pSharedHandle 引数は、システム メモリ ポイントを保持できるバッファーへの有効なポインターである必要があります。*pSharedHandle は、テクスチャ幅のバイト単位のサイズ * テクスチャの高さ * テクスチャ形式のピクセルあたりのバイト数を持つシステム メモリへの有効なポインターである必要があります。

要件

   
対象プラットフォーム Windows
ヘッダー d3d9.h (D3D9.h を含む)
Library D3D9.lib

関連項目

D3DXCreateTexture

D3DXCreateTextureFromFile

D3DXCreateTextureFromFileEx

D3DXCreateTextureFromFileInMemory

D3DXCreateTextureFromFileInMemoryEx

D3DXCreateTextureFromResource

D3DXCreateTextureFromResourceEx

IDirect3DDevice9