- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我搜索 glGetError
时,我发现以下内容(来自 OpenGL)
To allow for distributed implementations, there may be several error flags. If any single error flag has recorded an error, the value of that flag is returned and that flag is reset to GL_NO_ERROR when glGetError is called.
If more than one flag has recorded an error, glGetError returns and clears an arbitrary error flag value. Thus, glGetError should always be called in a loop, until it returns GL_NO_ERROR, if all error flags are to be reset.
Q1:分布式实现和错误标志的定义是什么?总共有多少个错误标志?
问题2:这里的任意是什么意思?
Q3:“glGetError应该总是在循环中调用”意味着在分布式实现的情况下这是强制性的,但如果不,那么我们不需要将glGetError放在循环中,对吧?
其他资源,例如wrap a macro around glGetError
, glGetError
example in the superbible ,都使用循环。
最佳答案
Q1: What is the definitation of distributed implementation and error flag?
分布式实现是指 OpenGL 实现驻留在一台计算机上,而程序在另一台计算机上进行 OpenGL 调用。这甚至不是一个晦涩的、奇异的情况,但在 X11 中很常见。假设您可以通过 SSH 连接到 example.com
,并且那里有一个可用的 OpenGL 程序,例如 glxgears
。然后,您可以在 example.com
上执行 glxgears
,但将 OpenGL 命令通过 GLX 传输传输到本地 X11 服务器。
ssh -X example.com glxgears
… and how many of error flags in total?
OpenGL 规范中定义并在 glGetError
引用中列出的所有错误标记。
Q2: what does arbitrary mean here?
正是字典定义的意思。如果设置了多个错误标志,OpenGL 规范不会强制报告这些错误标志的特定顺序。
Q3: "glGetError should always be called in a loop" means this is compulsory in the case of distributed implementation, but if not, then we do not need to put glGetError in a loop, right?
始终在循环中调用glGetError
,因为您可能最终会在不知情的情况下陷入分布式情况。有 GLX 和间接渲染,但 OpenGL 可能以任何其他方式分发,例如 VirtualGL 或其他方式,您不知道情况如何。
关于opengl - 为什么我们要把 glGetError 放在循环中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36763085/
每次调用 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 后返回一个无效的枚举。并在主循环
我是一名优秀的程序员,十分优秀!