将搅拌机模型导入到DirectX 11.2 c++应用程序中
Importing a blender model into a DirectX 11.2 C++ application
我是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),只是在这里提出替代方案。
- 试图在visual studio上用C++创建一个桌面应用程序
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 在C应用程序中运行C++(带有STL)函数
- 使用VerQueryValue检索应用程序的文件描述
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 使用调试/崩溃报告将应用程序部署到客户端
- C++控制台应用程序阻止退出
- 码头化的C++应用程序是否向后兼容早期的内核版本
- 将应用程序从32位移植到64位时出现问题
- 如何改变c++应用程序的视觉效果
- WM_CTLCOLORSTATIC从未在WIN32应用程序中触发
- PC中的程序和PHONE中的本机描述应用程序之间的数据连接
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 示例外壳应用程序显示的 V8 "segmentation fault (core dumped)"错误
- phytec phyBOARD iMX-6在从闪存而不是SD卡运行qt5 opengles应用程序时表现不佳(FPS减半
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 如何从Windows应用程序输出到标准?
- C++应用程序 MySQL odbc 数据库连接错误:在引发"otl_tmpl_exception<>"实例后终止调用
- 如何在 64 位 vb.net Windows 应用程序中引用 32 位 dll
- 如果整个应用程序是虚拟映射的,为什么 new 会进行系统调用?