次の方法で共有


IDirect3DDevice9::CreateTexture メソッド

IDirect3DDevice9::CreateTexture メソッド

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

構文

HRESULT CreateTexture(      
    UINT Width,
    UINT Height,
    UINT Levels,
    DWORD Usage,
    D3DFORMAT Format,
    D3DPOOL Pool,
    IDirect3DTexture9** ppTexture,
    HANDLE* pHandle
);

パラメータ

  • Width
    [in] 最上位のテクスチャの幅 (ピクセル単位)。ミップマップ レベルが下のピクセル ディメンジョンは 1 つ上のレベルのピクセル ディメンジョンを (単純に) 半分にした値である。それぞれのディメンジョンは、1 ピクセルのサイズに収められる。したがって、2 で除算した結果が 0 の場合、代わりに 1 が使用される。
  • Height
    [in] 最上位のテクスチャの高さ (ピクセル単位)。ミップマップ レベルが下のピクセル ディメンジョンは 1 つ上のレベルのピクセル ディメンジョンを (単純に) 半分にした値である。それぞれのディメンジョンは、1 ピクセルのサイズに収められる。したがって、2 で除算した結果が 0 の場合、代わりに 1 が使用される。
  • Levels
    [in] テクスチャにあるレベルの数。0 を指定すると、ミップマップ化テクスチャをサポートするハードウェアに対し、Microsoft® Direct3D® は、1 × 1 ピクセルまでのすべてのテクスチャ サブレベルを生成する。IDirect3DBaseTexture9::GetLevelCount を呼び出して、生成されたレベル数を確認する。
  • Usage
    [in] 使用法は 0 にできる。この場合使用法の値は設定されない。ただし、使用法が必要な場合は、1 つまたは複数の D3DUSAGE 定数の組み合わせを使用する。使用法パラメータと、IDirect3D9::CreateDevice の動作フラグを合致させて使うことが推奨される。
  • Format
    [in] D3DFORMAT 列挙型のメンバ。テクスチャの全レベルのフォーマットを記述する。
  • Pool
    [in] D3DPOOL 列挙型のメンバ。テクスチャの配置先となるメモリ クラスを記述する。
  • ppTexture
    [out, retval] 作成されたテクスチャ リソースを表す IDirect3DTexture9 インターフェイスへのポインタ。
  • pHandle
    [in] 予約済み。このパラメータは NULL に設定する。

戻り値

成功した場合は、D3D_OK を返す。

次の値を返す場合もある。

D3DERR_INVALIDCALL メソッドの呼び出しが無効である。たとえば、メソッドのパラメータに無効な値が設定されている場合などである。
D3DERR_OUTOFVIDEOMEMORY Direct3D が処理を行うのに十分なディスプレイ メモリがない。
E_OUTOFMEMORY Direct3D が呼び出しを完了するための十分なメモリを割り当てることができなかった。

注意

アプリケーションで D3DUSAGE_AUTOGENMIPMAP を使って IDirect3D9::CheckDeviceFormat を呼び出すことによって、特定のフォーマットでのミップマップの自動生成のサポートを検出できる。IDirect3D9::CheckDeviceFormat が D3DOK_NOAUTOGEN を返す場合、IDirect3DDevice9::CreateTexture は成功するが、1 レベルのテクスチャを返す。