opengl - 在 OpenGL 中附加 RenderDoc 时无法加载 Cg 着色器
问题描述
我正在尝试使用 RenderDoc 调试我的 OpenGL 游戏,但如果我从 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了。
使用的 GPU 是 GeForce GTX 560,在游戏启动时 GL_VERSION 报告为4.6.0 NVIDIA 391.35
. 我还尝试在另一台具有较新视频卡(Nvidia 1050ti)的计算机上运行,并且尝试安装最新的驱动程序,但这没有任何区别。这一切都在 Windows 10 64 位上。
我们的引擎中还有一个 DirectX9 选项。当我使用它并从 RenderDoc 启动游戏时,它开始正常并在游戏上显示 RenderDoc 覆盖。但是,由于 RenderDoc 实际上并不支持 DirectX9,因此我无法以这种方式捕获帧(正如预期的那样)。
解决方案
推荐阅读
- java - 为什么会出现错误:'error: package com.mysql does not exist'?
- r - 如何在 R 中找到某些行的总和以获得每行的总计?
- django - 在 Django 管理命令中设置 csv 文件的默认路径
- pagination - 需要带有分页示例的 Cosmos DB .NET SDK V3 查询
- python - 将列转换为 pd 中的行。数据框
- graph - 如何将 GRAPH 变量传递给 SPARQL 中的 FROM 语句?
- python - Python ipywidgets 切换按钮样式颜色
- javascript - 如何将两个块元素附加到一个div?
- r - 如何在r中的箱线图之间创建单独的线图
- flutter - 如何解决:在 mac 中运行 pod install 时出错