【Unity Shader 入门精要】01-渲染流水线

shader:着色器

渲染流水线

  • 主要任务:输入一个三维场景,输出一张二维图像。
  • 渲染流程:
    • 应用阶段:
      • 输入:场景数据、粗粒度剔除(culling)、渲染状态
      • 输出:渲染图元
    • 几何阶段
      • 输入:渲染图元
      • 操作:逐顶点、逐多边形
      • 任务:将顶点坐标转换为屏幕坐标
      • 输出:二维坐标顶点、坐标深度值、着色等信息
    • 光栅化阶段:
      • 输入:几何阶段的输出
      • 输出:屏幕像素

CPU和GPU之间的通信

  1. 把数据加载到显存中
    HDD -> CPU -> GPU(显卡访问显存速度更快)
  2. 设置渲染状态
    纹理、顶点着色器、片元着色器
  3. 调用DrawCall

GPU流水线

  • 顶点着色器
    • 处理单位:顶点
    • 主要工作:坐标转换、逐顶点光照
  • 裁剪
    • 完全视野外:不会传递下个流水线
    • 完全视野内:向下个流水线传递
    • 部分视野内:裁剪
  • 屏幕映射:将图元坐标的x,y转化为屏幕坐标
  • 片元着色器:顶点插值得到一个或多个颜色信息
  • 逐片元操作:
    1.可见性:深度测试、模板测试
    2.合并:透明度
    3.双重缓存:保证图像连续。

《Unity Shader 入门精要》冯乐乐

猜你喜欢

转载自blog.csdn.net/m0_37154517/article/details/80778579
今日推荐