【问题标题】:OpenGL debugging what is the ID parameter for the error callback function?OpenGL调试错误回调函数的ID参数是什么?
【发布时间】:2018-04-18 08:52:08
【问题描述】:

错误回调函数的documentation 状态:

每次生成调试消息时,将调用与消息关联的sourcetypeidseverity 的调试回调函数,并将length 设置为调试消息的长度其字符串在message指向的数组中。 userParam 将设置为在userParam 参数中传递给最近一次调用glDebugMessageCallback 的值。

来源是指枚举器文档中解释的来源的类型。

类型是指触发回调的事件的类型。

严重性是指错误的严重性。

长度是消息字符串的字节大小。

Message 是指向消息字符串的指针。

UserParam 是用户定义的一些指针,可以是函数、结构、null、内存映射的外围设备...

ID到底是什么?冒犯的对象? (着色器、程序、纹理)

窗口 ID?当前OpenGL上下文的id?

【问题讨论】:

    标签: c++ debugging opengl


    【解决方案1】:

    是消息的标识,详见相关函数glDebugMessageInsert

    id 可用于应用程序定义的用途,并且可以是任何值。该值将被记录并用于识别消息。

    【讨论】:

      【解决方案2】:

      调试输出中的所有 OpenGL 错误都有一个 ID。这与消息类型和严重性一起用于识别特定错误。对于系统生成的错误,ID 是实现定义的。但是,如果错误来自standard OpenGL error,则通常是枚举器错误类别(GL_INVALID_ENUMGL_INVALID_OPERATION 等)。用户创建的消息可以有自己的 ID。

      ID 的重点是能够识别特定的错误消息,从而允许您使用glDebugMessageControl 之类的接口来剔除该特定错误。

      【讨论】:

        猜你喜欢
        • 2010-10-23
        • 2021-04-29
        • 1970-01-01
        • 2020-05-09
        • 2015-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多