2013-10-11 4 views
0

X 축에서 A에서 B로 오브젝트가 이동 했으므로 오브젝트로부터 멀리 떨어져있는 오브젝트가 없습니다. 이제, 움직이는 동안 나는 y 축 주위로 회전시키고 모션은 적절하게 변화해야합니다. 즉, -x에서 + x 축으로 이동할 때 오른쪽으로 회전하면 z 방향의 가까운 평면을 향해 이동해야합니다. . 나는 투시 투영법을 사용하고있다. 나는 그 gltranslatef 변수를 glscalef 계층 적 구조로 만들어진 전체 개체의 크기를 조정할 수있는 후 루프에서 수정할 수 있습니다. 이제 예상 된 결과를 얻기 위해 다음 코드를 시도했지만 제대로 작동하지 않습니다.중심에서 3D 오브젝트 회전

glTranslatef(move, 0, 0); 

// If I comment these 3 lines, it does not affect the output 
    glTranslatef(-move, 0, 0); 
glRotatef(rotate,0,1,0); 
glTranslatef(move, 0, 0); 

glScalef(0.2, 0.2, 1.0); 
+0

더 이상 사용되지 않는 함수를 사용해서는 안되며,이 4 가지 함수는 모두 더 이상 사용되지 않습니다. 이러한 작업을 수행하는 새롭고 나은 방법을 배우십시오. – Vallentin

+0

위의 호출을 사용하여 구현해야 함 – debonair

답변

0

설명이 정확하지 않습니다. 한편으로 y 축을 중심으로 회전시키는 것을 언급합니다. 반면에 그것은 가까운면쪽으로 움직여야합니다.

중요한 질문은 다음과 같습니다. 어떻게 프로젝션 매트릭스를 설정 했습니까? 일반적으로 코드에서 성취하려고 시도하는 것이 그렇게 좋지는 않습니다. 그러나 직교 투영 행렬을 설정할 수도 있습니다.

+0

업데이트 된 질문 .. – debonair

+0

그래서 달성하려고하는 것은 다음과 같습니다. x 축을 따라 이동하지만 왼쪽에서 오른쪽으로 이동할 때 카메라에 더 가까이 접근 할 수있는 drawable이 있습니다. ? 그렇지 않은 경우 카메라가 가리키는 곳은 어디입니까? – 1FpGLLjZSZMx6k

+0

내 카메라가 z를 따라 있습니다. 당신이 길을 가고 있다고 가정하고 그 방향으로 계속 돌아가고 싶습니다. – debonair