Проходы рендеринга в путях рендеринга Отложенное и Отложенное+ в URP
В следующей таблице перечислены прохождения отображения, используемые путями отображения Отложенный и Отложенный+.
| Событие отображения | Проход рендеринга, который происходит после события рендеринга | Описание |
|---|---|---|
| BeforeRendering | - | - |
| BeforeRenderingShadows | - | - |
| AfterRenderingShadows | - | - |
| BeforeRenderingPrePasses | DepthPrepassили DepthPrepass и DepthNormalPrepass. | Отображение глубины и обычных текстур в предварительном проходе для материалов, которые Unity отображает в проходе Forward. |
| AfterRenderingPrePasses | - | - |
| BeforeRenderingGbuffer | GBufferPass | Рендеруйте G-Buffer, а затем скопируйте текстуру глубины G-Buffer. |
| AfterRenderingGbuffer | SSAO | Вычисляет текстуру окклюзии окружающего пространства экрана (SSAO). Unity вычисляет это здесь только если вы включили SSAOи отключили После непрозрачности. |
| BeforeRenderingDeferredLights | Отложенный пропуск | Отложенное рендеринг. Unity использует текстуру SSAO во время этого рендеринга, если она была создана. |
| AfterRenderingDeferredLights | - | - |
| BeforeRenderingOpaques | - | Сделать непрозрачными материалы, передаваемые только вперед. |
| AfterRenderingOpaques | - | Вычисляет и смешивает текстуру окклюзии окружающего пространства экрана (SSAO). Unity рассчитывает это здесь только если вы включили SSAOи включили После Непрозрачности. |
| BeforeRenderingSkybox | - | - |
| AfterRenderingSkybox | - | - |
| BeforeRenderingTransparents | - | - |
| AfterRenderingTransparents | - | - |
| BeforeRenderingPostProcessing | - | - |
| AfterRenderingPostProcessing | - | - |
| AfterRendering | - | - |
Полный список событий рендеринга и точек ввода для пользовательских проходов рендеринга см. в Справочник по точкам ввода для 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 |
Содержит полезные функции для чтения свойств материала из G-буферов в Universal Render Pipeline (URP). |
ShaderLibrary/GBufferOutput.hlsl |
Содержит полезные функции для записи свойств материала в G-буферы в URP. |