我有一個DirectX 11項目,我使用Beginning DirectX 11 Game Programming
書通過所有章節。我有我的相機的地方,它一直在沒有崩潰,但最近在調試我的Obj Loader時我發現它在XMMatrixTranspose
線路上不斷崩潰,我換了我的視圖矩陣和投影矩陣來查看是否它是特定於我的觀點矩陣而不是。XMMatrixTranspose訪問衝突讀取位置0xFFFFFFFF
這裏的代碼導致錯誤
vMatrix = camera.GetViewMatrix();
vMatrix = XMMatrixTranspose(vMatrix);
pMatrix = XMMatrixPerspectiveFovLH(XM_PIDIV4, (float)(screenWidth/screenHeight), 0.01f, 100.0f);
pMatrix = XMMatrixTranspose(pMatrix);
塊這是我DX11::Render
功能找到。這在我的main.cpp
遊戲循環中被調用,如下所示。
MSG msg = { 0 };
while (msg.message != WM_QUIT)
{
if (PeekMessage(&msg, 0, 0, 0, PM_REMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
directX->Update(0.0f);
directX->Render();
}
}
directX->Shutdown();
我的變量的所有記憶和該代碼已經工作之前,當它開始這樣做,它會做得很間歇,但現在它似乎是在做這一切的時候。
任何幫助和指導將是驚人的!我一直在研究幾個小時,找不到任何有用的東西,我已經有了這個問題約7個小時!它要走了!
在此先感謝。
UPDATE現在已經回到了間歇性崩潰
更新2我還使用xnamath不DXMath
的可能的複製[DX11崩潰時訪問XMMATRIX],因爲這是使用XMMatrixTranspose功能(http://stackoverflow.com/questions/22133742/dx11-crash-when-accessing-xmmatrix) –
是。 –
Zach,XMMATRIX變量未對齊的問題是衆所周知的,並給出了您所看到的症狀。我建議你嘗試鏈接答案中的建議。 –