- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
GL_INVALID_OPERATION
is generated ifglLoadIdentity
is executed between the execution ofglBegin
and the corresponding execution ofglEnd
.
GL_INVALID_OPERATION
是
glGetError 返回的标志.
glGetError
(为了知道我们是否以正确的顺序调用 opengl)?
最佳答案
我不确定您的问题是关于何时可以在 glBegin/End 内部调用 glGetError 还是关于 glGetError 使用的更一般性问题。所以我会一一回答。
在 glBegin 和 glEnd 之间可以做的事情非常有限。这是故意的,因为您将 GL 置于非常特定的模式 - 在 Draw 的中间。因此,任何与每个顶点属性没有直接关系的东西都是无效的。甚至 glGetError 在该上下文中也是无效的。尝试将 glBegin+glEnd 之间的所有 GL 调用视为对 GL 的单个 Draw 调用,这有助于更接近 GL 的实际作用。
现在,如果您坚持只调用属性方法(glNormal、glTexCoord、glColor、glSecondaryColor、glIndex、glMultiTexCoord、glVertexAttrib、glVertex 和其他一些方法)的简单规则,则在 Begin/End 对中,您永远不会真正触发 GL 错误)。其他任何事情都会引发错误。 (呃……好吧,glMaterial 有点异常(exception)。它可以工作,但不鼓励使用它)
如果您的问题是在 Begin/End 对内触发错误时何时可以调用 glGetError,ChrisF 在评论中回答:在 glEnd 调用之后。
现在,从更广泛的意义上说,只将 glGetError 用作调试工具。我个人的偏见有两个:
关于opengl - 什么时候应该调用 glGetError?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1963325/
每次调用 OpenGL 函数后,我都会在我的代码中添加 glGetError()。 实际上我不调用 glGetError() 而是调用我编写的函数 ( DisplayGlErrors() ) 来在控制
glLoadIdentity说 GL_INVALID_OPERATION is generated if glLoadIdentity is executed between the executio
我正在尝试调试这个我没有编写的渲染循环。某处出现错误导致程序崩溃,但是 glGetError()似乎表现得很好笑。 这在 iOS 上,我正在使用 GLKViewController , GLKView
背景 在工作中,我们开发了两种产品,它们都具有 OpenGL 3.x+ 和 GLES 2.0/3.0+ 后端。团队是独立的,但确实有一些重叠,我们最近讨论了 glGetError 的性能。 在这两种产
我正在尝试使用glGetError()调试代码,但我注意到每次调用它都会引发错误1282。最终,我连续两行调用glGetError(),两者都给出了错误1282。 它应该在第一次调用后重置错误标志,导
当我搜索 glGetError 时,我发现以下内容(来自 OpenGL) To allow for distributed implementations, there may be several
我正在使用 QT 4.8.4 并在 QGraphicsScene 背景上绘制 OpenGL。问题是我从 glGetError() 中得到无效返回。我的代码片段: while (GLenum err =
这是我记录错误的函数: void check_error(const char* st) { GLenum err(glGetError()); while (err != GL_NO
我试图让 OpenGL ES 2.0 在 Windows 7 上使用(Google 的)Angle 运行,但是无论我把它放在哪里,glGetError() 都会无限返回 GL_INVALID_OPER
我正在使用带顶点和着色器的 OpenGL,屏幕上没有显示任何内容,所以我使用 glGetError 进行调试:我在一个名为 color_array_buffer 的缓冲区上收到错误 1281(错误值)
我正在 Android 上试验一些 OpenGL,之前没有任何 3D 编程经验。所以很明显我在我的程序中犯了很多错误。 当我遇到问题并发现 glGetError 产生错误代码时,我只是在每次调用绘图代
我的项目的纹理生成有一个非常奇怪的问题。第一个 mipmapped 纹理完美无缺,但下一个纹理只能绘制第一级。在调试时,我突然想到了一个修复它的黑客: glGenTextures(1, &textur
你好,我收到“glgeterror 4242512”,我的代码是: if (bUseVBO) { //gl11 GL11 gl11 = (GL11)gl;
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
我使用 GLEW 和 freeglut。出于某种原因,在调用 glewInit() 后,glGetError() 返回错误代码 1280,即使 glewExperimental = GL_FALSE
关于OpenGL的学习,我指的是openglbook .目前在 chapter 2 ,我正在尝试运行其代码 pasted here供引用。 我面临的问题是以下功能: void CreateShader
我在使用 OpenGL 3.3 Core 时遇到一些纹理问题。 如果我使用兼容配置文件,它会完美呈现。我尝试使用 glGetError() 进行调试 它在获取 vao 后返回一个无效的枚举。并在主循环
我是一名优秀的程序员,十分优秀!