IDirect3DDevice9::CreateCubeTexture 方法 (d3d9.h)

创建多维数据集纹理资源。

语法

HRESULT CreateCubeTexture(
  [in]          UINT                  EdgeLength,
  [in]          UINT                  Levels,
  [in]          DWORD                 Usage,
  [in]          D3DFORMAT             Format,
  [in]          D3DPOOL               Pool,
  [out, retval] IDirect3DCubeTexture9 **ppCubeTexture,
  [in]          HANDLE                *pSharedHandle
);

参数

[in] EdgeLength

类型: UINT

多维数据集纹理的所有顶级面边缘的大小。 每个人脸的后续级别的像素尺寸将是上一个级别像素维度的一半的截断值, (独立) 。 每个维度的固定大小为 1 个像素。 因此,如果除以 2 导致 0 (零) ,则将改用 1。

[in] Levels

类型: UINT

立方体纹理的每个面中的级别数。 如果为零,Direct3D 将为支持多维数据集纹理的硬件生成每个面 1x1 像素的所有立方体纹理子级别。 调用 IDirect3DBaseTexture9::GetLevelCount 以查看生成的级别数。

[in] Usage

类型: DWORD

使用情况可以为 0,这表示没有使用值。 但是,如果需要使用,请使用一个或多个 D3DUSAGE 常量的组合。 最好将 CreateCubeTexture 中的 usage 参数与 IDirect3D9::CreateDevice 中的行为标志相匹配。 有关详细信息,请参阅“备注”。

[in] Format

类型: D3DFORMAT

D3DFORMAT 枚举类型的成员,描述多维数据集纹理的所有面中所有级别的格式。

[in] Pool

类型: D3DPOOL

D3DPOOL 枚举类型的成员,描述应放置多维数据集纹理的内存类。

[out, retval] ppCubeTexture

类型: IDirect3DCubeTexture9**

指向 IDirect3DCubeTexture9 接口的指针的地址,表示创建的多维数据集纹理资源。

[in] pSharedHandle

类型: 句柄*

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

返回值

类型: HRESULT

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

备注

mipmap (纹理) 是连续向下采样 () 表面的集合。 另一方面, 由 IDirect3DDevice9::CreateCubeTexture) 创建的立方体纹理 (是六个纹理的集合, (mipmaps) ,每个面各一个。 立方体纹理中必须存在所有人脸。 此外,在 x、y 和 z) (所有三个维度中,多维数据集地图图面的像素大小必须相同。

应用程序可以通过使用 D3DUSAGE_AUTOGENMIPMAP 调用 IDirect3D9::CheckDeviceFormat,发现对特定格式的 Mipmaps (Direct3D 9) 自动生成的支持。 如果 IDirect3D9::CheckDeviceFormat 返回D3DOK_NOAUTOGEN, 则 IDirect3DDevice9::CreateCubeTexture 将成功,但它将返回一级纹理。

要求

   
目标平台 Windows
标头 d3d9.h (包括 D3D9.h)
Library D3D9.lib

请参阅

D3DXCreateCubeTexture

D3DXCreateCubeTextureFromFile

D3DXCreateCubeTextureFromFileEx

D3DXCreateCubeTextureFromFileInMemory

D3DXCreateCubeTextureFromFileInMemoryEx

D3DXCreateCubeTextureFromResource

D3DXCreateCubeTextureFromResourceEx

IDirect3DDevice9