包含此页的版本:
不含此页的版本:
下表列出了 Deferred 和 Deferred+ 的渲染传递渲染路径渲染管道用于渲染图形的技术。选择不同的渲染路径会影响照明和着色的计算方式。某些渲染路径比其他路径更适合不同的平台和硬件。更多信息
请参阅术语表用。
| 渲染事件 | 渲染事件之后发生的渲染通道 | 描述 |
|---|---|---|
| 渲染前 | - | - |
| 渲染阴影之前 | - | - |
| 渲染后阴影(AfterRenderingShadows) | - | - |
| 渲染前预传递 | DepthPrepass,或 DepthPrepass 和 DepthNormalPrepass。 | 在预处理中渲染深度和法线纹理,适用于 Unity 在前向通道中渲染的材质。 |
| 渲染后预传递 | - | - |
| 渲染前Gbuffer | GBuffer通票 | 渲染 G-Buffer,然后复制 G-Buffer 深度纹理。 |
| 渲染后Gbuffer | SSAO公司 | 计算屏幕空间环境光遮挡一种近似环境光(不是来自特定方向的光)可以击中表面上的点的量的方法。 请参阅术语表(SSAO) 纹理。仅当您启用 SSAO 并禁用 After Opaque 时,Unity 才会在此处计算此值。 |
| 渲染前延迟光源 | 延期通行证 | 延迟渲染。Unity 在此渲染通道期间使用 SSAO 纹理(如果已创建)。 |
| 渲染后延迟光源 | - | - |
| 渲染之前不透明 | - | 渲染不透明的仅正向材质。 |
| 渲染后不透明 | - | 计算并混合屏幕空间环境光遮蔽 (SSAO) 纹理。仅当您启用 SSAO 并启用 After Opaque 时,Unity 才会在此处计算此值。 |
| 渲染之前天空盒(BeforeRenderingSkybox) | - | - |
| 渲染后天空盒 | - | - |
| 渲染之前透明(BeforeRenderingTransparents) | - | - |
| 渲染后透明(AfterRenderingTransparents) | - | - |
| 渲染前后期处理(BeforeRenderingPostProcessing) | - | - |
| 渲染后处理后处理(AfterRenderingPostProcessing) | - | - |
| 渲染后 | - | - |
有关渲染事件的完整列表以及自定义渲染通道的注入点,请参阅URP 的注入点参考。
下表列出了包含与延迟渲染路径相关的代码的文件,这些文件位于com.unity.render-pipelines.universal文件夹。
| 文件路径 | 描述 |
|---|---|
Runtime/DeferredLights.cs |
定义处理延迟渲染路径的主类。 |
Runtime/Passes/GBufferPass.cs |
实现一个ScriptableRenderPass用于 G 缓冲区渲染通道。 |
Runtime/Passes/DeferredPass.cs |
实现一个ScriptableRenderPass对于延迟着色 内置渲染管线中的渲染路径,对可能影响游戏对象的光源数量没有限制。所有光源都是按像素计算的,这意味着它们都与法线贴图等正确交互。此外,所有光源都可以有饼干和阴影。更多信息请参阅术语表通过。 |
Shaders/Utils/StencilDeferred.shader |
定义使用延迟渲染路径时基于模板的延迟照明的渲染行为。 |
Shaders/Utils/ClusterDeferred.shader |
定义使用 Deferred+ 渲染路径时基于集群的延迟照明的渲染行为。 |
ShaderLibrary/GBufferInput.hlsl |
包含用于从 Universal 中的 G 缓冲区读取材质属性的实用函数渲染管线(Render Pipeline) 获取场景内容并将其显示在屏幕上的一系列作。Unity 允许您从预构建的渲染管道中进行选择,或编写自己的渲染管道。更多信息 请参阅术语表(URP)。 |
ShaderLibrary/GBufferOutput.hlsl |
包含用于将材质属性写入URP中的G缓冲区的实用函数。 |