如何在 OpenGL 中创建调试标记
How to create debugging markers in OpenGL?
我正在尝试使用 RenderDoc 调试一些 OpenGL 3.3+ 图形代码,我想为 RenderDoc 识别的渲染通道定义一些调试标记。
我使用 GLEW 并尝试使用 glPushGroupMarkerEXT/glPopGroupMarkerEXT 来定义这些标记,但是当我调用 glPushGroupMarkerEXT 时,我遇到了访问冲突,所以我想提供该功能的扩展没有加载。我还尝试检查扩展GL_EXT_debug_marker是否使用 glewIsSupport 可用,但返回 false。
此功能不受支持还是我没有正确使用它?或者有没有其他方法可以实现这一目标?
EXT_debug_marker不是
您要使用的扩展名。它很古老,从未得到过广泛的支持。它的功能被吸收到KHR_debug中,得到了更广泛的支持,并且自 4.3 年以来(又名:5+ 年前)以来一直是 OpenGL 的核心。
现在,调试标记功能在两者之间是不同的。KHR_debug使标记成为另一种用户定义的调试通知。因此,在调用glInsertEventMarkerEXT
的地方,您可以调用更通用的glDebugMessageInsert
,使用GL_DEBUG_TYPE_MARKER
作为消息的类型。在你使用 glPush/PopGroupMarkerEXT
的地方,你改用 glPush/PopDebugGroup
,它用于任意范围。此类分组不使用标记类型;它们使用GL_DEBUG_TYPE_PUSH/POP_GROUP
类型,以便您可以区分分组和标记。
相关文章:
- 创建进行生产构建并创建调试信息的C++生成文件的最佳方法?
- 在qt创建器中调试时如何访问字符串变量的完整值?
- 我能否通过 JNI 调试在本机代码中创建的 JVM?
- 如何在 OpenGL 中创建调试标记
- 如何为String_view创建(VC14)调试可视化器
- 由procexp(MS process explorer)创建的VC10调试转储文件-只有堆栈信息,没有变量值
- 创建对象时调试断言失败
- 在 QT 创建器"This does not seem to be a Debug build."中调试
- Qt Creator在指定的调试文件夹中创建调试和发布文件夹
- 如何在 c++ 中创建一个可调试的文件作用域(静态?)类
- C++-创建虚拟函数以打印调试消息的最佳方式
- gdb在调试中的应用程序崩溃时创建一个文件
- 如何在没有调试符号和优化的情况下创建 cmake 构建配置
- QCreator:如何创建调试构建配置
- 在调试器中创建 std::string
- 为什么Qt在Qt内部运行时或调试时不会创建文本文件,而是直接从调试文件夹创建文本文件
- 与 CUDA 库链接时无法在 Qt 创建器下调试 cpp 代码
- 为什么每当我创建一个新的C++项目时,Eclipse都默认为调试模式
- 我们是否需要添加调试/发布文件夹中的文件来在Visual Studio中创建安装程序
- 调试.NET应用程序创建的COM对象