IDirect3DDevice9::CreateVolumeTexture メソッド

IDirect3DDevice9::CreateVolumeTexture メソッド

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

構文

HRESULT CreateVolumeTexture(      
    UINT Width,
    UINT Height,
    UINT Depth,
    UINT Levels,
    DWORD Usage,
    D3DFORMAT Format,
    D3DPOOL Pool,
    IDirect3DVolumeTexture9** ppVolumeTexture,
    HANDLE* pHandle
);

パラメータ

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

戻り値

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

失敗した場合は、次のいずれかの値を返す。

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