private void OnPostRender(GPUContext context, RenderContext renderContext) { if (renderContext.View.Mode != ViewMode.Default) { var task = renderContext.Task; // Render editor primitives, gizmo and debug shapes in debug view modes // Note: can use Output buffer as both input and output because EditorPrimitives is using a intermediate buffers if (EditorPrimitives && EditorPrimitives.CanRender) { EditorPrimitives.Render(context, ref renderContext, task.Output, task.Output); } // Render editor sprites if (_spritesRenderer && _spritesRenderer.CanRender) { _spritesRenderer.Render(context, ref renderContext, task.Output, task.Output); } // Render selection outline if (SelectionOutline && SelectionOutline.CanRender) { // Use temporary intermediate buffer var desc = task.Output.Description; var temp = RenderTargetPool.Get(ref desc); SelectionOutline.Render(context, ref renderContext, task.Output, temp); // Copy the results back to the output context.CopyTexture(task.Output, 0, 0, 0, 0, temp, 0); RenderTargetPool.Release(temp); } } }
private void RenderTaskOnEnd(SceneRenderTask task, GPUContext context) { // Render editor primitives, gizmo and debug shapes in debug view modes if (task.Mode != ViewMode.Default) { // Note: can use Output buffer as both input and output because EditorPrimitives is using a intermediate buffers EditorPrimitives.Render(context, task, task.Output, task.Output); } }
private void OnPostRender(GPUContext context, RenderContext renderContext) { if (renderContext.View.Mode != ViewMode.Default) { var task = renderContext.Task; // Render editor primitives, gizmo and debug shapes in debug view modes // Note: can use Output buffer as both input and output because EditorPrimitives is using a intermediate buffers EditorPrimitives.Render(context, ref renderContext, task.Output, task.Output); } }