1
我想使用矩陣堆棧來跟蹤分層模型中的變換。只有無賴,似乎沒有內置的矩陣堆棧類可以用來做到這一點。 Direct3D模板只是跟蹤模型,視圖和投影矩陣,然後將它們傳遞給頂點着色器。我是否必須在WP8 Direct3D應用程序中實現自己的矩陣堆棧?
渲染使得常量緩衝區:
CD3D11_BUFFER_DESC constantBufferDesc(sizeof(ModelViewProjectionConstantBuffer), D3D11_BIND_CONSTANT_BUFFER);
DX::ThrowIfFailed(
m_d3dDevice->CreateBuffer(
&constantBufferDesc,
nullptr,
&m_constantBuffer)
);
頂點着色引擎將每個頂點:
cbuffer ModelViewProjectionConstantBuffer : register(b0)
{
matrix model;
matrix view;
matrix projection;
};
...
// Transform the vertex position into projected space.
pos = mul(pos, model);
pos = mul(pos, view);
pos = mul(pos, projection);
output.pos = pos;
...
我花了一些時間尋找一個內置的矩陣堆棧類,這樣我就不用重新發明輪子,但我得到的唯一有希望的主角the ID3DXMatrixStack似乎無法在WP8 Direct3D應用程序中訪問。
所以我錯過了什麼,或者我需要寫我自己的?
好的,這不應該很難,但我希望避免這項工作。謝謝! – Nico 2013-05-03 01:35:19