前提条件:讨论范围为右手坐标系,矩阵计算机存储为行主序。
内容:
第一步:依据eye,center,up三个参数构造出视角坐标系的3个轴向
vec3 f( vec3(center-eye)) f=-z轴(即z的反方向)
vec3 s(f^up) s=x轴 (这里up不等于y轴,只是来辅助求出x轴)
vec3 u(s^f) u=y轴
第二步:根据坐标系的3个坐标轴构建出坐标系变换矩阵的旋转分量
Matrix rotation( s[0], u[0], -f[0], 0.0f,
s[1], u[1], -f[1], 0.0f,
s[2], u[2], -f[2], 0.0f,