gpt4 book ai didi

c++ - 动画 glutWireSphere

转载 作者:行者123 更新时间:2023-11-30 04:23:43 27 4
gpt4 key购买 nike

如何让一个线球保持静止而另一个线球平移?

这是我现在的代码:

void animate ()
{
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glMatrixMode (GL_MODELVIEW);
glPushMatrix ();

glColor3f (1.0, 0.0, 0.0);
glutWireSphere (1.0, 20, 20);

glColor3f (0.0, 1.0, 0.0);
glPushMatrix ();
glTranslatef (0, 0.01, 0);
glutWireSphere (0.2, 20, 20);
glPopMatrix ();

glPopMatrix();

glFlush ();
glSwapBuffers ();

glutTimerFunc (10, animate);
}

目前所发生的只是两个球体都是静止的。我想要的行为是让较大的红色球体保持静止,而较小的绿色球体缓慢向上平移。我做错了什么?

最佳答案

这里的问题是您在 y 轴上每帧平移相同的量。您的矩阵设置为标识每一帧,因此您的较小绿色球体始终位于 (0.0,0.01,0.0)

尝试跟踪位置并递增。

static float yPos = 0.0f;

glColor3f (0.0, 1.0, 0.0);
glPushMatrix ();
glTranslatef (0, yPos, 0);
glutWireSphere (0.2, 20, 20);
glPopMatrix ();

yPos += 0.01f;

关于c++ - 动画 glutWireSphere,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13205939/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com