在執行dx11的官方例項時,經常會出現無法解析的外部符號__imp__cocreat…之類的錯誤,這是因為dx的一些函式呼叫了windows sdk中的系統函式,因此需要鏈結相關的庫。
x3daudio.lib
d3dx10d.lib
d3dx9d.lib
dxerr.lib
dxguid.lib
winmm.lib
comctl32.lib
kernel32.lib
user32.lib
wsock32.lib
advapi32.lib
shell32.lib
gdi32.lib
legacy_stdio_definitions.lib
ole32.lib
在執行龍書(dx11)時,第一張向量包含的標頭檔案#include
會報錯,官方對其原因進行了解釋:xnamath.h
原本是位於directx sdk的乙個數學庫,但是現在windows sdk包含的數學庫已經拋棄掉原來的xnamath.h
,並演變成了現在的directxmath.h
。其實本質上並沒有多大區別,只是將原來的xna數學函式移植到了這裡,並多了一層命名空間directx
。
因此需要將xnamath.h
替換為directxmath.h
,並且在變數型別之前巢狀命名空間。如:
#include
// for float definition
//#include
#include
// 替換,並在下面向量等前面新增directx::命名空間
#include
using
namespace std;
// overload the "<
// output xmvector objects.
ostream&
operator
<<
(ostream& os, directx::fxmvector v)
intmain()
directx::xmvector p = directx::
xmvectorset
(2.0f
,2.0f
,1.0f
,0.0f);
directx::xmvector q = directx::
xmvectorset
(2.0f,-
0.5f
,0.5f
,0.1f);
directx::xmvector u = directx::
xmvectorset
(1.0f
,2.0f
,4.0f
,8.0f);
directx::xmvector v = directx::
xmvectorset(-
2.0f
,1.0f,-
3.0f
,2.5f);
directx::xmvector w = directx::
xmvectorset
(0.0f
, directx::xm_pidiv4, directx::xm_pidiv2, directx::xm_pi)
; cout <<
"xmvectorabs(v) = "
<< directx::
xmvectorabs
(v)<< endl;
cout <<
"xmvectorcos(w) = "
<< directx::
xmvectorcos
(w)<< endl;
cout <<
"xmvectorlog(u) = "
<< directx::
xmvectorlog
(u)<< endl;
cout <<
"xmvectorexp(p) = "
<< directx::
xmvectorexp
(p)<< endl;
cout <<
"xmvectorpow(u, p) = "
<< directx::
xmvectorpow
(u, p)
<< endl;
cout <<
"xmvectorsqrt(u) = "
<< directx::
xmvectorsqrt
(u)<< endl;
cout <<
"xmvectorswizzle(u, 2, 2, 1, 3) = "
<< directx::
xmvectorswizzle
(u,2,2
,1,3
)<< endl;
cout <<
"xmvectorswizzle(u, 2, 1, 0, 3) = "
<< directx::
xmvectorswizzle
(u,2,1
,0,3
)<< endl;
cout <<
"xmvectormultiply(u, v) = "
<< directx::
xmvectormultiply
(u, v)
<< endl;
cout <<
"xmvectorsaturate(q) = "
<< directx::
xmvectorsaturate
(q)<< endl;
cout <<
"xmvectormin(p, v = "
<< directx::
xmvectormin
(p, v)
<< endl;
cout <<
"xmvectormax(p, v) = "
<< directx::
xmvectormax
(p, v)
<< endl;
return0;
}
第一張向量的執行結果為:
遊戲開發日誌 1
很久沒有在自己的blog發表文章了,感覺有點過意不去。於是今天試過n次密碼後終於以管理員的身份進入了久違的專欄。自己的記性是越來越差了!掐指一算,進入遊戲開發這個行業已經有一年半的時間了,想當初剛進公司的時候,還是乙個懵懂的頑童,現在也可算是久經沙場啦。原來在一家台灣的製造企業裡打工,不知不覺過了兩...
unity RPG遊戲開發 (1)
先在專案中按以下順序建立資料夾,這樣這個專案的初步框架就ok了。匯入相關資源 1 將所需貼 件導texture,一般為png檔案,並在unity中做成atlas 2 其餘檔案有音訊,字型,特效粒子,材質,模型,相關外掛程式 設定camera 3 設定好camara的cullingmask 與 pro...
phaser遊戲開發入門1
使用phaser開發十幾款遊戲,感覺這個引擎不錯,給大家分享下。demo位址 phaser這個引擎封裝做的比較好,常用的物理引擎都有封裝,音訊方面也特別給力,開發起來就乙個字 快 學習一款遊戲引擎只需要做的事情有 1 看他的demo演示,看他能做什麼 phaser 能做2d遊戲開發,2 看他的文件和...