OpenGL矩阵变换
OpenGL坐标系分为世界坐标系,屏幕中心为(0,0),它是不会改变的; 模型坐标系,每次变换都会变化;视口坐标系,也就是摄像机的观察坐标系,不会变化
OpenGL的矩阵分为当前矩阵和变换矩阵,当前矩阵存放着当前模型或是绘图区状态信息。变换矩阵是用来执行模型平移、旋转、缩放、透视等操作的矩阵,变换操作通过将
变换矩阵与当前矩阵相乘得到新的当前矩阵,从而生成新的模型绘图状态信息。如果当前矩阵不进行任何操作,也就是原点复位,下一次变换是在上一次的基础上累加的。OpenGL矩阵变换是以模型坐标系为基准,而我们每次变换他就会改变,所以我们要进行复位操作,也就是让模型坐标系与世界坐标系重合
矩阵模式设置:glMatrixMode();设置之后就表示要进行相关的模型、投影、纹理操作。
glLoadIdentity();消除前面的矩阵变换产生的对用户坐标系的影响,栈顶矩阵归位。
glPushMatrix(); 如果我们需要前面那个矩阵,可以把当前矩阵入栈。
浙公网安备 33010602011771号