#include
<
windows.h
>
#include < GL / glut.h >
#include < math.h >
#include < stdlib.h >
void InitGL(GLvoid)
{
glClearColor( 1.0 , 1.0 , 1.0 , 1.0 );
}
void triangle( void )
{
glBegin(GL_TRIANGLES);
glColor3f( 1.0 , 1.0 , 0.0 );
glVertex2f( 10.0 , 10.0 );
glColor3f( 0.0 , 0.3 , 1.0 );
glVertex2f( 20.0 , 30.0 );
glColor3f( 1.0 , 0.0 , 0.0 );
glVertex2f( 30.0 , 10.0 );
glEnd();
}
void DrawScene()
{
int i;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef( 10.0 , 100.0 , 0.0 );
triangle();
glPopMatrix();
for (i = 0 ;i < 5 ;i ++ )
{
glRasterPos2i( 20 + i * 30 , 10 + i * 5 );
glCopyPixels( 50 , 200 , 500 , 500 ,GL_COLOR);
}
glPopMatrix();
glFlush();
}
void ReShape( int w, int h)
{
glViewport( 0 , 0 ,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (w <= h)
gluOrtho2D( 0.0 , 150 , 0.0 , 150.0 * (GLfloat)h / (GLfloat)w);
else
gluOrtho2D( 0.0 , 150.0 * (GLfloat)w / (GLfloat)h, 0.0 , 150.0 );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
int main( int argc, char ** argv)
{
glutInit( & argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize( 500 , 400 );
glutInitWindowPosition( 100 , 100 );
glutCreateWindow( " OpenGL " );
InitGL();
glutReshapeFunc(ReShape);
glutDisplayFunc(DrawScene);
glutMainLoop();
return 0 ;
}
#include < GL / glut.h >
#include < math.h >
#include < stdlib.h >
void InitGL(GLvoid)
{
glClearColor( 1.0 , 1.0 , 1.0 , 1.0 );
}
void triangle( void )
{
glBegin(GL_TRIANGLES);
glColor3f( 1.0 , 1.0 , 0.0 );
glVertex2f( 10.0 , 10.0 );
glColor3f( 0.0 , 0.3 , 1.0 );
glVertex2f( 20.0 , 30.0 );
glColor3f( 1.0 , 0.0 , 0.0 );
glVertex2f( 30.0 , 10.0 );
glEnd();
}
void DrawScene()
{
int i;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef( 10.0 , 100.0 , 0.0 );
triangle();
glPopMatrix();
for (i = 0 ;i < 5 ;i ++ )
{
glRasterPos2i( 20 + i * 30 , 10 + i * 5 );
glCopyPixels( 50 , 200 , 500 , 500 ,GL_COLOR);
}
glPopMatrix();
glFlush();
}
void ReShape( int w, int h)
{
glViewport( 0 , 0 ,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if (w <= h)
gluOrtho2D( 0.0 , 150 , 0.0 , 150.0 * (GLfloat)h / (GLfloat)w);
else
gluOrtho2D( 0.0 , 150.0 * (GLfloat)w / (GLfloat)h, 0.0 , 150.0 );
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
int main( int argc, char ** argv)
{
glutInit( & argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize( 500 , 400 );
glutInitWindowPosition( 100 , 100 );
glutCreateWindow( " OpenGL " );
InitGL();
glutReshapeFunc(ReShape);
glutDisplayFunc(DrawScene);
glutMainLoop();
return 0 ;
}