正确的想象你在0,1,0或甚至是一个立方体。然后旋转45%(glRotatef),然后向前移动该对象(glTranslate 0,0,10),以便向前移动该对象10。
你如何得到那个物体的位置?
答案 0 :(得分:3)
您可以将变换组合成一个矩阵,然后将其应用于任何点以提供其世界位置。您可以通过查询当前矩阵(应用所有旋转,平移和缩放后)并使用此方法将变换应用于任意点来完成此操作。
请注意,通过使用glRotatef
和glTranslatef`,您使用的是立即模式和旧式API。使用现代OpenGL可以创建矩阵并将它们发送到着色器以应用从对象到世界坐标的变换。通过这种方式,您将拥有用于对象到世界转换的矩阵。
答案 1 :(得分:3)
看起来你想要使用GLu库中的gluProject
函数(OpenGL附带)。