Не удается загрузить шейдеры Cg, когда RenderDoc присоединен в OpenGL - PullRequest
1 голос
/ 11 июля 2019

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

...