任何人都可以教我如何在原點(0,0,0)繪製2個對象,例如一個立方體和一個球體,當我移動該立方體時,球體只保留在原點。與移動球體相同,立方體保持不變。 使用keyboardfunc。opengl物體移動/開關語句
if (!LightSwitch)
{
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glPushMatrix();
glTranslatef(CubeX, CubeY, CubeZ);
glColor3f(1.0, 0.0, 0.0);
glPushAttrib(GL_LIGHTING_BIT | GL_CURRENT_BIT);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, Green);
glutSolidCube(2.0);
glPopAttrib();
glPopMatrix();
glEnd();
}
if (!LightSwitch1)
{
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT1);
glPushMatrix();
glTranslatef(AxisX, AxisY, AxisZ);
glColor3f(1.0, 0.0, 0.0);
glPushAttrib(GL_LIGHTING_BIT | GL_CURRENT_BIT);
glMaterialfv(GL_FRONT_AND_BACK, GL_DIFFUSE, Blue);
glutSolidSphere(2.0, 10.0, 5.0);
glPopAttrib();
glPopMatrix();
}
glEnd();
glEnd()是不必要的,但否則您的繪圖代碼似乎沒問題。問題可能在其他地方。你打印了CubeXYZ和AxisXYZ的值以確保它們符合你的期望嗎? – 2013-02-20 15:11:55
這些值是(0,0,0)這是我猜測的原點..但是用我的代碼,它們都在同一時間移動 – 2013-02-20 15:32:09