Unity3d 渲染管线整体流程

最新正在学习shader中,正巧翻阅到了霜狼大大的视频,因此写一份学习笔记当做作业,文章末尾放了视频的链接,文章中有错误希望大家能够指出 谢谢!

总流程

  • 应用阶段 ——> 几何阶段 ——> 光栅化阶段 ——> 逐片源阶段 ——> 后处理

应用阶段

  • 设置场景基本数据:收集模型的大小,位置和旋转信息、光源类型和光照信息、摄像机参数
  • 粗粒度剔除和算法加速:剔除不需要发给几何阶段的物体信息 例:视椎体剔除和遮挡剔除
  • 设置渲染状态,准备渲染参数:渲染类型是从后往前还是从前往后等
  • 调用Draw Call:CPU通知GPU可以开始渲染

几何阶段

  • 顶点着色器(可编程):
  1. 顶点变换:模型坐标系 ——> 世界坐标系 ——> 观察坐标系 ——> 投影坐标系 俗称:MVP矩阵
  2. 顶点着色:计算顶点光照等数据 并设置顶点颜色
  • 可选顶点处理(可编程):曲面细分和几何着色器
  • 投影(Unity完成):将投影坐标系根据摄像机的设置(正交或者透视)转换到归一化的设备坐标(简称NDC),该坐标值的x,y分量是[-1,1]之间,z分量在再openGL下是[-1,1],在Direct3D下是[0,1]
  • 裁剪(可配置): 裁剪掉屏幕外的顶点(同时也可能生成新的顶点) 该阶段是可以配置的,可以使用自定的裁剪屏幕来排至裁剪区域,也可以通过指令控制裁剪正面还是背面
  • 屏幕映射:从-1到1的投影坐标系,映射到正式的屏幕的坐标位置,
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值