PDA

View Full Version : newbie openGL question



stalwyn
09-02-2005, 01:09 AM
Hi there. Iím trying to get back to doing some openGL programming but have come across a rather annoying and confusing problem

After I compile a program Iíve written (Borland bcc32 if thatís important) and try to run the .exe, I get a ' test1.exe has encountered a problem and needs to close. We are sorry for the inconvenience' error with windows asking if I want to send an error report (to whoÖ me?). I assumed it was my programming ineptitude so I tired opening a simple exe (just opens a blank window) and the same error pops up. I donít know what to do.

Any help you guys could give would be great.

Hereís the code. Itís as simple as I could make it to test that opengl works

#include <windows.h>
#include <GL/glut.h>
#include <stdio.h>
#include <stdlib.h>

void init ( void ) {
glEnable ( GL_DEPTH_TEST );
glClearColor ( 0.0, 0.0, 0.0, 0.0 );
}

void display ( void ) {
glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glutSwapBuffers ( );
}

void reshape(int w, int h) {
glViewport ( 0, 0, w, h );
glMatrixMode ( GL_PROJECTION );
glLoadIdentity ( );
if ( h==0 )
gluPerspective ( 80, ( float ) w, 1.0, 5000.0 );
else
gluPerspective ( 80, ( float ) w / ( float ) h, 1.0, 5000.0 );
glMatrixMode ( GL_MODELVIEW );
glLoadIdentity ( );
}

void keyboard ( unsigned char key, int x, int y ) {
switch ( key ) {
case 27: /* Escape key */
exit ( 0 );
break;
case 'f':
glutFullScreen ( );
break;
case 'w':
glutReshapeWindow ( 250,250 );
break;
default:
break;
}
}

int main ( int argc, char** argv ) {
glutInit ( &argc, argv );
glutInitDisplayMode ( GLUT_RGB | GLUT_DOUBLE );
glutInitWindowSize ( 250, 250 );
glutCreateWindow ( argv[0] );
init ( );
glutReshapeFunc ( reshape );
glutKeyboardFunc ( keyboard );
glutDisplayFunc ( display );
glutMainLoop ( );
return 0;
}

Cheers.

Hlz
09-02-2005, 07:00 PM
I don't use borland, so I can't speculate on problem areas in your environment. But the code you posted shouldn't generate any runtime exceptions.

It seems there are others that are having trouble with borland and opengl...
http://www.gantless.com/borland.html

P.S. You need to specify a depth buffer if you want to use the depth test (GLUT_DEPTH).

stalwyn
09-03-2005, 02:06 AM
Thanks for that. Sorted it out myself yesterday. I stupidly put the *.dll's in c:\windows\system when they should have been in c:\windows\system32, so borland couldnt find them i guess.