为什么不能定义OpenGL着色器功能?

时间:2013-12-11 03:26:10

标签: c++ opengl mingw shader

我有着色器和openGL的问题。每当我尝试使用它们(甚至像glCreateShader或glCreateProgram这样的简单函数)时,我的编译器(MinGW 4.6.1)告诉我它们还没有被定义。

即使GLEW也无法正确编译。显然,编译器不了解GLchar,例如。

另一方面,几乎所有其他重要的OpenGL功能(与着色器无关)似乎运行良好而没有任何问题。奇怪的是,当我查看gl.h等时,我看不到定义的着色器函数,所以也许编译器是正确的。我可以拥有OpenGL标题的拙劣副本,还是我可能做错了什么?

1 个答案:

答案 0 :(得分:0)

GLEW是你的直接问题。首先使用它,然后你可以看到更新的OpenGL扩展。着色器函数不在gl.h中。我无法让GLEW自己建立,但确实让GL3W工作。我发现我无法在gl3w.h之前放置freeglut.h,并且必须在freeglut.h之前包含stdlib.h。我发现opengl-tutorial组织的教程对于开始使用着色器很有帮助。