Hi All,
I’m just getting started with GLUT and I’m simply trying to run the first tutorial program in the OpenGL Programming Guide Redbook. The example is the window that draws a white rectangle and black background (Example 1.2).
The program crashes on the call to:
glutCreateWindow (“hello”);
The break references this line in glut.h (line 503):
static int APIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }
I’m running Vista Ultimate 64-bit.
I’m new to GLUT and OpenGL and have no idea what’s wrong… Please help!
Anthony
Here’s the code:
#include <windows.h>
#include <gl/glut.h>
#include <gl/gl.h>
void display(void)
{
/* clear all pixels */
glClear (GL_COLOR_BUFFER_BIT);
/* draw white polygon (rectangle) with corners at
- (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0)
*/
glColor3f (1.0, 1.0, 1.0);
glBegin(GL_POLYGON);
glVertex3f (0.25, 0.25, 0.0);
glVertex3f (0.75, 0.25, 0.0);
glVertex3f (0.75, 0.75, 0.0);
glVertex3f (0.25, 0.75, 0.0);
glEnd();
/* don’t wait!
- start processing buffered OpenGL routines
*/
glFlush ();
}
void init (void)
{
/* select clearing (background) color */
glClearColor (0.0, 0.0, 0.0, 0.0);
/* initialize viewing values */
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}
/*
- Declare initial window size, position, and display mode
- (single buffer and RGBA). Open window with “hello”
- in its title bar. Call initialization routines.
- Register callback function to display graphics.
- Enter main loop and process events.
/
int main(int argc, char* argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (250, 250);
glutInitWindowPosition (100, 100);
glutCreateWindow (“hello”);
init ();
glutDisplayFunc(display);
glutMainLoop();
return 0; /* ISO C requires main to return int. */
}