我以前在Ubuntu上使用GLFW时遇到了OpenGL问题,但通过使用glfwWindowHints()方法设法解决了这个问题。 Link供参考。GLFW - 无法编译片段着色器
现在,我偶然发现了另一个错误,这次与片段着色器有关。
Failed to compile fragment shader!
0:60(12): error: `gl_FragColor' undeclared
0:60(2): error: no matching function for call to `mainImage(error, vec2)'; candidates are:
0:60(2): error: void mainImage(vec4, vec2)
下面是命令glxinfo | grep OpenGL
的输出:
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 13.1.0-devel - padoka PPA
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 13.1.0-devel - padoka PPA
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 13.1.0-devel - padoka PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
在我的着色器的文件,我已经定义版本#version 450 core
。
我在其他地方的论坛上看到0:60(12): error: 'gl_FragColor' undeclared
中的(12)表示版本1.2,但我不确定这是否正确。
shader.frag - PasteBin
shader.vert - PasteBin