Unity 6.3
0 онлайн 67 гостей 3 в системе
Вход

ScriptableRenderContext

структура в UnityEngine.Rendering

Выполнено в:UnityEngine.CoreModule

Описание

Задаёт состояние и команды отрисовки, используемые пользовательскими конвейерами рендеринга.

Когда вы определяете пользовательский RenderPipeline, вы используете ScriptableRenderContext, чтобы планировать и отправлять на GPU обновления состояния и команды отрисовки.

Реализация метода RenderPipeline.Render обычно удаляет объекты, которые конвейер рендеринга не должен рендеринговать для каждого Camera (см. CullingResults), а затем выполняет серию вызовов ScriptableRenderContext.DrawRenderers, смешанных с вызовами ScriptableRenderContext.ExecuteCommandBuffer. Эти вызова устанавливают глобальные свойства Shader, изменяют цели рендеринга, отправляют вычисления shader и выполняют другие задачи рендеринга. Чтобы выполнить цикл рендеринга, вызовите ScriptableRenderContext.Submit.

Дополнительные ресурсы: RenderPipeline.

Открытые методы

Метод Описание
BeginRenderPassРасписывает начало нового прохода рендеринга. В любой момент времени может быть активен только один проход рендеринга.
BeginScopedRenderPassПланирует начало нового прохода рендеринга. Если вызвать этот метод в операторе using, Unity автоматически вызывает EndRenderPass при выходе из блока using. Одновременно может быть активен только один проход рендеринга.
BeginScopedSubPassПланирует начало нового подпрохода внутри прохода рендеринга. Если вызвать этот метод в операторе using, Unity автоматически выполнит EndSubPass при выходе из блока using. Проходы рендеринга не могут существовать отдельно: каждый из них должен содержать хотя бы один подпроход. Одновременно активным может быть только один подпроход.
BeginSubPassРасписывает начало нового подпрохода внутри прохода рендеринга. Проходы рендеринга никогда не могут быть самостоятельными, они всегда должны содержать по крайней мере один подпроход. Только один подпроход может быть активен в любой момент времени.
CreateGizmoRendererListСоздает новый Гизмо RendererList.
CreateRendererListСоздает новый рендерер RendererList.
CreateShadowRendererListСоздает новую тень RendererList.
CreateSkyboxRendererListСоздает новый skybox RendererList.
CreateUIOverlayRendererListСоздает новый UIOverlay RendererList.
CreateWireOverlayRendererListСоздает новый WireOverlay RendererList.
CullВыполняет отбор на основе ScriptableCullingParameters, обычно получаемого из Camera, который в настоящее время отображается.
CullShadowCastersВыполняет отбор теневых бросателей для всех видимых светов.
DrawGizmosРасписывает рисование подмножества Gizmos (до или после последующей обработки) для заданного Camera.
DrawUIOverlayНарисуйте накладку UI.
DrawWireOverlayРасписывает рисование наложения проводника для заданного представления Scene Camera.
EndRenderPassРасписывает окончание текущего активного прохода рендеринга.
EndSubPassРасписывает окончание текущего активного подпрохода.
ExecuteCommandBufferРасписывает выполнение пользовательского графического командного буфера.
ExecuteCommandBufferAsyncРасписывает выполнение Командного Буфера в очереди асинхронных вычислений. Переданный ComputeQueueType определяет порядок очереди.
HasInvokeOnRenderObjectCallbacksПроверьте, не зарегистрированы ли обратные вызова OnRenderObject для каких-либо объектов в сцене.
InvokeOnRenderObjectCallbackРасписывает вызов обратного вызова OnRenderObject для скриптов MonoBehaviour.
PrepareRendererListsAsyncНачинает обработку предоставленного RendererLists в фоновом режиме.
QueryRendererListStatusЗапрос статуса RendererList.
SetupCameraPropertiesРасписывает настройку глобальных переменных Shader, специфических для Camera.
StartMultiEyeРасписывает начало мелкозернистого стерео-рендеринга на ScriptableRenderContext.
StereoEndRenderРасписание уведомления о завершении стерео рендеринга на одном кадре.
StopMultiEyeРасписывает остановку стерео-рендеринга на ScriptableRenderContext.
SubmitПередаёт все запланированные команды в цикл отображения для выполнения.
SubmitForRenderPassValidationЭтот метод отправляет все запланированные команды в цикл рендеринга для проверки. Проверка проверяет, могут ли выполняться запланированные команды в проходах рендеринга, начатых с вызова BeginRenderPass.

Статические методы

Метод Описание
EmitGeometryForCameraВыдаёт геометрию UI для рендеринга для указанной камеры.
EmitWorldGeometryForSceneViewВыводит геометрию UI в вид Scene для отображения.
PopDisableApiRenderersВключить возможность немедленного добавления и удаления узлов сцены рендерера в массивы сцены.
PushDisableApiRenderersПредотвращает немедленное добавление или удаление узлов сцены рендерера в массивы сцены. Это защищает от создания недействительных индексов или указателей, вызванных изменениями в массивах сцены после вычисления вывода очистки.