qt的opengl怎么实现模型上下动
1个回答
展开全部
#include<gl/glut.h>#include<windows.h>
void display()
{
float i=0.0,x=-1.0,y;
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity ();
for(i=0;i<10;i++)
{
x=x+0.1;y=0;
glTranslatef(x,y,0);
glBegin(GL_POLYGON);
glVertex2f(-0.2,-0.2);
glVertex2f(-0.2,0.2);
glVertex2f(0.2,0.2);
glVertex2f(0.2,-0.2);
glEnd();
glFlush();
Sleep(1000);
}
}
应该是你translate使用错误,translate使用时应该在绘制矩形之前。
实现物体曲线移动:做一个随时间刷新的命令响应,隔一个刷新时间更新一下物体的坐标。例如做正弦函数移动:
OnTimer
{
xpos=sin(t);
ypos=cos(t);
zpos=tan(t);
t++
gltranslatef(xpos,ypos,zpos);
gldraw*******();//你要绘制的物体
void display()
{
float i=0.0,x=-1.0,y;
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity ();
for(i=0;i<10;i++)
{
x=x+0.1;y=0;
glTranslatef(x,y,0);
glBegin(GL_POLYGON);
glVertex2f(-0.2,-0.2);
glVertex2f(-0.2,0.2);
glVertex2f(0.2,0.2);
glVertex2f(0.2,-0.2);
glEnd();
glFlush();
Sleep(1000);
}
}
应该是你translate使用错误,translate使用时应该在绘制矩形之前。
实现物体曲线移动:做一个随时间刷新的命令响应,隔一个刷新时间更新一下物体的坐标。例如做正弦函数移动:
OnTimer
{
xpos=sin(t);
ypos=cos(t);
zpos=tan(t);
t++
gltranslatef(xpos,ypos,zpos);
gldraw*******();//你要绘制的物体
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询