- 变换图形
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
opengl 开发笔记-矩阵变换
最新推荐文章于 2025-11-05 08:30:00 发布
本文介绍了一个使用OpenGL进行图形变换的示例程序,演示了如何通过平移、旋转和缩放来改变纹理的位置、方向和大小。该程序首先在指定位置绘制原始纹理,随后在同一水平线上展示了旋转60度及放大1.8倍后的效果。
614

被折叠的 条评论
为什么被折叠?



