누구나 2 객체 (예 : 큐브와 구)를 원점 (0, 0, 0)으로 그리는 법을 가르쳐 줄 수 있습니다. 큐브를 움직이면 구가 원점에 그대로 남아 있습니다. . 구체를 움직이는 것과 마찬가지로 큐브는 .. keyboardfunc를 사용합니다.opengl 객체 이동/switch 문
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 값을 인쇄하여 예상 한 값인지 확인하십시오. –
그 값은 (0, 0, 0)으로 추측됩니다 ... 하지만 내 코드로는 둘 다 동시에 이동합니다. –