我目前在我的项目中遇到问题,我正试图让Dx11运行。
我的错误是: 3DTestProject.exe中0x00FC266D处的未处理异常:0xC0000005:访问冲突读取位置0x00000000。
此行中的Model.cpp IN Model :: Render()发生崩溃:
cb.mWorld = DirectX::XMMatrixTranspose(aOrientation);
由于实现,我必须在Render()
中将其作为const引用发送const DirectX::XMMATRIX& aOrientation
从实例打电话
m_pModel->Update();
Instance的标头如下所示:
class Instance
{
public:
Instance();
Instance(Model* aModel);
~Instance();
void Update();
void Render(Camera* aCamera);
private:
DirectX::XMMATRIX m_Orientation;
};
我的猜测是因为我将我的实例存储在Scene.h中作为std :: vector而且我不知道如何解决它。
std::vector<Instance> m_vecInstances;
答案 0 :(得分:0)
改变这些行并使用XMFLOAT4X4似乎在这一点上起作用。
const DirectX::XMFLOAT4X4 aOrientation
和
cb.mWorld = DirectX::XMMatrixTranspose(XMLoadFloat4x4(&aOrientation));