2017-10-12 10 views
-1

저는 이클립스 모양의 오브젝트를 그리려고하므로 구를 사용하고 필요에 따라 크기를 조정했습니다. 다음 코드로이 이클립스 모양의 객체를 회전하려고 시도하지만 움직이지 않을 것입니다 (또는 적어도 부각처럼 보이지는 않습니다). 나는 다른 3D 모양으로 간단히 변경하여 테스트했으며 회전했습니다. 내가 뭘 잘못하고 있니? SolidSphere와 다른 점은 무엇입니까?opengl로 스케일 된 구체 회전하기

glPushMatrix(); 
    glTranslatef(subx, suby + y, subz); 
    glScalef(9.0, 1.75, 1.75); 
    glRotatef(angle, 0, 1, 0); 
    glTranslatef(-subx, -suby, -subz); 
    glTranslatef(subx, suby, subz); 
    glutSolidSphere(1.0, 50, 50); 
glPopMatrix(); 
+2

"회전"을 "스케일"전에 이동하면 문제가 해결됩니까? – undeadherbs

+0

@undeadherbs 예! – rafvasq

+1

문제는 구체가 여전히 구형 인 동안 구를 회전시킨 다음 그것을 구부리는 것이 었습니다. – undeadherbs

답변

0

위에서 지적한 바와 같이 논점에서 지적한 바와 같이 문제는 내가 그것을 펼치기 전에 구형을 회전시키고 있다는 것이 었습니다. 확장 후 회전하여 문제가 해결되었습니다.

glPushMatrix(); 
    glTranslatef(subx, suby + y, subz); 
    glRotatef(angle, 0, 1, 0); 
    glScalef(9.0, 1.75, 1.75); 
    glTranslatef(-subx, -suby, -subz); 
    glTranslatef(subx, suby, subz); 
    glutSolidSphere(1.0, 50, 50); 
glPopMatrix();