- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
程序崩溃在 glBindFramebuffer(GL_FRAMEBUFFER, fb);在函数 gen_texture 中
gdb 告诉我“程序收到信号 SIGILL,非法指令。”
void gen_texture(GLuint &color, int width, int height)
{
GLuint fb;
glGenFramebuffers(1, &fb);
glGenTextures(1, &color);
glBindFramebuffer(GL_FRAMEBUFFER, fb);
...
int main(int argc, char **argv)
{
glutInit (&argc, argv);
glutInitContextVersion(4, 3);
glutInitContextProfile(GLUT_CORE_PROFILE);
std::cout << std::hex << glGetError() << "\n" << std::flush;
glutInitDisplayMode (GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowSize (500, 500);
glutCreateWindow ("");
glutDisplayFunc (display);
glutIdleFunc (display);
std::cout << std::hex << glGetError() << "\n" << std::flush;
glewExperimental=GL_TRUE;
GLenum err=glewInit();
if(err!=GLEW_OK)
{
std::cerr << "glewInit fehlgeschlagen, aborting." << std::endl;
}
gen_texture(texture, 100, 60);
...
最佳答案
在这段代码中
GLenum err=glewInit();
if(err!=GLEW_OK)
{
std::cerr << "glewInit fehlgeschlagen, aborting." << std::endl;
}
仅仅因为 GLEW 为初始化返回 OK,这并不意味着所有扩展都已加载。同时检查 glGetError
不会向您报告 GLUT 错误(例如不支持您请求的上下文。在 glGetError
中仅报告 OpenGL 错误(GLUT 不是 OpenGL 的一部分)并且另外必须在循环中调用,直到它返回 GL_NO_ERROR
。
我建议您添加更详细的错误诊断并报告回来。
关于linux - 在 glBindFramebuffer 上签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19620344/
程序崩溃在 glBindFramebuffer(GL_FRAMEBUFFER, fb);在函数 gen_texture 中 gdb 告诉我“程序收到信号 SIGILL,非法指令。” void gen_
我正在将一个在Windows和Android上运行的程序移植到iOS上。以下代码在两个平台上都有效,但在 ios 上,它在执行该代码后停止渲染,我怀疑绑定(bind)永远不会解除绑定(bind),正确
通常此代码将纹理图像渲染到屏幕上。但是,如果我现在将命令 glBindFramebuffer(GL_FRAMEBUFFER,0) 添加到代码中,它将不会渲染任何内容。它以 glClearColor 的
[iPad-3]-[iOS 5.0]-[Objective-C]-[XCode 4.3.3]-[Cocos2D]-[openGL|ES 2.0] 我正在学习如何使用 openGL|ES 2.0 并偶然
我在 GeForce 9800 GTX 上使用 OpenGL 3.3。 3.3 的引用页说,对 glBindFramebuffer 的无效操作指示未从 glGenFramebuffers 返回的帧缓冲
最近我在笔记本电脑上安装了 MonoGame 3.0。我从项目模板中获取了一个新的“MonoGame Windows OpenGL 项目”并尝试运行它,但我得到了这个异常。 Unable to fin
我是一名优秀的程序员,十分优秀!