1. 程式人生 > >Fbx檔案的載入與渲染:一個DirectX11小專案開源啦,主要用來演示fbx檔案的載入與渲染

Fbx檔案的載入與渲染:一個DirectX11小專案開源啦,主要用來演示fbx檔案的載入與渲染

這個小專案最初是用來學習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模型就會蒙上該貼圖。