I'm using windows and I notice that a lot of functions are grayed out because I guess #ifdef GL_GLEXT_PROTOTYPES is not defined. One of these is the VBO extension. Should I just define GL_GLEXT_PROTOTYPES? Otherwise how else can I use VBOs since im using OpenGL32.dll (I want my application to have no dll dependencies not included in Windows by default.) Thanks
+1
A:
Yes, it's quite normal and expected to have something like:
#define GL_GLEXT_PROTOTYPES
#include <GL/GL.h>
If you're trying to write OpenGL 3 compliant code, you'd normally change that to:
#define GL_GLEXT_PROTOTYPES 1
#define GL3_PROTOTYPES 1
#include <GL3/GL3.h>
Jerry Coffin
2010-06-13 16:38:11
Now I get linker errors, any lib i need to include other than opengl32?
Milo
2010-06-13 23:09:10
A:
I recommend that you use GLEW to get rid of that problem.
It's a long story, but resuming, Windows' OpenGL library only exposes OpenGL 1.1 entry points, so all functions beyond that version are loaded with wglGetProcAddress. GLEW solves this problem by doing that.
Just link to GLEW and GLU/GLUT (if you use them).
Matias Valdenegro
2010-06-14 16:47:18