type
status
date
slug
summary
tags
category
icon
password
渲染管线是游戏开发中绕不开的词,前段时间了解了下各渲染管线的渲染流程,本文做一个记录。
1. 内置渲染管线(Built-in Rendering Pipeline)
Unity的内置渲染管线是默认的渲染方式,提供了一套完整的渲染解决方案,适用于大多数常见的游戏和应用场景。
渲染流程:
- Camera Setup:设置摄像机的投影矩阵和视图矩阵。
- Culling:剔除不可见的渲染对象,采用视锥体剔除和遮挡剔除等技术。
- Rendering:
- Forward Rendering Path:
- 渲染不透明物体:渲染每个物体,逐个光照计算。预处理Shadow和Lightmaps。
- 渲染半透明物体:按距离摄像机的顺序从后向前渲染。
- Deferred Rendering Path:
- G-buffer渲染:先渲染所有不透明物体的Albedo, Normal, Depth等信息到不同的G-buffer中。
- 光照计算:后处理所有光照。
- 半透明物体处理:类似于前向渲染模式(Forward Rendering Path)。
2.通用渲染管线(Universal Render Pipeline, URP)
在2019.3版本之后推出的一种新的渲染管线。与传统的内置渲染管线比,在处理多光源和着色器编写等方面有改进。URP假定了一些特定的条件,例如主光源只能是平行光、限定附加光源数量,从而在一个pass内完成所有光源和光照的计算,有助于提高渲染性能。URP还支持SRP Batcher合并技术,进一步优化渲染性能。
渲染流程:
- Setup:初始化摄像机和渲染目标。
- Culling:与内置管线类似的剔除步骤。
- Rendering:
- Rendering Modes:
- Forward Rendering:
- 渲染所有不透明物体到深度图。
- 渲染所有不透明物体,并计算逐个物体的光照。
- 渲染半透明物体。
- Scriptable Renders:通过ScriptableRenderPass实现自定义后处理效果。
- Post-Processing:
- 应用全局后处理效果,包括抗锯齿、颜色校正、模糊等。
- Final Pass:最后将整个渲染结果输出到屏幕。
3.可编程渲染管线(Scriptable Render Pipeline, SRP)
Unity 2018引入的新功能,允许开发者通过脚本按需构建自己的渲染过程。为开发者提供了一个高度灵活的框架,可以根据项目需求进行定制化的渲染管线设置。通过继承RenderPipeline类并重写其中的方法,可以完全控制渲染流程,实现高度定制化的渲染效果。
渲染流程:
SRP是一个框架,允许开发者创建自己定制的渲染管线,典型示例流程:
- Initialization:初始化渲染资源和配置。
- Culling:进行视锥体剔除和遮挡剔除。
- Sorting:对需要渲染的对象进行排序。
- Rendering:
- Custom Render Passes:实现自定义的渲染通道(Render Pass),如深度预处理、阴影映射、光照计算等。
- Post-Processing:
- 应用自定义的后处理效果。
- Final Pass:渲染最终结果到屏幕。
4.高清渲染管线(High Definition Render Pipeline, HDRP)
Unity的一款高端渲染管线,提供更接近真实世界的照明效果。HDRP利用各种功能扩展了Unity的照明系统,例如物理照明单位和曝光控制、高级光照、天空景色、雾效果、体积系统等。HDRP还支持高级阴影和反射效果,提供了基于物理的着色和光照模型。HDRP基于可编程渲染管线构建,允许开发者进行扩展和定制化开发。
渲染流程:
- Render Setup:初始化渲染目标、设置摄像机和配置信息。
- Culling:进行高级剔除算法(视锥体剔除、遮挡剔除)。
- G-buffer Pass:
- 渲染所有不透明物体的G-buffer信息(Albedo, Normal, Specular等)。
- Shadows and Light:
- 渲染阴影映射。
- 光照计算:光照计算分多个阶段进行,包括环境光(Ambient Light)、体积光照(Volumetric Lighting)、反射(Reflections)等。
- Deferred Lighting Pass:基于G-buffer和光照信息进行光照计算。
- Forward Pass:处理半透明物体,并进行多次光照计算。
- Post-Processing:
- 高级的后处理效果(如HDR、体积雾、色调映射等)。
- Final Pass:将渲染结果输出到屏幕。
渲染管线对比
- 内置管线:易用性高,适合初学者和快速开发,但对高端功能和性能优化支持有限。
- URP:性能与视觉效果之间的平衡,适用于大多数平台,包括移动设备、PC和控制台。
- SRP:高度自定义性,适合有特殊需求的开发,可以实现高度特化的渲染效果。
- HDRP:专注于高保真视觉效果,适用于高端PC和主机平台,对复杂光照和图形效果提供强大支持。
每种渲染管线都有其特定的应用场景和优化特性,选择适合的渲染管线可以极大提高项目的开发效率和最终效果。
- Author:lzzd
- URL:https://lazy-zed.com/article/u3d_9
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!