I have compiled the tutorials, but it fails at startup. What’s going on ?
Several possible reasons :
Incompatible GPU/OS
Please check if you have an Intel card. You can do so using glewinfo, GPU Caps Viewer, or any other tool.
Intel cards, except recent HD4000, don’t support OpenGL 3.3. As a matter of fact, most only support OpenGL 2.1. You have to download the 2.1 version from the Downloads page instead.
The other possible reason is that you’re on a Mac, with a pre-Lion version. Same stuff applies…
Wrong working directory
Chances are that you don’t run them from the right directory. Try double-clicking on the .exe from the explorer.
See Tutorial 1 for configuring the IDE so that you can debug the executable.
No VAO
If you created a program from scratch, make sure you created a VAO :
GLuint VertexArrayID; glGenVertexArrays(1, &VertexArrayID); glBindVertexArray(VertexArrayID);
GLEW bug
GLEW has a bug which make it impossible to use a core context (except when you use the source code from the tutorials, which has been fixed). 3 solutions:
- Ask GLFW for a Compatibility Profile instead:
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);
- Use glewExperimental; this is the recommended way:
glewExperimental = true;
- Actually fix glew… See this patch.
CMake
You did read Tutorial 1, right ? You didn’t try to write your own makefile and build everything yourself, RIGHT ?
Why should I use OpenGL 3.3 if Intel and Mac can’t run it ?!
(not actually a FAQ, but worth being discussed)
As a matter of fact, I don’t recommend using OpenGL 3.3 for an application. I use it in the tutorials because it’s the clean way to learn OpenGL, without all the deprecated stuff, and because once you know 3.3, using 2.1 is straighforward.
What I recommend is :
- Learn in OpenGL 3.3 so that you know the “right way”
- Set a target hardware for your application. For instance, require FBOs and GLSL.
- Use GLEW to load all the extensions. At startup, refuse all hardware which hasn’t the required functionality level.
- From now on, you can code almost like if you were on 3.3, with only a few changes.
- If you really want to deal with older/cheaper hardware , you can still deal with them by disabling effects which require FBOs, for instance.
I’ve got error “Unable to start program ALL_BUILD”
ALL_BUILD is just a helper project generated by CMake; it’s not a real program.
As stated in Tutorial 1, you have to select the project you want to run by right-clicking on a project (from inside Visual) and select “Set up as startup project”, like this :
I’ve got a message about the working directory, and the program crashes.
You have to start the program from tutorial01_first_window/, tutorial02_red_triangle/, etc. If you start the program from your IDE, you have to configure it from him to do so.
Please read Tutorial 1 for details.
About sending e-mails…
Sending an e-mail to contact@opengl-tutorial.org is the most effective way to get support. However, if you have a problem, please include as much information as you can. This means at least :
- OS : Gentoo ? Windows XP ? … (remember : use the 2.1 port if you have a mac !)
- 32 bits or 64 bits ?
- Graphic card : NVIDIA ? AMD ? Intel ? S3 ? Matrox ? (remember : use the 2.1 port if you have an integrated GPU !)
… and optionally any other information you can find useful. This may include :
- GPU Driver version
- Call stack
- screenshots
- console output
- minidump…

English