DirectX:无法从CMO渲染模型

时间:2019-06-09 10:32:27

标签: directx directx-11 directxtk

我正在尝试使用DirectX绘制模型(遵循本教程:https://github.com/Microsoft/DirectXTK/wiki/Rendering-a-model?fbclid=IwAR3A0mw9rzjJHrN3mwgSb9a6oKqNgiDiAnnfkVLIIQVca9Og6cvfvscuVfE)。

我已将我的model.cmo文件添加到添加现有项目,并将以下行添加到 Game :: CreateDevice()

m_model = Model::CreateFromCMO(m_d3dDevice.Get(), L"model.cmo", *m_fxFactory);

由于上述行中的异常,我无法构建和运行项目

  

directX_project.exe中0x747318A2处未处理的异常:Microsoft C ++异常:内存位置0x00B3F738的std :: exception。发生

我将感谢您提供有关如何解决或调试该问题的所有提示

1 个答案:

答案 0 :(得分:0)

您应按照std::exception的说明here中的说明,为调试器启用“ C ++异常中断”,以便您可以确切地看到触发异常的代码。

  

请注意,DirectX Tool Kit的最新版本为那些可能是“找不到文件”或类似问题的故障提供了更多的调试输出。

Directem工具包还针对其C ++异常实现了what方法,因此您可以使用以下代码获得更多详细信息:

try
{
    m_model = Model::CreateFromCMO(m_d3dDevice.Get(), L"model.cmo", *m_fxFactory);
}
catch (std::exception& ex)
{
    std::cout << ex.what();
    // Do some error handling here or call throw to re-throw it
}