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 |
请参阅
D3DXCreateCubeTextureFromFileEx
D3DXCreateCubeTextureFromFileInMemory
D3DXCreateCubeTextureFromFileInMemoryEx
D3DXCreateCubeTextureFromResource