IDirect3DDevice9::CreateTexture
テクスチャー リソースを作成します。
HRESULT
CreateTexture(
UINT Width,
UINT Height,
UINT Levels,
DWORD Usage,
D3DFORMAT Format,
D3DPOOL Pool,
IDirect3DTexture9** ppTexture,
HANDLE* pSharedHandle
);
パラメータ
- Width
最上位のテクスチャーの幅 (ピクセル単位)。以降のレベルでのピクセルのサイズは、1 つ上のレベルのピクセルのサイズを (個別に) 1/2 した値になります。それぞれのサイズは、1 ピクセルのサイズに収められます。したがって、2 で除算した結果が 0 の場合、代わりに 1 が使用されます。 - Height
最上位のテクスチャーの高さ (ピクセル単位)。以下の各レベルでのピクセルのサイズは、1 つ上のレベルのピクセルのサイズをそれぞれ個別に 1/2 とした値になります。それぞれのサイズは、1 ピクセルのサイズに収められます。したがって、2 で除算した結果が 0 の場合、代わりに 1 が使用されます。 - Levels
テクスチャー内のレベル数。この値がゼロの場合、Direct3D は、ミップマップ テクスチャーをサポートするハードウェアに対して、各面の 1x1 ピクセルまでのすべてのテクスチャー サブレベルを生成します。生成されるレベルの数を確認するには、IDirect3DBaseTexture9::GetLevelCount を呼び出します。 - Usage
使用法には 0 を指定できます。これは使用法の値がないことを示します。ただし、使用法が必要な場合は、1 つ以上の D3DUSAGE 定数の組み合わせを使用します。使用法パラメーターと IDirect3D9::CreateDevice の動作フラグを一致させることが適切です。 - Format
D3DFORMAT 列挙型のメンバー。テクスチャー内のすべてのレベルのフォーマットを指定します。 - Pool
D3DPOOL 列挙型のメンバーです。テクスチャーを配置するメモリー クラスを示します。 - ppTexture
作成されたテクスチャー リソースを示す IDirect3DTexture9 インターフェイスへのポインターです。 - pSharedHandle
予約済みです。このパラメーターを NULL に設定します。このパラメーターを Windows Vista の Direct3D 9 で使用して、リソースを共有することができます。
戻り値
メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。
解説
D3DUSAGE_AUTOGENMIPMAP を指定して IDirect3D9::CheckDeviceFormat を呼び出すことで、特定のフォーマットの ミップマップの自動生成 (Direct3D 9) のサポートを確認できます。IDirect3D9::CheckDeviceFormat で D3DOK_NOAUTOGEN が返された場合、IDirect3DDevice9::CreateTexture は成功しますが、1 レベルのテクスチャーを返します。
Windows Vista の場合、CreateTexture はシステム メモリーのポインターからテクスチャーを作成できるので、アプリケーションではシステム メモリーの使用、割り当て、および削除に関してより高い柔軟性が得られます。たとえば、アプリケーションから GDI システム メモリーのビットマップ ポインターを渡し、その周辺の Direct3D テクスチャーのインターフェイスを取得できます。CreateTexture でシステム メモリーのポインターを使用する場合は、次の制限があります。
- テクスチャーのピッチは、その幅にピクセルあたりのバイト数をかけた値とする。
- 単一のミップマップ レベルのあるテクスチャーのみがサポートされている。Levels 引数は 1 であることが必要です。
- Pool 引数は D3DPOOL_SYSTEMMEM とする。
- pSharedHandle 引数は、システム メモリーのポインターを保持できるバッファーへの有効なポインターとし、*pSharedHandle 引数は、テクスチャー フォーマットのテクスチャーの幅×テクスチャーの高さ×ピクセルあたりのバイト数のサイズ (バイト数) を持つシステム メモリーへの有効なポインターとする。
要件
ヘッダー: D3D9.h 宣言
ライブラリ: D3D9.lib 内容
関連項目
D3DXCreateTexture, D3DXCreateTextureFromFile, D3DXCreateTextureFromFileEx, D3DXCreateTextureFromFileInMemory, D3DXCreateTextureFromFileInMemoryEx, D3DXCreateTextureFromResource, D3DXCreateTextureFromResourceEx