Add SceneRenderTask.PreRender
This commit is contained in:
@@ -260,6 +260,11 @@ void SceneRenderTask::OnCollectDrawCalls(RenderContext& renderContext)
|
||||
CollectDrawCalls(renderContext);
|
||||
}
|
||||
|
||||
void SceneRenderTask::OnPreRender(GPUContext* context, RenderContext& renderContext)
|
||||
{
|
||||
PreRender(context, renderContext);
|
||||
}
|
||||
|
||||
void SceneRenderTask::OnPostRender(GPUContext* context, RenderContext& renderContext)
|
||||
{
|
||||
PostRender(context, renderContext);
|
||||
|
||||
@@ -313,6 +313,18 @@ public:
|
||||
/// <param name="renderContext">The rendering context.</param>
|
||||
virtual void OnCollectDrawCalls(RenderContext& renderContext);
|
||||
|
||||
/// <summary>
|
||||
/// The action called after scene rendering. Can be used to perform custom pre-rendering or to modify the render view.
|
||||
/// </summary>
|
||||
API_EVENT() Delegate<GPUContext*, RenderContext&> PreRender;
|
||||
|
||||
/// <summary>
|
||||
/// Called before scene rendering. Can be used to perform custom pre-rendering or to modify the render view.
|
||||
/// </summary>
|
||||
/// <param name="context">The GPU commands context.</param>
|
||||
/// <param name="renderContext">The rendering context.</param>
|
||||
virtual void OnPreRender(GPUContext* context, RenderContext& renderContext);
|
||||
|
||||
/// <summary>
|
||||
/// The action called after scene rendering. Can be used to render additional visual elements to the output.
|
||||
/// </summary>
|
||||
|
||||
@@ -199,9 +199,8 @@ void Renderer::Render(SceneRenderTask* task)
|
||||
#endif
|
||||
|
||||
// Perform the actual rendering
|
||||
task->OnPreRender(context, renderContext);
|
||||
RenderInner(task, renderContext);
|
||||
|
||||
// Custom additional rendering
|
||||
task->OnPostRender(context, renderContext);
|
||||
|
||||
#if USE_EDITOR
|
||||
@@ -306,7 +305,6 @@ void RenderInner(SceneRenderTask* task, RenderContext& renderContext)
|
||||
#endif
|
||||
renderContext.List->Settings.AntiAliasing.Mode = aaMode;
|
||||
|
||||
|
||||
// Prepare
|
||||
renderContext.View.Prepare(renderContext);
|
||||
renderContext.Buffers->Prepare();
|
||||
|
||||
Reference in New Issue
Block a user