gpt4 book ai didi

c++ - 如何在 OpenGL 中创建调试标记?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:27:38 24 4
gpt4 key购买 nike

我正在尝试使用 RenderDoc 调试一些 OpenGL 3.3+ 图形代码,我想为渲染过程定义一些可以被 RenderDoc 识别的调试标记。

我使用 GLEW 并尝试使用 glPushGroupMarkerEXT/glPopGroupMarkerEXT 来定义这些标记,但是当我调用 glPushGroupMarkerEXT 时遇到访问冲突,所以我猜提供该功能的扩展未加载。我还尝试使用 glewIsSupported 检查扩展 GL_EXT_debug_marker 是否可用,但返回 false。

此功能不受支持还是我没有正确使用它?或者还有其他方法可以实现吗?

最佳答案

EXT_debug_marker不是您要使用的扩展名。它很旧,是never really widely supported .它的功能被吸收到 KHR_debug ,即 more widely supported自 4.3 以来(又名:5 年多以前),它本身就是 OpenGL 的核心。

现在,两者之间的调试标记功能不同。 KHR_debug 使标记成为另一种用户定义的调试通知。因此,在您调用 glInsertEventMarkerEXT 的地方,您改为调用 more generic glDebugMessageInsert, using the GL_DEBUG_TYPE_MARKER as the message's type。 .在你使用 glPush/PopGroupMarkerEXT 的地方,你 instead use glPush/PopDebugGroup , 用于任意范围。这样的分组不使用标记类型;它们使用 GL_DEBUG_TYPE_PUSH/POP_GROUP 类型,因此您可以区分分组和标记。

关于c++ - 如何在 OpenGL 中创建调试标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54278607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com