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
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.
http://glew.sourceforge.net/
Just link to GLEW and GLU/GLUT (if you use them).
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>
You can use glad to provide glGenBuffers
for you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With