3
저는 2D로 작업 중이며 한 객체 주위의 모든 객체 (객체 포함)를 회전시키고 하나의 객체를 화면 중앙에 유지하려고합니다.OpenGL은 화면 중앙에 유지하면서 객체를 회전합니다.
여기 세상을 변화시키는 내 현재 코드, 모든 렌더링은 나중에 수행됩니다
얼굴을하고 HH는 반 폭과 화면의 높이입니다. p는 객체 좌표입니다.
float hw = 400;
float hh = 300;
float x = hw - p.x;
float y = hh - p.y;
glTranslatef(x, y, 0);
glTranslatef(-hw, -hh, 0);
glRotatef(level->angle, 0, 0, 1);
glTranslatef(hw, hh, 0);
그러나 예상대로 작동하지 않습니다. 어떤 도움을 주시면 감사하겠습니다.
장면의 일부분 만 회전하려면, 매트릭스 스택을 누르고 해당 부분을 렌더링 한 다음 스택을 팝하십시오? 어떤 코드를 실제 코드로 보여주고 싶을 수도 있습니다. – pmr
아마 내가 명확하지 않다, 나는 물체의 중심 주위의 물체를 포함하여 물체를 포함한 모든 물체를 화면 중앙에두고 회전시키고 싶다. 나는 스크린의 중앙에 그것을 얻을 수있다, 그렇지만 내가 회전 할 때 그 장소에 머물러있게 할 수는 없다. –