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 |
関連項目
D3DXCreateTextureFromFileInMemory
D3DXCreateTextureFromFileInMemoryEx