glGenBuffers没有定义?

时间:2010-06-13 13:33:02

标签: c++ c opengl

我正在使用Windows,我注意到很多功能都是灰色的,因为我猜#ifdef GL_GLEXT_PROTOTYPES没有定义。其中之一是VBO扩展。我应该只定义GL_GLEXT_PROTOTYPES吗?否则我可以使用VBO,因为我使用的是OpenGL32.dll(我希望我的应用程序没有默认情况下不包含在Windows中的dll依赖项。)谢谢

4 个答案:

答案 0 :(得分:18)

是的,这很正常,预计会有类似的内容:

#define GL_GLEXT_PROTOTYPES

#include <GL/GL.h>

如果您正在尝试编写符合OpenGL 3的代码,通常会将其更改为:

#define GL_GLEXT_PROTOTYPES 1
#define GL3_PROTOTYPES 1

#include <GL3/GL3.h>

答案 1 :(得分:11)

我建议您使用GLEW摆脱这个问题。

这是一个很长的故事,但是恢复,Windows的OpenGL库只暴露OpenGL 1.1入口点,因此除了该版本之外的所有函数都加载了wglGetProcAddress。 GLEW通过这样做解决了这个问题。

http://glew.sourceforge.net/

只需链接到GLEW和GLU / GLUT(如果您使用它们)。

答案 2 :(得分:0)

如果您使用的是Glew OpenGL扩展程序,请确保将其初始化。

glewInit();

否则将什么也没画。

答案 3 :(得分:0)

您可以使用View为您提供glGenBuffers