J
Now, Graphics.h header is not available any more. What is the replacement of this header file
Check it out!!!
#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
#include <stdlib.h>
#include <GL/glut.h>
static GLfloat spin = 0.0;
void init( void )
{
glClearColor ( 0.0, 0.0, 0.0, 0.0 );
glShadeModel ( GL_FLAT );
}
void display( void )
{
glClear ( GL_COLOR_BUFFER_BIT );
glPushMatrix ( );
glRotatef ( spin, 0.0, 0.0, 1.0 );
glColor3f ( 0.0, 1.0, 0.0 );
glRectf ( -25.0, -25.0, 25.0, 25.0 );
glPopMatrix ( );
glutSwapBuffers ( ); // Swap Buffers
}
void spinDisplay( void )
{
spin += 2.0;
if ( spin == 360.0 )
spin = 0.0;
glutPostRedisplay ( );
}
void reshape( int w, int h )
{
glViewport ( 0, 0, (GLsizei) w, (GLsizei) h );
glMatrixMode ( GL_PROJECTION );
glLoadIdentity ( );
gluOrtho2D ( -50.0, 50.0, -50.0, 50.0 );
glMatrixMode ( GL_MODELVIEW );
glLoadIdentity ( );
}
void mouse( int button, int state, int x, int y )
{
switch ( button )
{
case GLUT_LEFT_BUTTON:
if ( state == GLUT_DOWN )
glutIdleFunc ( spinDisplay );
break;
case GLUT_RIGHT_BUTTON:
if ( state == GLUT_DOWN )
glutIdleFunc ( NULL );
break;
default:
break;
}
}
void keyhandle( int key, int x, int y )
{
int m = glutGetModifiers( );
if ( key == 4 && m == 4 )
exit ( 0 );
}
int main( int argc, char** argv )
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
glutInitWindowSize( 250, 250 );
glutInitWindowPosition( 250, 200 );
glutCreateWindow( "Rotating Cube" );
init( );
glutDisplayFunc( display );
glutReshapeFunc( reshape );
glutMouseFunc( mouse );
glutSpecialFunc( keyhandle );
glutMainLoop( );
return 0;
}