Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ d3d9:从6幅图像创建立方体纹理_C++_Directx 9 - Fatal编程技术网

C++ d3d9:从6幅图像创建立方体纹理

C++ d3d9:从6幅图像创建立方体纹理,c++,directx-9,C++,Directx 9,我想知道如何从directx 9(c++)中的6个png图像创建立方体纹理。我在directx 11中发现了类似的问题,但我想知道我在这里会怎么做 首先,为什么要首先使用传统的DirectX 9?您应该使用DirectX 11。Direct3D 9 debug device/developer runtime无论如何在现代版本的Windows操作系统上不可用。其次,您可以使用传统D3DX9从DDS文件加载立方体贴图,因此您可以使用DirectX 11时代的工具创建立方体贴图DDS文件,只要您坚持

我想知道如何从directx 9(c++)中的6个png图像创建立方体纹理。我在directx 11中发现了类似的问题,但我想知道我在这里会怎么做

首先,为什么要首先使用传统的DirectX 9?您应该使用DirectX 11。Direct3D 9 debug device/developer runtime无论如何在现代版本的Windows操作系统上不可用。其次,您可以使用传统D3DX9从
DDS
文件加载立方体贴图,因此您可以使用DirectX 11时代的工具创建立方体贴图
DDS
文件,只要您坚持传统格式,它就可能工作。见和。您还可以使用传统的DirectX SDK(无论如何,您都必须与Direct3D 9一起使用),并使用
DXTex.exe
工具构建cubemap
DDS
@ChuckWalbourn感谢您的回复-由于一些公司的要求,我不得不使用DirectX 9。我曾考虑过dds转换,但我不想告诉艺术家他们需要应用转换工具,因此我希望我可以通过代码在内部实现这一点。我会重新审视需求。您可以使用DirectX 11 API支持旧的DirectX 9时代视频卡。看见不再使用传统Direct3D 9的唯一原因是支持Windows XP。您可以使用传统D3DX9函数
D3DXLoadSurfaceFromSurface
加载从
IDirect3DCubeTexture9::GetCubeMapSurface获取的立方体贴图的每个面,该立方体贴图是从从
IDirect3DTexture9::GetSurfaceLevel
。您可以使用
D3DXFilterTexture
生成mipmap。我没有任何简单的示例代码,但是它非常简单。