這個小項目最初是用來學習DirectX11的,後來嘗試實作一個名為GGUI的UI庫,後來嘗試fbx檔案的解析。
我有個缺點,就是淺嘗辄止。一件事,隻要學會了一點皮毛,初步達到了目标,就擱置不做了。
去年初步實作了fbx檔案的加載與渲染,然後就熱情驟減,裹足不前了。
最近熱情又來了,就把這個小項目鼓搗了一下,把代碼放出來,給大家提供一些思路。
源碼托管在github上: 項目連結 https://github.com/oilcode/fbx-view
我之前寫過一篇與fbx檔案解析相關的部落格,想讀代碼的話務必要讀這篇部落格 《Fbx使用總結》 http://blog.csdn.net/oilcode/article/details/52586109
項目運作截圖
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiN2ADNxIDNyIjMwkDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
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模型就會蒙上該貼圖。