OpenGL 调试 错误回调函数的 ID 参数是什么?
OpenGL debugging what is the ID parameter for the error callback function?
错误回调函数的文档指出:
每次生成调试消息时,调试回调函数都将使用与消息关联的
source
、type
、id
和severity
调用,length
设置为字符串位于message
指向的数组中的调试消息的长度。userParam
将设置为在userParam
参数中传递给最近对glDebugMessageCallback
调用的值。
源是指枚举器文档中所述的源的类型。
类型是指触发回调的事件的类型。
严重性是指错误的严重性。
长度是消息字符串的大小(以字节为单位)。
消息是指向消息字符串的指针。
UserParam 是用户定义的一些指针,可以是函数、结构、null、内存映射外围设备......
ID到底是什么?冒犯的对象?(着色器、程序、纹理)
窗口 ID?当前 OpenGL 上下文的 id?
调试输出中的所有 OpenGL 错误都有一个 ID。这在消息类型和严重性范围内用于识别特定错误。对于系统生成的错误,ID 由实现定义。但是,如果错误来自标准的OpenGL错误,那么它通常是枚举器错误类别(GL_INVALID_ENUM
,GL_INVALID_OPERATION
等)。可以为用户创建的消息指定自己的 ID。
ID 的要点是能够识别特定的错误消息,从而允许您使用glDebugMessageControl
等接口来剔除该特定错误。
它是消息的标识符,详见相关函数glDebugMessageInsert
:
id
可用于应用程序定义的用途,可以是任何值。将记录此值并用于标识消息。
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- C++部分概念 id:显式模板规范顺序/第一个参数的特殊状态的原因是什么?
- OpenGL 调试 错误回调函数的 ID 参数是什么?
- 函数中的默认"常量<int>向量 &id"参数
- 参数列表太长了,而堆栈大小ID无限和命令大小约为300 kbyte
- 可变模板包扩展参数id
- 作为宏参数的安装类型返回错误:字符串常量之前的预期非限定 id
- 如果父线程 ID 没有作为pthread_create上的参数传入,是否可以从 C/C++ 中的线程中获取父线程 ID?
- "typename qualified-id"引用非类型参数声明中的类型
- 接受c++中的ID号和名称参数
- Objective-C++ 无法使用 MyType * __strong 类型的左值初始化类型 id<...> 的参数,即使它符合协议
- 通过IDispatch公开COM函数的服务器如何区分调用函数而不传递任何ID参数的不同客户端?