Unity渲染流水线理解

本文详细介绍了Unity的渲染流水线,包括应用阶段、几何阶段和光栅化阶段。在应用阶段,CPU负责加载数据到显存,设置渲染状态并调用Draw Call。几何阶段包括顶点着色器、裁剪和屏幕映射。光栅化阶段则进行三角形设置、三角形遍历、片元着色和逐片元操作,如深度测试、模板测试和混合。通过对渲染流程的理解,能更好地优化3D场景的性能。
摘要由CSDN通过智能技术生成

基础名词解释

3D物体:由三角形组成的几何形状构成的物体

顶点:具有空间坐标和其他意义(颜色、纹理坐标)的点

纹理:映射到3D物体表面的图像,提供物体由某种材质构成的幻觉,物体定点存储的二维向量坐标,用于指定纹理如何映射到给定的表面

渲染管线:又叫渲染流水线,将数据从3D场景转换成2D图像,最终在屏幕上显示出来的总过程,其主要分为应用阶段、几何阶段、光栅阶段

片元:不是真正意义上的像素,而是很多状态的集合,这些状态用于计算每个像素的最终颜色,例如屏幕坐标、深度信息、几何阶段输出的顶点信息(法线、纹理坐标等)

渲染图元(render primitives):渲染所需的几何信息,点、线、面等,这些数据会传递给下一阶段——几何阶段

渲染流水线

渲染流水线分为三个阶段

  1. 应用阶段(Application Stage)
  2. 几何阶段(Geometry Stage)
  3. 光栅化阶段(Rasterizer Stage)
    在这里插入图片描述

应用阶段(Application Stage)

三个任务:
  1. 准备好场景数据:摄像机位置、视锥体参数、场景中包含哪些模型、使用了哪些光源等等
  2. 粗粒度剔除:把不可见的物体剔除出去
  3. 设置模型渲染状态:包括材质、纹理、Shader等
输出内容

渲染图元(render primitives):渲染所需的几何信息,点、线、面等,这些数据会传递给下一阶段——几何阶段
由于应用阶段又CPU主导,并且下一阶段几何阶段是在GPU中进行,故而会涉及到CPU与GPU通信的问题,我们可知应用阶段的大致分为以下三步:

  1. 把数据加载到显存中
  2. 设置渲染状态
  3. 调用Draw Call
把数据加载到显存中

硬盘HDD ——>系统内存RAM ——>显存VRAM

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值