IDirect3DDevice9::CreateVolumeTexture 方法 (d3d9helper.h)

创建卷纹理资源。

语法

HRESULT CreateVolumeTexture(
  [in]          UINT                    Width,
  [in]          UINT                    Height,
  [in]          UINT                    Depth,
  [in]          UINT                    Levels,
  [in]          DWORD                   Usage,
  [in]          D3DFORMAT               Format,
  [in]          D3DPOOL                 Pool,
  [out, retval] IDirect3DVolumeTexture9 **ppVolumeTexture,
  [in]          HANDLE                  *pSharedHandle
);

参数

[in] Width

类型: UINT

体积纹理的顶层宽度(以像素为单位)。 如果设置了 D3DCAPS9 的D3DPTEXTURECAPS_VOLUMEMAP_POW2成员,则此值必须为 2 的幂 。 后续级别的像素尺寸将是前一级别像素维度的一半的截断值, (独立) 。 每个维度的大小为 1 个像素。 因此,如果除以 2 的结果为 0 (零) ,则将改用 1。 驱动程序支持的宽度、高度和深度) (的最大尺寸可在 D3DCAPS9 的 MaxVolumeExtent 中找到。

[in] Height

类型: UINT

体积纹理的顶层高度(以像素为单位)。 如果设置了 D3DCAPS9 的D3DPTEXTURECAPS_VOLUMEMAP_POW2成员,则此值必须为 2 的幂 。 后续级别的像素尺寸将是前一级别像素维度的一半的截断值, (独立) 。 每个维度的大小为 1 个像素。 因此,如果除以 2 导致 0 (零) ,则取 1。 驱动程序支持的宽度、高度和深度) (的最大尺寸可在 D3DCAPS9 的 MaxVolumeExtent 中找到。

[in] Depth

类型: UINT

体积纹理的顶层深度(以像素为单位)。 如果设置了 D3DCAPS9 的D3DPTEXTURECAPS_VOLUMEMAP_POW2成员,则此值必须为 2 的幂 。 后续级别的像素尺寸将是前一级别像素维度的一半的截断值, (独立) 。 每个维度的大小为 1 个像素。 因此,如果除以 2 导致 0 (零) ,则取 1。 驱动程序支持的宽度、高度和深度) (的最大尺寸可在 D3DCAPS9 的 MaxVolumeExtent 中找到。

[in] Levels

类型: UINT

纹理中的级别数。 如果为零,则 Direct3D 将为支持误贴卷纹理的硬件生成所有纹理子级别,这些子级别为 1x1 像素。 调用 IDirect3DBaseTexture9::GetLevelCount 以查看生成的级别数。

[in] Usage

类型: DWORD

使用情况可以为 0,这表示没有使用值。 如果需要使用,请使用D3DUSAGE_DYNAMIC或D3DUSAGE_SOFTWAREPROCESSING。 有关详细信息,请参阅 D3DUSAGE

[in] Format

类型: D3DFORMAT

D3DFORMAT枚举类型的成员,描述卷纹理中所有级别的格式。

[in] Pool

类型: D3DPOOL

D3DPOOL枚举类型的成员,描述应放置卷纹理的内存类。

[out, retval] ppVolumeTexture

类型: IDirect3DVolumeTexture9**

指向 IDirect3DVolumeTexture9 接口的指针的地址,表示创建的卷纹理资源。

[in] pSharedHandle

类型: HANDLE*

保留。 将此参数设置为 NULL。 此参数可用于 Windows Vista 的 Direct3D 9 中 共享资源

返回值

类型: HRESULT

如果该方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。

要求

要求
目标平台 Windows
标头 d3d9helper.h (包括 D3D9.h)
Library D3D9.lib

另请参阅

D3DXCreateVolumeTexture

D3DXCreateVolumeTextureFromFile

D3DXCreateVolumeTextureFromFileEx

D3DXCreateVolumeTextureFromFileInMemory

D3DXCreateVolumeTextureFromFileInMemoryEx

D3DXCreateVolumeTextureFromResource

D3DXCreateVolumeTextureFromResourceEx

IDirect3DDevice9