将搅拌机模型导入到DirectX 11.2 c++应用程序中

Importing a blender model into a DirectX 11.2 C++ application

本文关键字:c++ 应用程序 DirectX 搅拌机 模型 导入      更新时间:2023-10-16

我是DirectX应用程序的新手,具有不错的c++知识和使用Blender的一些经验。所以对于初学者,我想知道我怎么能导入,说,一个UV球从Blender到DirectX 11.2 c++应用程序。我使用十一月版编译器。是否有在DirectX应用程序中使用Blender模型的最新教程?因为我读到。x格式在DirectX 10之后不再受支持,我需要在DirectX 11.2环境中使用它。

我不知道该做什么,也不知道该往哪个方向走,所以任何帮助都将是非常感谢的。

如果你只是想用原生DirectX显示一些3D对象,那么除了做所有的初始化工作之外,没有其他的方法,为Blender能够导出的某种格式编写文件加载器,并设置相应的渲染管道。实际上,要想在自己的应用程序中看到Blender模型,还有很长的路要走。但如果你打算最终编写自己的图像引擎,这是你必须采取的一种方式。如果这不是你的目标,我建议你选择一个开源的3D引擎。

我在一个网页上使用了一个非常好的在线教程,不幸的是这个教程已经不存在了,当然还有MSDN库来学习DirectX 11。你仍然可以在网上找到这些教程。此外,我还发现了另一个教程,乍一看似乎不错。

如果你不需要做非常特殊的事情,Blender必须写入你要导出的文件,我建议使用。obj格式,因为它易于理解和加载。

碰巧我正在写我自己的图形引擎。所以如果你对这个话题有任何进一步的问题,请随时联系我。

你总是可以创建自己的格式,如果它,我不知道,只是为了一些学校项目或类似的东西(大胆的猜测)。按您想要的方式格式化数据,例如:

X,Y,Z,R,G,Bn
X,Y,Z,R,G,Bn
X,Y,Z,R,G,Bn... 

表示顶点,在你列出所有顶点后,你可以使用一些字符,如'$'或'%'或类似的东西,这将表示顶点的结束和索引的开始,这将使以后更容易解析。你可以假设它总是TriangleList拓扑,但你也可以将文件的第一行专门用于配置,例如用int 1表示你将使用trinagleList,等等…

希望有帮助!

注:在我看来,julian的回答更好,为未来的项目学习新的有用的东西总是好的(比如Bioware:D),只是在这里提出替代方案。