本文是《从0开始图形学》笔记的第八章,将对相机进行变换,实现不同角度查看模型的功能,结果如下图。本章内容会使用到同系列教程中的前面内容。
问题引入
回顾前面的几章,我们一直将关注点放在模型的处理上,而我们的相机在世界坐标系中一直是固定不变的,这个“固定不变”有两个方面:一个是位置,一个是朝向。所以我们一直是直接使用模型数据的坐标进行渲染计算。
然而,相机作为观察的主角,它不应该,也不可能一成不变,尤其是后续我们还将通过鼠标和键盘的输入实现渲染场景的交互,都是通过更改相机的状态实现的。通过前面的学习,其实我们已经初步掌握了修改相机的基础数学工具 ---- 变换矩阵!这一章我们就来看看如何对相机进行变换。
如下图所示,我们在世界坐标中将相机从状态1(图中半透明的相机)变换到状态2(图中不透明的相机)