流程
- Culling 剪切3d场景数据,去除不可视部分,并为渲染做准备。 此处对应摄像机剪切算法。
- Rendering 顶点填充,表面着色,法线贴图,光线,生成pixel-based buffers.
- Post-processing , 处理color grading(颜色分级),bloom() and depth of field(景深)之后发送到显示设备显示 这个过程每秒将会执行多次, 次数是根据帧率。
a.
Unity中提供的渲染管道, 1. Build-in Render pipeline. 2. URP(Unreal Render Pipeline) 3. HDRP(Hight Definition Render Pipeline,高可定制渲染管道)
内置渲染管道的区别在于其Shader输出。另外还可以使用用户自定义渲染API,自定义渲染管道。
Custom Render Pipeline Render Pipeline feature comparison
b. Active Render Pipeline
- 通过Unity Render Pipeline Assets为Unity设置指定使用那个渲染管道,未指定时将会使用Build-in render Pipeline.
- 可以为同个渲染管道指定多个Render Pipeline Assets. 也可以为不同的硬件设置不同的品质的Render pipeline Assets,以便能够在低等级的硬件减少画质上流畅游戏.
- 使用Graphics Setting And Quality Setting 设置激活的渲染管道。需要注意两者的设置在渲染时具有优先级,优先级高的设置将会被使用。
- 除了通过Project Setting菜单设置,还可以通过SPR,设置激活的渲染管道。
Scriptable Render Pipeline URP Render Assets HDRP Render Assets
c. Choseing and Configuring a render pipeline and lighting solution.
- Vertex Shader, 剪切,转换向量到像素
- Pixel shaders and Fragment Shaders. 像素和面Shaders, 像素渲染,面渲染
- Compute Shaders, 封装数据计算的Shader
d. Rendering pathsin the Build-in Render Pipeline.
- Forward rendering path. 前向渲染,实时关照性能不好,如果不包含大量实时光照时建议使用。
- Deferred Shading rendering path. 延迟渲染,支持大量的实时光照,需要硬件支持。
- Legacy Deferred
- Legacy Vertex Lit