安东的OpenGL你好三角形教程上的黑屏



我是OpenGL的新手,开始使用Anton的OpenGL教程进行学习。我完成了"Hello Triangle"教程,并使用以下g++命令进行了无错误编译:

g++ -o hello_triangle main.c -lGLEW -lglfw -lGL -lX11 -lXxf86vm -lXrandr -lpthread -lXi -lm

然而,无论是在我的代码中还是在图书存储库的代码中,系统窗口都只显示一个黑屏。

glGetString(GL_RENDRER)和glGetString的输出如下:

Renderer: Mesa DRI Intel(R) Sandybridge Mobile  
OpenGL version supported 3.0 Mesa 11.0.6

黑屏的原因可能是什么?

如果要检查代码,只需查看"00_hello_triangle"代码即可。

正如@gnimuc键所建议的,当我更改着色器代码中的版本时,顶点和碎片着色器都起作用:

const char* vertex_shader =
    "#version 130n"
    "in vec3 vp;"
    "void main () {"
    " gl_Position = vec4 (vp, 1.0);"
    "}"; 
const char* fragment_shader =
    "#version 130n"
    "out vec4 frag_colour;"
    "void main () {"
    " frag_colour = vec4 (0.5, 0.0, 0.5, 1.0);"
    "}"; 

我将"#版本150"更改为"#版本130",并正常工作

最新更新