IDirect3DDevice9::CreateCubeTexture 方法 (d3d9helper.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
类型: HANDLE*
保留。 将此参数设置为 NULL。 此参数可用于 Windows Vista 的 Direct3D 9 中 共享资源。
返回值
类型: HRESULT
如果该方法成功,则返回值D3D_OK。 如果方法失败,则返回值可以是下列值之一:D3DERR_INVALIDCALL、D3DERR_OUTOFVIDEOMEMORY、E_OUTOFMEMORY。
备注
(纹理) 的 mipmap 是连续向下采样 (错误覆盖) 表面的集合。 另一方面, 由 IDirect3DDevice9::CreateCubeTexture) 创建的立方体纹理 (是六个纹理的集合, (mipmap) ,每个面各一个。 立方体纹理中必须存在所有人脸。 此外,立方体贴图面在 x、y 和 z () 的所有三个维度中都必须具有相同的像素大小。
应用程序可以使用 D3DUSAGE_AUTOGENMIPMAP 调用 IDirect3D9::CheckDeviceFormat,发现对特定格式的 Mipmap (Direct3D 9) 自动生成的支持。 如果 IDirect3D9::CheckDeviceFormat 返回D3DOK_NOAUTOGEN, 则 IDirect3DDevice9::CreateCubeTexture 将成功,但它将返回一级纹理。
要求
目标平台 | Windows |
标头 | d3d9helper.h (包括 D3D9.h) |
Library | D3D9.lib |
另请参阅
D3DXCreateCubeTextureFromFileEx
D3DXCreateCubeTextureFromFileInMemory
D3DXCreateCubeTextureFromFileInMemoryEx
D3DXCreateCubeTextureFromResource