Справочная информация о точках впрыска для URP
URP содержит множество точек впрыска, которые позволяют впрыскать рендерные проходы в цикл рендеринга кадров и выполнять их при различных событиях.
Точки впрыска дают пользовательскому проходу рендеринга доступ к буферам URP. Проход рендеринга имеет доступ для чтения и записи ко всем буферам в каждой точке впрыска.
Unity предоставляет следующие события в цикле отображения. Вы можете использовать эти события для введения ваших собственных пропусков.
| Точка впрыска | Описание |
|---|---|
| BeforeRendering | Выполняет экземпляр ScriptableRenderPass перед рендерингом любых других проходов в конвейере для текущего Camera. Матрицы Camera и стерео-рендеринг не настроены на этом этапе. Вы можете использовать эту точку впрыска для рисования пользовательских входных текстур, используемых позже в конвейере, например текстур LUT. |
| BeforeRenderingShadows | Выполняет экземпляр ScriptableRenderPass перед рендерингом теневых карт (MainLightShadow, AdditionalLightsShadow проходят).Camera матрицы и стерео рендеринг не настроены на данном этапе. |
| AfterRenderingShadows | Выполняет экземпляр ScriptableRenderPass после рендеринга теневых карт (MainLightShadow, AdditionalLightsShadow проходят).Camera матрицы и стерео рендеринг не настроены в этот момент. |
| BeforeRenderingPrePasses | Выполняет экземпляр ScriptableRenderPass перед предварительным рендерингом (DepthPrepass, DepthNormalPrepass проходы).Camera матрицы и стерео рендеринг уже настроены в этот момент. |
| AfterRenderingPrePasses | Выполняет экземпляр ScriptableRenderPass после предварительного рендеринга (DepthPrepass, DepthNormalPrepass проходов).Camera матрицы и стерео рендеринг настроены в этот момент. |
| BeforeRenderingGbuffer | Выполняет экземпляр ScriptableRenderPass перед отображением прохода GBuffer. |
| AfterRenderingGbuffer | Выполняет экземпляр ScriptableRenderPass после отображения прохода GBuffer. |
| BeforeRenderingDeferredLights | Выполняет экземпляр ScriptableRenderPass перед отображением прохода Отложенный. |
| AfterRenderingDeferredLights | Выполняет экземпляр ScriptableRenderPass после рендеринга Отложенного прохода. |
| BeforeRenderingOpaques | Выполняет экземпляр ScriptableRenderPass перед отображением непрозрачных объектов (проходDrawOpaqueObjects). |
| AfterRenderingOpaques | Выполняет экземпляр ScriptableRenderPass после отображения непрозрачных объектов (проходDrawOpaqueObjects). |
| BeforeRenderingSkybox | Выполняет экземпляр ScriptableRenderPass перед рендерингом skybox (Camera.RenderSkybox проход). |
| AfterRenderingSkybox | Выполняет экземпляр ScriptableRenderPass после рендеринга skybox (Camera.RenderSkybox проход). |
| BeforeRenderingTransparents | Выполняет экземпляр ScriptableRenderPass перед отображением прозрачных объектов (проходDrawTransparentObjects). |
| AfterRenderingTransparents | Выполняет экземпляр ScriptableRenderPass после отображения прозрачных объектов (проходDrawTransparentObjects). |
| BeforeRenderingPostProcessing | Выполняет экземпляр ScriptableRenderPass перед рендерингом эффектов после обработки (Render PostProcessing Effects pass). |
| AfterRenderingPostProcessing | Выполняет экземпляр ScriptableRenderPass после рендеринга эффектов постпроцессорной обработки, но до окончательного блита, постпроцессорных эффектов сглаживания и градации цветов. |
| AfterRendering | Выполняет экземпляр ScriptableRenderPass после рендеринга всех других проходов. |
На следующей диаграмме показаны проходы и поток кадровых ресурсов в кадре URP: