蓝宝书 第四章
写在前面
由于写学习笔记时,已经学完了前三章,所以前三章的笔记较为简单,后续笔记将一边学一遍写,因此笔记会详细很多,但有可能有错误,还望大家能够帮忙指出,共同讨论进步,谢谢~
本章主要讲各类坐标转换
表4.1 OpenGL变换术语 166页
Viewing 视角:观察点的位置
Modeling 模型:场景中的可移动物体
Modelview 模型视图:表述视角和模型直接的转换
PRojection 映射:视觉中模型的大小和形状的改变
Viewport 视口:最终输出至窗口的变换
眼坐标
绝对坐标,人的视线与z轴负方向相同,在第三章绘制的所有图像未经过转换,均在该坐标下进行的。
视图变换
该变换可以理解为你的位置和你面向的方向,默认位置在眼坐标原点处,并且面向z轴负向,此时若物体在z轴的正方向,则我们无法看到(在你的身后)。在建立较复杂的场景时,要先设定该视图变换(类似于Unity3D的照相机位置和方向)。
模型转换
主要是对模型(场景中的物体)进行移动、旋转及缩放。该模型在移动、旋转和缩放时均在自身中心为原点的坐标系上进行转换,转换完成后再次转换时还是以自身中心为原点的坐标系进行转换(两次的坐标系不同)。
视角的变换和坐标系的变换本质上是一样的
就像你旁边的车向前开,你感觉你的车在倒退是一样的
投影变换
在视角确定、场景及其中物体搭建好后,进行投影,使3D图像投影到2D的屏幕上。
主要有两类投影:正交投影和透视投影。
正交投影:无论远近,相同大小的物体都是同样大小的,主要用于2D(文字、菜单之类)的投影。
透视投影:远处的物体小,近处的物体大,远处的物体仿佛汇集到一个点上。
视口变换
图像最终在屏幕上进行输出
新闻热点
疑难解答