我可以向右、向左、向上和向下操作屏幕。这样做时,我的 glTranslate 是 -> glTranslate(x,y,z) 当我按下按钮时相应地发生变化。但是,我想绘制圆柱体的 3d 锥顶(如火箭形状)。当我这样做时,它们正在交织在一起。这里我如何移动它:
if (keys[VK_UP])
{
y -= 0.02f;
}
if (keys[VK_DOWN])
{
y += 0.02f;
}....
这部分是我绘制形状的地方:
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glMatrixMode(GL_MODELVIEW);
glTranslatef(x, y, z);
gluLookAt(7, 1, -3, //< eye position
0, 0, 0, //< aim position
0, 1, 0); //< up direction
一个圆锥:
glColor3f(1, 0, 0);
glBegin(GL_POLYGON);
GLUquadricObj* obj1 = gluNewQuadric();
gluCylinder(obj1, 1.0, 0, 2, 30, 30);
glEnd();
在圆柱体顶部:
glLoadIdentity();
glTranslatef(x+2, y-0.01, z);// here I tried to move a little, but they still look separated when I move it.
gluLookAt(7, 1, -3,
0, 0, 0,
0, 1, 0);
glColor3f(0, 1, 0);
glBegin(GL_POLYGON);
GLUquadricObj* obj = gluNewQuadric();
gluCylinder(obj, 1.0, 1, 3, 30, 30);
glEnd();
我能做些什么呢?(我希望它们在我按键时同步移动)