已经奋战好几天了,一直在做毕业设计。选了一个《3D游戏图形引擎设计》的题。我选了用directX来做。
真是已经晕头转向。不过现在终于有一点点成果了(也必须要做出来了,论文还不知在何方呢?)。这里赶紧写
一些学习中的笔记吧。
常见问题:
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。
注意:
大部分情况下,工程属性要设为“使用多字节字符集”;
附加依赖项添加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;//立即显示后备缓冲区。
还有,SetRenderState(D3DRS_ZENABLE,true);Z缓冲开启是很好的做法。