【发布时间】:2012-10-03 00:06:57
【问题描述】:
我正在尝试创建一个多边形并在释放鼠标按钮时平移/旋转它。
如果我再次使用glBegin 和glEnd 重新绘制整个多边形,我可以做到这一点,但我不确定我是否真的需要这个,因为我已经在屏幕上绘制了一次多边形并且只想使用相同的对象并对其应用旋转/平移。
我在下面放了一个sn-p。
if(state == GLUT_UP){
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glClear(GL_COLOR_BUFFER_BIT);
glPushMatrix();
glRotatef(90,0,0,1);
// glTranslatef(50,-50,0);
/*
glBegin(GL_POLYGON);
glVertex2i (-40,40) ; //Specify li ne - se gme nt ge ometry .
glVertex2i (-30 , -40) ;
glVertex2i (0 , 20) ;
glVertex2i (40 , 35) ;
glEnd() ;
*/
glClear(GL_COLOR_BUFFER_BIT);
glPopMatrix();
glutSwapBuffers();
// glutPostRedisplay();
}
【问题讨论】:
-
您确实需要再次绘制它,除非您只想旋转最后创建的图像,但是您需要在四边形上绘制该图像并旋转它。我认为你应该阅读更多关于 GL 的基础知识,因为你似乎在那里有误解。
-
谢谢。实际上我想使用上次创建的同一张图片。请您解释一下“在四边形上绘制该图片”是什么意思
标签: opengl