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]

类型: LPDIRECT3DDEVICE9

指向 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]

类型: LPDIRECT3DCUBETEXTURE9*

指向 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 在哪里?

要求

要求
标头
D3dx9tex.h

D3dx9.lib

请参阅

D3DXCreateCubeTextureFromResource

D3DX 9 中的纹理函数