Crash af meget simpelt openGL program med depth buffer
Hej eksperterNår jeg kører følgende meget simple program crasher det. Jeg kører windows XP og bruger Borland 5.5 compileren. Jeg mener at det kan have noget at gøre med min depth buffer, da den ikke crasher uden.
Mvh. Kezzelski
#include <windows.h>
#include <stdio.h>
#include <gl/glut.h>
void init ( void )
{
glClearColor ( 0.0, 0.0, 0.0, 0.0 );
glEnable(GL_DEPTH_TEST); // Enables Depth Testing
}
void display ( void )
{
glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glPushMatrix ( );
glLoadIdentity();
glTranslatef ( 0.0, 0.0, -1.5 );//zoom out to look at center
glBegin(GL_QUADS);
glColor3f(1.0, 0.0, 1.0);
glVertex3f(0.5,0.5,0.5);
glVertex3f(0.5,-1.0,0.5);
glVertex3f(-1.0,-1.0,0.5);
glVertex3f(-1.0,0.5,0.5);
glColor3f(1.0, 1.0, 0.0);
glVertex3f(1.0,1.0,0.0);
glVertex3f(1.0,-0.5,0.0);
glVertex3f(-0.5,-0.5,0.0);
glVertex3f(-0.5,1.0,0.0);
glEnd();
glPopMatrix ( );
glutSwapBuffers ( );
}
void reshape(int w, int h)
{
printf("reshaping...\n");
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 ( );
}
int main ( int argc, char **argv){
//Setup OpenGL
glutInit ( &argc, argv );
glutInitDisplayMode ( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize ( 256, 256 );
glutCreateWindow ( argv[0] );
init ( );
//Register callback functions for openGL
glutReshapeFunc ( reshape );
glutDisplayFunc ( display );
glutMainLoop ( ); //Enter the mainloop
return 0;
}