Не удается загрузить шейдеры Cg, когда RenderDoc присоединен в OpenGL
Я пытаюсь отладить свою игру 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, я не могу захватить кадр таким образом (как и ожидалось).