Help me run the first program. (i'm beginner)

  1. This is a sample OpenGL program.

  2. I got this error when the console window (black screen) shows:
    freeglut Error: Function <glutDisplayFunc> called without first calling ‘glutInit’

  3. VC++ 2008, WinXP OS, Win32 consolde app project, all libraries installed.

  4. I run OpenGL on VC++2008, i copied glut.h, freeglut.h, …
    Is that right? What should i set up more?


#include <windows.h>
#include <gl/glut.h>

void display()
{
	// 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();
	// start pocessing buffered OpenGL routines
	glFlush();
}

void init()
{
	// select clearing (background) color
	glClearColor(0.0, 0.0, 0.0, 0.0);
	// init viewing values
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
}

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;
}

you do the following steps

1.you put glut32.lib in following path: program Files->Microsoft visual studio 2008->lib-> glut32.lib
2.and also you put program Files->Microsoft visual studio 2008->include->gl->glut.h
3.you put glut32.dll file in windows->system32->glut32.dll