【发布时间】:2016-12-06 06:04:23
【问题描述】:
有没有办法记录glrotatef() 旋转,以便我可以从中获得方向向量?例如,我在 Y 轴上画了一条线。然后我使用glrotatef() 旋转以使新行变为浅蓝色。旋转功能(据我所知)移动“屏幕”,使一切都旋转。如何获取新的浅蓝色线路的信息?
【问题讨论】:
有没有办法记录glrotatef() 旋转,以便我可以从中获得方向向量?例如,我在 Y 轴上画了一条线。然后我使用glrotatef() 旋转以使新行变为浅蓝色。旋转功能(据我所知)移动“屏幕”,使一切都旋转。如何获取新的浅蓝色线路的信息?
【问题讨论】:
使用 glGet,您可以获得当前的 Modelview 矩阵(用于存储您的所有转换,包括您刚刚进行的旋转)。
GLfloat matrix[16];
glGetFloatv (GL_MODELVIEW_MATRIX, matrix);
然后由您将向量与该矩阵相乘以获得转换后的结果向量。看这里参考:http://mathinsight.org/matrix_vector_multiplication
【讨论】: