glGenTextures分段错误?

时间:2012-11-02 12:01:07

标签: c++ linux opengl segmentation-fault video-card

所以这是问题所在: 当我调用 glGenTextures 时,我会遇到分段错误。

我在linux上,这是我目前用于调查此问题的代码:

#include <iostream>
#include <SDL/SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>

int main(int argc, char *argv[])
{
    GLuint texture;
    glGenTextures( 1, &texture );
    return texture;
}

看起来很简单吧? 好吧,我用GDB(GNU调试工具)追踪了段错误,当我在文件 /usr/lib/mesa/libGL.so.1中调用 glGenTextures()时就会发生这种情况。 / em>的

这是我的视频驱动程序的openGL代码......

有什么想法吗?

2 个答案:

答案 0 :(得分:10)

显示的代码没有做任何设置有效OpenGL context的操作,因此无法使用OpenGL。

如何做到这一点因平台而异。如果您不想深入了解目标平台的这种做法,可以使用类似GLFW之类的东西来实现它,但当然这会增加依赖性。

答案 1 :(得分:1)

当用户“放松”时,你需要初始化你的OpenGL上下文。你可以在没有3Dparty库的情况下做到这一点 - 查看这个NeHe示例:http://nehe.gamedev.net/tutorial/texture_mapping/12038/

希望这有帮助。