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

Hi Emerald,

I ran this program on my machine (Win XP, NVidia GE Force 8400 GS, VS 2005 Pro, OpenGL 2.0). I created a project and pasted your code in it and it works.

I don’t have freeglut.h, but still it works. I am a beginner myself and have neither used it nor know about it. Do you really need it?

Hope this helps,
Alfred

What is OpenGL 2.0? I should set up it?

Oh yeahhhhhhh!!! This problem lasted 1 month!!! And now i run it successfully!
I will explain for someone who is stuck in the same problem:

I configured VC++ as this guide:
http://thoughtsfrommylife.com/article-748-OpenGL_and_Visual_Studio_Express_2008
… and i can’t run OpenGL in console.

When i remove this item in Additional dependencies:
freeglut.lib
… and it works!!!

=> The above guide is wrong! I’m sorry, so excited ^^.

Anyways, thank you thousand times handsome guys!