Version: 2022.1
언어: 한국어

ScriptableRenderContext

struct in UnityEngine.Rendering

매뉴얼로 전환

설명

Defines state and drawing commands that custom render pipelines use.

When you define a custom RenderPipeline, you use a ScriptableRenderContext to schedule and submit state updates and drawing commands to the GPU.

A RenderPipeline.Render method implementation typically culls objects that the render pipeline doesn't need to render for every Camera (see CullingResults), and then makes a series of calls to ScriptableRenderContext.DrawRenderers intermixed with ScriptableRenderContext.ExecuteCommandBuffer calls. These calls set up global Shader properties, change render targets, dispatch compute shaders, and other rendering tasks. To actually execute the render loop, call ScriptableRenderContext.Submit.

See Also: RenderPipeline.

Public 함수

BeginRenderPassSchedules the beginning of a new render pass. Only one render pass can be active at any time.
BeginScopedRenderPassSchedules the beginning of a new render pass. If you call this a using-statement, Unity calls EndRenderPass automatically when exiting the using-block. Only one render pass can be active at any time.
BeginScopedSubPassSchedules the beginning of a new sub pass within a render pass. If you call this in a using-statement, Unity executes EndSubPass automatically when exiting the using-block. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active at any time.
BeginSubPassSchedules the beginning of a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active at any time.
CreateRendererListCreates a new RendererList.
CullPerforms culling based on the ScriptableCullingParameters typically obtained from the Camera currently being rendered.
DrawGizmosSchedules the drawing of a subset of Gizmos (before or after post-processing) for the given Camera.
DrawRenderersSchedules the drawing of a set of visible objects, and optionally overrides the GPU's render state.
DrawShadowsSchedules the drawing of shadow casters for a single Light.
DrawSkyboxSchedules the drawing of the skybox.
DrawUIOverlayDraw the UI overlay.
DrawWireOverlaySchedules the drawing of a wireframe overlay for a given Scene view Camera.
EndRenderPassSchedules the end of a currently active render pass.
EndSubPassSchedules the end of the currently active sub pass.
ExecuteCommandBufferSchedules the execution of a custom graphics Command Buffer.
ExecuteCommandBufferAsyncSchedules the execution of a Command Buffer on an async compute queue. The ComputeQueueType that you pass in determines the queue order.
InvokeOnRenderObjectCallbackSchedules an invocation of the OnRenderObject callback for MonoBehaviour scripts.
PrepareRendererListsAsyncStarts to process the provided RendererLists in the background.
QueryRendererListStatusQueries the status of a RendererList.
SetupCameraPropertiesSchedules the setup of Camera specific global Shader variables.
StartMultiEyeSchedules a fine-grained beginning of stereo rendering on the ScriptableRenderContext.
StereoEndRenderSchedule notification of completion of stereo rendering on a single frame.
StopMultiEyeSchedules a stop of stereo rendering on the ScriptableRenderContext.
SubmitSubmits all the scheduled commands to the rendering loop for execution.
SubmitForRenderPassValidationThis method submits all the scheduled commands to the rendering loop for validation. The validation checks whether render passes that were started with the BeginRenderPass call can execute the scheduled commands.

정적 함수

EmitGeometryForCameraEmits UI geometry for rendering for the specified camera.
EmitWorldGeometryForSceneViewEmits UI geometry into the Scene view for rendering.