前一阵子,听小西藏说要让物体随心所欲的跟我走。于是就开始了对物体的调教第一步。
首先,作为一个OpenGL菜鸟,我对于glRotatef这种基本函数的理解还不深,碰到了和这个人同样的困难。
Case 1:
某解答:一次调用
glLoadIdentity(); //重置当前Modelview矩阵
glRotatef(x轴, v_x角度)
glRotatef(y轴, v_x角度)
glRotatef(z轴, v_x角度)
glTranslatef(-1.5f, 0.0f, -10.0f);
来完成任务的,
注意这个调用的顺序很重要。
问:这些我都清楚,但是实际情况和我们想象有差别,每一次glRotatef都有积累,第二次glRotatef的时候就是在上次旋转的基础上进行的,所以3个旋转有相关性。
例如:默认的x轴是水平从左到右的,,但是我先来对y轴旋转一个90后,x就是垂直显示器向里了(也就是原来的-z方向),这个时候再执行glRotatef(x轴, v_x角度)的效果就是绕-z旋转的效果,而不是饶原x轴(也就是水平从显示左边到右边)的效果了。