这个小项目最初是用来学习DirectX11的,后来尝试实现一个名为GGUI的UI库,后来尝试fbx文件的解析。
我有个缺点,就是浅尝辄止。一件事,只要学会了一点皮毛,初步达到了目标,就搁置不做了。
去年初步实现了fbx文件的加载与渲染,然后就热情骤减,裹足不前了。
最近热情又来了,就把这个小项目鼓捣了一下,把代码放出来,给大家提供一些思路。
源码托管在github上: 项目链接 https://github.com/oilcode/fbx-view
我之前写过一篇与fbx文件解析相关的博客,想读代码的话务必要读这篇博客 《Fbx使用总结》 http://blog.csdn.net/oilcode/article/details/52586109
项目运行截图
fbx-view
a directx11 demo for loading and rendering fbx format file which exported from 3ds-max
本demo的主要目标是加载并渲染fbx模型。
fbx文件是3ds max软件导出来的模型文件,可以是静态模型,也可以是含有动画信息的动画模型。
Unity3D引擎就是使用fbx文件作为主要的模型文件。
本demo可以正确处理fbx静态模型,也可以正确处理动画模型。
关键代码
Loading fbx :
StFBXDefine.cpp
StFBXDefine.h
StFBXManager.cpp
StFBXManager.h
StFBXModel.cpp
StFBXModel.h
StFBXUserDefine.h
Rending fbx :
SoD3DModelFbx.cpp
SoD3DModelFbx.h
SoD3DLogicFlowHelp.cpp
编译方法
Windows7
VisualStudio2013
向工程中添加你自己的DirectX11的include目录和lib目录
然后就可以编译了
操作方法
程序运行后,把fbx文件拖放到程序窗口内,fbx模型就会被加载并渲染出来。
如果是动画模型,则会播放动画。
把 png,dds,tga 贴图拖放到程序窗口内,fbx模型就会蒙上该贴图。