GLSL Tutorial – OpenGL Setup
Prev: Fragment Shader | Next: Creating a Shader |
This section shows how to load, compile, link, and set the shaders ready for execution. If you’re not ready yet to write your own shaders there are plenty of places to get shaders from the internet, although only a few deal with the latest versions of GLSL. You can also try the examples provided later in this tutorial.
Before we start lets check that at least OpenGL 3.3 is supported. In here, we are going to use GLEW to access this functionality.
#include <GL/glew.h> #include <GL/glut.h> void main(int argc, char **argv) { glutInit(&argc, argv); ... glewInit(); if (glewIsSupported("GL_VERSION_3_3")) printf("Ready for OpenGL 3.3\n"); else { printf("OpenGL 3.3 not supported\n"); exit(1); } setShaders(); initGL(); glutMainLoop(); }
As far as OpenGL goes, setting your application is similar to the workflow of writing a C program. Each shader is like a C module, and it must be compiled separately, as in C. The set of compiled shaders, is then linked into a program, exactly as in C.
The figure bellow shows the necessary steps to create both the individual shaders and the program. In the next subsections these steps are detailed.
Prev: Fragment Shader | Next: Creating a Shader |