渲染流水线2

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gsm958708323/article/details/82887209

在这里插入图片描述
渲染过程:

  • 应用程序阶段

  • 顶点着色器(MVP)
    M 物体到世界坐标的转换
    V 世界坐标转换到相机坐标
    P 投影矩阵(正交投影和透视投影)
    负责对渲染的图元进行逐顶点、逐图元处理,主要任务是将顶点坐标变换到剪裁空间和处理顶点光照。

  • 光栅化(深度测试)
    计算每个图元覆盖了哪些像素,并计算这些像素的颜色。
    根据上一阶段得到的三角形边界信息,决定其是否被当前图元(这里就是三角形)所覆盖。
    顶点差值运算映射成图片

  • Fragment(片段着色器)(像素着色器)
    主要把像素和灯光进行计算
    目的是将上一阶段输出的片元颜色与颜色缓冲区中的颜色进行混合。

  • 一系列测试
    透明测试、模板测试、深度测试。将片段着色器输出的RGB值测试能否装入FrameBuffer

  • Blend
    通过测试的像素点,跟当前的FrameBuffer融合形式

  • GPU缓存区

可编程操作

  • Blend
  • 一系列测试
  • 片段着色器
  • 顶点着色器

Shader Reference

  • 固定着色器
    流程已经固定,只能添加删除一些功能
  • 表面着色器
    unity编辑器内部封装完整
  • 顶点着色器
    只进行顶点编程和片段编程,灯光的计算不能进行

猜你喜欢

转载自blog.csdn.net/gsm958708323/article/details/82887209