版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/himilong/article/details/50214537
渲染管线主要由以下各阶段组成:
顶点操作包括: 转换操作、光照操作 以及动画操作。
1世界转换
1.1 View transform
相机空间 根据3个参数: Eye, At and Up. 这些参数用于构造 相机空间
相对于相机空间,维护场景对象时,需要将相机空间(Eye, u,v,n) 叠加到世界空间(O,e1, e2, e3)
分为两步:将Eye 移到 O; 旋转重叠 坐标基向量;
第一步,即用矩阵表示为
可以验证下,世界坐标中,相机位置(-20,-3,0), 壶嘴位置(10,2,0). 即计算 相对于相机的空间坐标,壶嘴位置
第二步, 旋转重叠, 把基向量 {e1,e2,e3} 转换到{u,v,n}
所以,综合R,T 矩阵,得到view transform 的转换如下
最后得到的坐标,如下所示,O 到 Eye
1.2 投影转换 (Projection Transform)
1.2.1 视锥
视体 主要 由fovy, aspect,n 和 f 决定
投影转换,不生成2D图像,仅是使得场景中3D 对象产生变形效果
转换矩阵如下: