diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs index 9c3b4df7b05..a0b42c9de74 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -2791,6 +2791,9 @@ void Callback(CommandBuffer c, HDCamera cam) // We need to make sure the viewport is correctly set for the editor rendering. It might have been changed by debug overlay rendering just before. cmd.SetViewport(hdCamera.finalViewport); + if (camera.cameraType == CameraType.SceneView) + RenderWireOverlay(cmd, camera, renderContext); + // Render overlay Gizmos if (showGizmos) RenderGizmos(cmd, camera, renderContext, GizmoSubset.PostImageEffects); @@ -3111,6 +3114,18 @@ void RenderGizmos(CommandBuffer cmd, Camera camera, ScriptableRenderContext rend #endif } +#if UNITY_EDITOR + void RenderWireOverlay(CommandBuffer cmd, Camera camera, ScriptableRenderContext renderContext) + { + using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RenderWireFrame))) + { + renderContext.ExecuteCommandBuffer(cmd); + cmd.Clear(); + renderContext.DrawWireOverlay(camera); + } + } +#endif + static RendererListDesc CreateOpaqueRendererListDesc( CullingResults cull, Camera camera, diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/SceneViewDrawMode.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/SceneViewDrawMode.cs index 0ba33475185..2a53fd38784 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/SceneViewDrawMode.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/SceneViewDrawMode.cs @@ -11,8 +11,7 @@ class SceneViewDrawMode static private bool RejectDrawMode(SceneView.CameraMode cameraMode) { - if (cameraMode.drawMode == DrawCameraMode.TexturedWire || - cameraMode.drawMode == DrawCameraMode.ShadowCascades || + if (cameraMode.drawMode == DrawCameraMode.ShadowCascades || cameraMode.drawMode == DrawCameraMode.RenderPaths || cameraMode.drawMode == DrawCameraMode.AlphaChannel || cameraMode.drawMode == DrawCameraMode.Overdraw || diff --git a/com.unity.render-pipelines.universal/Runtime/SceneViewDrawMode.cs b/com.unity.render-pipelines.universal/Runtime/SceneViewDrawMode.cs index d9b5cc2004f..9290c50c960 100644 --- a/com.unity.render-pipelines.universal/Runtime/SceneViewDrawMode.cs +++ b/com.unity.render-pipelines.universal/Runtime/SceneViewDrawMode.cs @@ -10,8 +10,7 @@ internal static class SceneViewDrawMode static bool RejectDrawMode(SceneView.CameraMode cameraMode) { - if (cameraMode.drawMode == DrawCameraMode.TexturedWire || - cameraMode.drawMode == DrawCameraMode.ShadowCascades || + if (cameraMode.drawMode == DrawCameraMode.ShadowCascades || cameraMode.drawMode == DrawCameraMode.RenderPaths || cameraMode.drawMode == DrawCameraMode.AlphaChannel || cameraMode.drawMode == DrawCameraMode.Overdraw || diff --git a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs index 70eff6f6766..ff0c526a1d1 100644 --- a/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs +++ b/com.unity.render-pipelines.universal/Runtime/ScriptableRenderer.cs @@ -428,6 +428,7 @@ public void Execute(ScriptableRenderContext context, ref RenderingData rendering EndXRRendering(cmd, context, ref renderingData.cameraData); + DrawWireOverlay(context, camera); DrawGizmos(context, camera, GizmoSubset.PostImageEffects); InternalFinishRendering(context, cameraData.resolveFinalTarget); @@ -809,6 +810,14 @@ void DrawGizmos(ScriptableRenderContext context, Camera camera, GizmoSubset gizm #endif } + [Conditional("UNITY_EDITOR")] + void DrawWireOverlay(ScriptableRenderContext context, Camera camera) + { +#if UNITY_EDITOR + context.DrawWireOverlay(camera); +#endif + } + // Fill in render pass indices for each block. End index is startIndex + 1. void FillBlockRanges(NativeArray blockEventLimits, NativeArray blockRanges) {