Zeb*_*ish 5 c++ opengl debugging graphics
当我使用OpenGL打开调试层时,我会注册一个回调函数,只要有任何注意事项告诉我,就会调用它.似乎并非所有传递给回调的消息都是错误.有一个"OTHER"类别,它似乎只要你做了什么就输出这些消息.在我的情况下,我创建一个VBO:
GLuint VBO_ID;
glGenBuffers(1, &VBO_ID); // The VBO_ID I get back is 3.
glBindBuffer(GL_ARRAY_BUFFER, VBO_ID);
glBufferData(GL_ARRAY_BUFFER, sizeInBytes, vertices, GL_DYNAMIC_COPY);
// At this point the callback is called, which gives the message:
Run Code Online (Sandbox Code Playgroud)
消息:缓冲详细信息:缓冲对象3(绑定到GL_ARRAY_BUFFER_ARB,用法提示是GL_STATIC_DRAW)将使用视频存储器作为源缓冲区对象操作.
无论使用提示是什么(glBufferData的最后一个参数),这条消息总是说用法提示是GL_STATIC_DRAW.无论我是否使用GL_DYNAMIC_COPY,GL_DYNAMIC_DRAW,GL_STATIC_READ,任何东西.消息始终相同.
所以,是的,我真的很困惑.另外,为什么它会给出这个消息,这不是一个警告,因为我没有做错任何事情,这只是一个确认.我已经结束了禁用这个"其他"类别的消息,否则我的日志就会被这些消息填满,因为只要我做某事就会调用它.
小智 1
不用担心那个常量,只需放入 GL_STATIC_DRAW 即可。它是旧 GL 版本的遗留物。您还可以使用 glBufferStorage 来更精确地指定缓冲区的使用情况。
| 归档时间: |
|
| 查看次数: |
1123 次 |
| 最近记录: |