- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这是我记录错误的函数:
void check_error(const char* st)
{
GLenum err(glGetError());
while (err != GL_NO_ERROR)
{
cerr << "OpenGL error: " << err << " "<<st<<endl;
err = glGetError();
}
cerr << "?\n";
}
这样称呼:
int _tmain(int argc, char* argv[])
{
check_error("start");
...
}
它不会在其他任何地方调用。
它产生:OpenGL 错误 1282 开始
无限循环。
这是我的包括:
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <gl/glew.h>
#include <gl/glut.h>
#include <GL/glfw3.h>
#include <glm/glm.hpp>
#include <glm/gtc/matrix_transform.hpp>
Visual Studio 2013
最佳答案
这不是一个直接的答案;但是代替您的评论,我的 GL 库中有一个函数:
GLenum
G0::glFlushError () // noexcept
{
GLenum ret = glGetError();
if (ret != GL_NO_ERROR)
{
GLuint finite = 255; // (watchdog count)
GLenum gl_err = ret;
while (gl_err != GL_NO_ERROR && finite--)
gl_err = glGetError();
if (gl_err != GL_NO_ERROR)
G0::terminate("glGetError: reset failed\n");
}
return ret;
}
G0
是我的库的 namespace 。当您想测试最近的 GL 错误并清除它时,需要在 loop 中调用 glGetError
.这是一个“昂贵”的调用,因为它会使管道停滞,因此只能在“设置”代码中或在调试期间使用。
关于c++ - glGetError 无限返回 1282,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31462770/
每次调用 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 后返回一个无效的枚举。并在主循环
我是一名优秀的程序员,十分优秀!