版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gsm958708323/article/details/82887209
渲染过程:
-
应用程序阶段
-
顶点着色器(MVP)
M 物体到世界坐标的转换
V 世界坐标转换到相机坐标
P 投影矩阵(正交投影和透视投影)
负责对渲染的图元进行逐顶点、逐图元处理,主要任务是将顶点坐标变换到剪裁空间和处理顶点光照。 -
光栅化(深度测试)
计算每个图元覆盖了哪些像素,并计算这些像素的颜色。
根据上一阶段得到的三角形边界信息,决定其是否被当前图元(这里就是三角形)所覆盖。
顶点差值运算映射成图片 -
Fragment(片段着色器)(像素着色器)
主要把像素和灯光进行计算
目的是将上一阶段输出的片元颜色与颜色缓冲区中的颜色进行混合。 -
一系列测试
透明测试、模板测试、深度测试。将片段着色器输出的RGB值测试能否装入FrameBuffer -
Blend
通过测试的像素点,跟当前的FrameBuffer融合形式 -
GPU缓存区
可编程操作
- Blend
- 一系列测试
- 片段着色器
- 顶点着色器
Shader Reference
- 固定着色器
流程已经固定,只能添加删除一些功能 - 表面着色器
unity编辑器内部封装完整 - 顶点着色器
只进行顶点编程和片段编程,灯光的计算不能进行