OpenGL在进行坐标变换时有三个矩阵
在变换开始时,观察者坐标为世界坐标的原点(0,0,0),他看向 -z 方向
模型矩阵 描述模型在世界坐标系下的变换,矩阵为A
视图矩阵 描述观察者在世界坐标系下的变换,矩阵为B
投影矩阵 将模型相对于观察者的坐标变换成一个视口的坐标(-1,-1)到(1,1),矩阵为C
整个过程就是
C * B * A * Position
A * Position 表示的是原来的模型在世界坐标系下,进行平衡、旋转、缩放以后的模型在世界坐标系中的坐标
B * A * Position 表示的是模型变换后,观察点进行平移、旋转后,模型相对于观察点的坐标
C * B * A * Position 表示的是模型在一个矩形内的坐标,这个矩形将对应屏幕上的一个矩形