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