Unity 渲染流水线

渲染流程

计算机就从一系列的顶点数据、纹理等信息出发,把这些信息最终转换成一张人眼可以看到的图像。这就是渲染流程所做的工作。
渲染流程具体可以分为三个阶段:应用阶段、几何阶段、光栅化阶段。其中每个阶段又会细分各个流程。
渲染流程

应用阶段

应用阶段由CPU负责,开发这对这个阶段拥有绝对的控制权。这一阶段主要有三个任务。
1. 准备好场景数据,如摄像机位置,场景中包含哪些模型、使用哪些光源等信息。
2. 进行剔除(culling)工作,将不可见的物体剔除出去。
3. 设置模型的渲染状态,这些渲染状态包括但不限于使用的材质、纹理、shader等。最终输出渲染图元给到GPU

几何阶段

几何阶段由GPU负责,将顶点坐标变换到屏幕空间中,再交给光栅器进行处理。输出顶点信息。

光栅化阶段

光栅化阶段依然由GPU负责,这一阶段使用几何阶段传递的数据来产生屏幕上的像素,并且渲染出最终的图像。

GPU渲染流水线

渲染流水线起点是CPU,即上面说到的应用阶段,应用阶段大致分为以下三个阶段:
1. 把数据加载到显存中,将所有渲染所需的数据从硬盘中加载到内存,再将网格和纹理等数据加载到显存中。
2. 设置渲染状态,即告诉GPU渲染的时候该用哪个着色器、材质、光源属性等,如果没有更改渲染状态,那么所有的网格都使用同一种渲染状态。
3. 调用DrawCall命令,这个命令指向一个需要被渲染的图元列表,而不会包含任何材质信息。当给定一个DC时,GPU就会根据渲染状态和所有输入的顶点数据来计算并最终显示像素。而这个计算过程就是GPU渲染流水线。

GPU流水线

GPU流水线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值