Я пытаюсь отладить свою игру OpenGL с помощью RenderDoc, но если я запускаю из RenderDoc, то графика не отображается, и Cg выдает ошибки при запуске.Как я могу заставить RenderDoc работать с моей игрой?
Я получаю пару ошибок:
cgGLGetLatestProfile(CG_GL_VERTEX)
возвращает CG_PROFILE_ARBVP1
(намного более низкий профиль, чем возвращается, когда нетзапускается из RenderDoc) cgGLGetLatestProfile(CG_GL_FRAGMENT)
возвращает CG_PROFILE_UNKNOWN
- При попытке загрузить шейдер с этим профилем или с жестко закодированным более новым, он говорит
The profile is not supported
. - После этого выводится дополнительная ошибка:
fatal error C9999: InitHAL failed
.
В документации RenderDoc упоминается, что dbghelp.dll не следует использовать в сочетании с RenderDoc, поэтому я удалил включение dbghelp.lib ивсе ссылки на dll и заголовок из нашего кода, поэтому я думаю, что я больше не использую dbghelp.dll.
Используемый графический процессор - GeForce GTX 560, и при запуске игры GL_VERSION сообщается как4.6.0 NVIDIA 391.35
.Я также попытался запустить на другом компьютере новую видеокарту (Nvidia 1050ti) и попытался установить новейшие драйверы, но это не имело никакого значения.Это все в Windows 10 64bit.
У нас также есть опция DirectX9 в нашем движке.Когда я использую это и запускаю игру из RenderDoc, она запускается нормально и показывает оверлей RenderDoc поверх игры.Однако, поскольку RenderDoc на самом деле не поддерживает DirectX9, я не могу захватить кадр таким образом (как и ожидалось).