Reputation: 18918
I have attempted to start programming with OpenGl using this tutorial, and have the following code so far:
#include <gl/glut.h> // Include the GLUT header file
void display (void)
{
}
int main(int argc, char **argv)
{
glutInit(&argc, argv); // Initialize GLUT
// Set up a basic display buffer (only single buffered for now)
glutInitDisplayMode (GLUT_SINGLE);
glutInitWindowSize (500, 500); // Set the width and height of the window
glutInitWindowPosition (100, 100); // Set the position of the window
// Set the title for the window
glutCreateWindow("Your first OpenGL Window!");
glutDisplayFunc(display);
glutMainLoop();
glClearColor(1.f, 0.f, 0.f, 1.f); // Clear the background of our window to red
return 0;
}
I build and run the project in Eclipse, it compiles all fine, but nothing happens (no windows pop up or anything). Can anybody tell me what I could be doing wrong?
Upvotes: 1
Views: 2661
Reputation: 162319
glutInitDisplayMode (GLUT_SINGLE);
You also need to define the kind of framebuffer format you want, i.e. add a GLUT_RGBA
, at least (and you probably also want a depth buffer). And there are only few cases where one not wants a double buffer. So: glutInitDisplayMode(GLUT_RGBA | GLUT_DEPTH | GLUT_DOUBLE);
Then your display function will not be called, unless you add a glutDisplayFunc(display);
after glutCreateWindow
.
glutMainLoop();
glClearColor(1.f, 0.f, 0.f, 1.f);
glutMainLoop does not return. And even if it did, glClearColor had no effect at that place in the program.
Upvotes: 1