如何定义glutWireCube的起始位置?

时间:2015-04-16 03:56:49

标签: c++ graphics glut

我对编程很新,所以我可能不会使用正确的术语。我试图用glutwirecubes创建一只狗,但是我无法弄清楚如何定义后腿的起始位置,我也无法弄清楚如何关闭我的肩膀之间的空间'和肘部'。我通过按键分配了每个身体部位。我也意识到我使用glPushMatrix和glPopMatrix可能不正确,因为我不完全理解如何保存/加载矩阵堆栈。

    glPushMatrix();
glTranslatef(-1, 0, 0);
glRotatef((GLfloat)body,1, 0, 0);//sets rotations about x,y,z axis
glTranslatef(1, 0, 0);
glPushMatrix();
glScalef(2.0, 0.4, 0.5);//sets dimensions of cube
glutWireCube(2.0);//sets scale of wire cube
glPopMatrix();

glPopMatrix();

glPushMatrix();
glTranslatef(-1, 0, 0);
glRotatef((GLfloat)shoulder, 0, 0, 1);//sets rotations about x,y,z axis
glTranslatef(1, 0, 0);
glPushMatrix();
glScalef(1.5, 0.4, 0.5);//sets dimensions of cube
glutWireCube(.75);//sets scale of wire cube
glPopMatrix();

glTranslatef(1,0,0);
glRotatef((GLfloat)elbow,0,0,1);//sets rotations about x,y,z axis
glTranslatef(1,0,0);
glPushMatrix();
glScalef(1.5,0.4,0.5);//sets dimensions of cube
glutWireCube(.75);//sets scale of wire cube
glPopMatrix();

glPopMatrix();
glutSwapBuffers();

图片是我的目标,但我的立方体总是水平开始。

glut sample

1 个答案:

答案 0 :(得分:0)

以前使用glTranslate,就像它的朋友一样!

例如,您可能会翻译,以便中心位于角落,以便您的旋转围绕此新手柄旋转。