#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;
}
本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2007/08/28/873591.html,如需转载请自行联系原作者