D3DXCreateCubeTextureFromResourceEx 函数
从字符串指定的资源创建多维数据集纹理。 这是比 D3DXCreateCubeTextureFromResource 更高级的函数。
语法
HRESULT D3DXCreateCubeTextureFromResourceEx(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ HMODULE hSrcModule,
_In_ LPCTSTR pSrcResource,
_In_ UINT Size,
_In_ UINT MipLevels,
_In_ DWORD Usage,
_In_ D3DFORMAT Format,
_In_ D3DPOOL Pool,
_In_ DWORD Filter,
_In_ DWORD MipFilter,
_In_ D3DCOLOR ColorKey,
_Inout_ D3DXIMAGE_INFO *pSrcInfo,
_Out_ PALETTEENTRY *pPalette,
_Out_ LPDIRECT3DCUBETEXTURE9 *ppCubeTexture
);
parameters
-
pDevice [in]
-
指向 IDirect3DDevice9 接口的指针,表示要与多维数据集纹理关联的设备。
-
hSrcModule [in]
-
类型: HMODULE
资源所在的模块的句柄,或与操作系统用于创建当前进程的映像关联的模块的 NULL 。
-
pSrcResource [in]
-
类型: LPCTSTR
指向指定资源名称的字符串的指针。 如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,字符串数据类型解析为 LPCSTR。 请参阅“备注”。
-
大小 [in]
-
类型: UINT
立方体纹理的宽度和高度(以像素为单位)。 例如,如果立方体纹理为 8 像素 x 8 像素立方体,则此参数的值应为 8。 如果此值为 0 或 D3DX_DEFAULT,则维度将从 文件中获取。
-
MipLevels [in]
-
类型: UINT
请求的 mip 级别数。 如果此值为零或D3DX_DEFAULT,则会创建完整的 mipmap 链。
-
用法 [in]
-
类型: DWORD
0、D3DUSAGE_RENDERTARGET或D3DUSAGE_DYNAMIC。 将此标志设置为D3DUSAGE_RENDERTARGET表示表面将用作呈现目标。 然后,可以将资源传递给 SetRenderTarget 方法的 pNewRenderTarget 参数。 如果指定了D3DUSAGE_RENDERTARGET,应用程序应通过调用 CheckDeviceFormat 检查设备支持此操作。 D3DUSAGE_DYNAMIC指示应动态处理表面。 有关使用动态纹理的详细信息,请参阅 使用动态纹理。
-
格式 [in]
-
类型: D3DFORMAT
D3DFORMAT 枚举类型的成员,描述多维数据集纹理的请求像素格式。 返回的多维数据集纹理的格式可能与 Format 指定的格式不同。 应用程序应检查返回的多维数据集纹理的格式。 如果 D3DFMT_UNKNOWN,则采用 文件中的格式。 如果D3DFMT_FROM_FILE,则格式与文件中的格式完全相同,如果这违反了设备功能,则调用将失败。
-
池 [in]
-
类型: D3DPOOL
D3DPOOL 枚举类型的成员,描述应放置多维数据集纹理的内存类。
-
筛选 [in]
-
类型: DWORD
一个或多个 D3DX_FILTER的组合,控制图像的筛选方式。 为此参数指定D3DX_DEFAULT等效于指定D3DX_FILTER_TRIANGLE |D3DX_FILTER_DITHER。
-
MipFilter [in]
-
类型: DWORD
控制图像筛选方式的一个或多个 D3DX_FILTER 的组合。 为此参数指定D3DX_DEFAULT等效于指定D3DX_FILTER_BOX。
-
ColorKey [in]
-
类型: D3DCOLOR
要替换为透明黑色的 D3DCOLOR 值,或 0 表示禁用颜色键。 这始终是 32 位 ARGB 颜色,与源图像格式无关。 Alpha 非常重要,对于不透明颜色键,通常应设置为 FF。 因此,对于不透明的黑色,该值将等于 0xFF000000。
-
pSrcInfo [in, out]
-
类型: D3DXIMAGE_INFO*
指向 D3DXIMAGE_INFO 结构的指针,该结构用源图像文件中的数据的说明填充,或 NULL。
-
pPalette [out]
-
类型: PALETTEENTRY*
指向 PALETTEENTRY 结构的指针,表示要填充的 256 色调色板或 NULL。
-
ppCubeTexture [out]
-
指向 IDirect3DCubeTexture9 接口的指针的地址,表示创建的多维数据集纹理对象。
返回值
类型: HRESULT
如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_INVALIDCALL、D3DERR_NOTAVAILABLE、D3DERR_OUTOFVIDEOMEMORY、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
备注
编译器设置确定函数版本。 如果定义了 Unicode,则函数调用将解析为 D3DXCreateCubeTextureFromResourceExW。 否则,函数调用将解析为 D3DXCreateCubeTextureFromResourceExA ,因为使用的是 ANSI 字符串。
此函数支持以下文件格式:.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm 和 .tga。 请参阅 D3DXIMAGE_FILEFORMAT。
立方体纹理与其他表面的不同之处在于,它们是表面的集合。 若要使用立方体纹理调用 SetRenderTarget ,必须使用 GetCubeMapSurface 选择单个人脸,并将生成的表面传递给 SetRenderTarget。
D3DXCreateCubeTextureFromResourceEx 使用 DirectDraw surface (DDS) 文件格式。 DirectX 纹理编辑器 (Dxtex.exe) 使你能够从其他文件格式生成多维数据集映射,并将其保存为 DDS 文件格式。 可以从 DirectX SDK 获取Dxtex.exe并了解它。 有关 DirectX SDK 的信息,请参阅 DirectX SDK 在哪里?。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
请参阅