【技术美术】引擎渲染管线概述

【技术美术】引擎渲染管线概述

引擎渲染管线是发生在游戏引擎中的完整渲染流程,GPU渲染管线也是其中的一部分,在此GPU相当于是画笔,而引擎则是画家。

在Unity中有内置渲染管线和SRP渲染管线两种,考虑SRP是未来趋势,且更加公开透明,后续引擎渲染管线均指SRP。

引擎渲染管线流程

引擎渲染管线

  1. 收集渲染对象,如渲染器、灯光等物体,该部分由SRP自动处理。
  2. 更新渲染信息至GPU端,如灯光、时间、矩阵等数据。
  3. 进行摄像机剔除,剔除掉不需要渲染的物体。
  4. 进行渲染对象排序,从而实现渲染优化和透明。
  5. 使用带有指定光照模式标签的着色器,进行最终绘制。
  6. 对渲染后的颜色附件进行可选的后处理绘制,并呈现到最终屏幕。

引擎渲染管线资源

引擎渲染管线,为了便于绘制和优化性能,对GPU渲染管线中的资源进行了一定封装。

网格

网格是对GPU渲染中几何数据的封装,并实现了一些行业中的标准功能,例如包含如下内容:

  • 顶点缓冲区
  • 索引缓冲区(基元默认为三角形)
  • 子网格
  • 蒙皮

材质

对网格之外的数据进行封装,因为很多情况下,模型渲染往往只是网格不同,但会使用同样的着色器和材质,属于是一种局部性原理的表现了。

  • 纹理:与GPU中的静态纹理一致。
  • 常量缓冲区:与GPU中的常量缓冲区一致,此处存储一些特定于材质的数据,例如物体的基础颜色。
  • 着色器:与GPU中的着色器不同,此处是对GPU中所有着色器以及渲染状态的设置,并决定了材质能接收的属性(纹理、常量)。
posted @ 2025-12-23 21:13  BDFFZI  阅读(0)  评论(0)    收藏  举报