저는 3 차원 공간에 비행기를 가지고 있으며 다른 곳으로 옮기고 싶습니다. 그래서 glTranslate를 사용합니다.C++ OpenGL은 glTranslatef 후에 새로운 버텍스 위치를 얻습니다.
플레인 정점 데이터는 (0,0,0), (1,0,0), (1,1,0) 및 (0,1,0)입니다. glTranslatef (2.0, 0.0, 0.0)를 사용하여 객체를 (2,0,0)의 위치로 변환합니다.
번역 후 점 데이터가 변경되지 않으므로 평면과 충돌하려면 시각적 위치가 실제 위치가 아닙니다.
MODELVIEW_MATRIX에서 포인트 데이터를 얻는 방법이 있습니까, 아니면 적어도 glTranslate 이후에 새로운 값이 무엇인지 알아낼 방법이 있습니까?
실제 값을 2.0으로 추가하여 응답하지 마십시오. 왜냐하면 glRotate 등을 사용하고 싶다면 무엇 때문에 포인트 값 위치를 원하기 때문입니다.
실제 값에 2.0을 추가해야합니다. 객체를 회전 시키려면,'glTranslate'를 사용하여 객체를 원점으로 옮기고,'glTranslate'를 다시 움직이면됩니다. – molbdnilo