D3DXCreateTextureFromFile 函数
从文件创建纹理。
语法
HRESULT D3DXCreateTextureFromFile(
_In_ LPDIRECT3DDEVICE9 pDevice,
_In_ LPCTSTR pSrcFile,
_Out_ LPDIRECT3DTEXTURE9 *ppTexture
);
参数
-
pDevice [in]
-
指向 IDirect3DDevice9 接口的指针,表示要与纹理关联的设备。
-
pSrcFile [in]
-
类型: LPCTSTR
指向指定文件名的字符串的指针。 如果编译器设置需要 Unicode,则数据类型 LPCTSTR 解析为 LPCWSTR。 否则,字符串数据类型解析为 LPCSTR。 请参阅“备注”。
-
ppTexture [out]
-
类型: LPDIRECT3DTEXTURE9*
指向 IDirect3DTexture9 接口的指针的地址,表示创建的纹理对象。
返回值
类型: HRESULT
如果函数成功,则返回值D3D_OK。 如果函数失败,则返回值可以是以下值之一:D3DERR_NOTAVAILABLE、D3DERR_OUTOFVIDEOMEMORY、D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA E_OUTOFMEMORY。
备注
编译器设置还确定函数版本。 如果定义了 Unicode,则函数调用将解析为 D3DXCreateTextureFromFileW。 否则,函数调用解析为 D3DXCreateTextureFromFileA,因为正在使用 ANSI 字符串。
此函数支持以下文件格式:.bmp、.dds、.dib、.hdr、.jpg、.pfm、.png、.ppm 和 .tga。 请参阅 D3DXIMAGE_FILEFORMAT。
函数等效于 D3DXCreateTextureFromFileEx (pDevice、pSrcFile、D3DX_DEFAULT、D3DX_DEFAULT、D3DX_DEFAULT、0、D3DFMT_UNKNOWN、D3DPOOL_MANAGED、D3DX_DEFAULT、D3DX_DEFAULT、0、 NULL、 PPTexture) 。
Mipmapped 纹理会自动使用加载的纹理填充每个级别。
将图像加载到错误纹理中时,某些设备无法转到 1x1 图像,并且此功能将失败。 如果发生这种情况,需要手动加载映像。
请注意,使用此函数创建的资源将放置在由 D3DPOOL_MANAGED 表示的内存类中。
筛选会自动应用于使用此方法创建的纹理。 筛选等效于 D3DX_FILTER_TRIANGLE |D3DX_FILTER 中的 D3DX_FILTER_DITHER。
为了在使用 D3DXCreateTextureFromFile 时获得最佳性能:
- 在加载时执行图像缩放和格式转换可能很慢。 以要使用的格式和分辨率存储图像。 如果目标硬件需要两个维度的电源,请使用两个维度的强大功能创建和存储映像。
- 请考虑使用 DirectDraw surface (DDS) 文件。 由于 DDS 文件可用于表示任何 Direct3D 9 纹理格式,因此 D3DX 很容易读取它们。 此外,它们可以存储 mipmap,因此可以使用任何 mipmap 生成算法来创作图像。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|
另请参阅