- 变换图形
void display(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); /* 在(10,100)处开始绘制纹理 */ glPushMatrix(); glTranslatef(10,100,0); draw_texture(); glPopMatrix(); /* 在(10+100+30,100)处以图片中心为锚点逆时针旋转60度,绘制纹理 */ glPushMatrix(); glTranslatef(10+100+30,100,0); glTranslatef(100/2,100/2,0); glRotatef(60,0,0,1); glTranslatef(-100/2,-100/2,0); draw_texture(); glPopMatrix(); /* 在(10+100+30+100+80,100)处以图片中心位置为锚点放大1.8倍后,绘制纹理 */ glPushMatrix(); glTranslatef(10+100+30+100+80,100,0); glTranslatef(100/2,100/2,0); glScalef(1.8f,1.8f,1); glTranslatef(-100/2,-100/2,0); draw_texture(); glPopMatrix(); glutSwapBuffers(); glutPostRedisplay(); }
- 编译程序
g++ Transform.cpp -lGLEW -lGL -lGLU -lglut -lpng -o Transform