渲染管线知识点总结
作者:互联网
渲染管线的三个大阶段
应用阶段、几何阶段 、光栅化阶段
应用阶段
应用阶段提供的数据主要包括
- 顶点三维坐标
- 颜色
- 纹理的uv坐标
- MVP矩阵
- 光源位置
几何阶段
将虚拟世界中以(x,y,z)为坐标的物体变换到以像素位置(x,y) 表示的屏幕坐标系之中(2维)
几何阶段的几个小阶段
- 模型视图变换
- 顶点着色器
- 投影变换
- 裁剪
- 屏幕映射
模型视图变换
模型视图变换可分为模型变换和视图变换,两个变换都是通过4*4的矩阵实现的
- 模型变换实现了物体坐标系到世界坐标系的转换,使用模型矩阵Model
- 视图变换实现了世界坐标系到相机坐标系的转换,也就是将相机放在原点,相机的指向为-Z轴方向。使用观察矩阵View
顶点着色器
所谓着色,指的是决定光在某个材质上呈现出哪种效果。
顶点着色器的目的在于确定模型上顶点处材质的光照效果
投影变换
投影阶段的目的是将视椎体变换到单位立方体中
裁剪
- 完全位于视野内:可以直接进行下一个阶段
- 完全位于视野外:直接丢弃,无需渲染
- 部分位于视野内:需要对视野内的部分进行裁剪
屏幕映射
将单位空间内的坐标映射到屏幕坐标系上
光栅化阶段
小阶段
- 三角形设定阶段
- 三角形遍历阶段
- 像素着色阶段
- 融合阶段
三角形设定阶段
三角形遍历阶段
三角形遍历即找到哪些采样点或像素在三角形中
像素着色
逐像素的着色计算
融合
其中包括了颜色缓冲器,Z缓冲器(Z-buffer/深度缓冲)
Z缓冲
Z缓冲器和颜色缓冲器形状大小一样,每个像素都存储着一个z值,这个z值是从相机到最近图元之间的距离。每次将一个图元绘制为相应像素时,需要计算像素位置处图元的z值,并与同一像素处的z缓冲器内容进行比较。如果新计算出的z值,远远小于z缓冲器中的z值,那么说明即将绘制的图元与相机的距离比原来距离相机最近的图元还要近。这样,像素的z值和颜色就由当前图元对应的值和颜色进行更新。反之,若计算出的z值远远大于z缓冲器中的z值,那么z缓冲器和颜色缓冲器中的值就无需改变。
标签:知识点,渲染,变换,缓冲器,视图,像素,阶段,坐标系,管线 来源: https://blog.csdn.net/weixin_38051797/article/details/120199252