DirectX: не удается отобразить модель из CMO - PullRequest
0 голосов
/ 09 июня 2019

Я пытаюсь нарисовать модель с использованием 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);

Я не могу собрать и запустить свой проект из-за исключения в указанной выше строке

Необработанное исключение в 0x747318A2 в directX_project.exe: Microsoft C ++ исключение: std :: исключение в ячейке памяти 0x00B3F738. произошло

Буду признателен за советы по устранению или устранению этой проблемы.

1 Ответ

0 голосов
/ 10 июня 2019

Для отладчика следует включить «исключение прерывания на C ++», как указано в инструкциях здесь для std::exception, чтобы вы могли точно видеть, какой код вызвал исключение.

Обратите внимание, что более поздние версии DirectX Tool Kit предоставляют больше выходных данных отладки для тех типов сбоев, которые, вероятно, "файл не найден" или похожая проблема.

DirectX Tool Kit также реализует метод what для своих исключений C ++, поэтому вы можете использовать этот код для получения более подробной информации:

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
}
...