已經奮戰(zhàn)好幾天了,一直在做畢業(yè)設計。選了一個《3D游戲圖形引擎設計》的題。我選了用directX來做。
真是已經暈頭轉向。不過現(xiàn)在終于有一點點成果了(也必須要做出來了,論文還不知在何方呢?)。這里趕緊寫
一些學習中的筆記吧。
常見問題:
error C2061: 語法錯誤 : 標識符“LPDIRECTXFILEDATA”
--------這個問題只要在d3dfile.h下加上一句#include <dxfile.h>就行了
fatal error C1083: 無法打開包括文件:“D3DX8.h”: No such file or directory
-----裝的是d9的庫,用了d8的東西。不用擔心,將#include "d3d8.h" #include <D3DX8.h>
改為#include "d3d9.h" #include <D3DX9.h> ;接口IDirect3DDevice8改為IDirect3DDevice9。
注意:
大部分情況下,工程屬性要設為“使用多字節(jié)字符集”;
附加依賴項添加dx庫:d3dx9.lib d3d9.lib d3dxof.lib comctl32.lib winmm.lib dxguid.lib
fps問題:如果始終有限制,例如60,即是d3dPresent_Param.PresentationInterval=D3DPRESENT_INTERVAL_DEFAULT;打開。可改為
d3dPresent_Param.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;//立即顯示后備緩沖區(qū)。
還有,SetRenderState(D3DRS_ZENABLE,true);Z緩沖開啟是很好的做法。