diff --git a/CHANGELOG.md b/CHANGELOG.md index aa243c6..9b42580 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ - Upgraded to Unity 2019. Dropped support for Unity 2018. - Removed `dynamicBatching` from Render Pipeline Asset. Configure dynamic batching in `Project Settings/Player/Others Settings` instead. +### Fixed + +- Fixed the gizmos being drawn in Game View. + ## [0.0.1] ### Added diff --git a/Runtime/SRP/VXGIRenderer.cs b/Runtime/SRP/VXGIRenderer.cs index 832365a..9ce69b3 100644 --- a/Runtime/SRP/VXGIRenderer.cs +++ b/Runtime/SRP/VXGIRenderer.cs @@ -114,7 +114,7 @@ public void RenderDeferred(ScriptableRenderContext renderContext, Camera camera, RenderTransparent(renderContext, camera); TriggerCameraEvent(renderContext, camera, CameraEvent.AfterForwardAlpha, vxgi); - renderContext.DrawGizmos(camera, GizmoSubset.PreImageEffects); + RenderGizmos(renderContext, camera, GizmoSubset.PreImageEffects); TriggerCameraEvent(renderContext, camera, CameraEvent.BeforeImageEffects, vxgi); RenderPostProcessing(renderContext, camera); @@ -123,7 +123,7 @@ public void RenderDeferred(ScriptableRenderContext renderContext, Camera camera, _command.Clear(); TriggerCameraEvent(renderContext, camera, CameraEvent.AfterImageEffects, vxgi); - renderContext.DrawGizmos(camera, GizmoSubset.PostImageEffects); + RenderGizmos(renderContext, camera, GizmoSubset.PostImageEffects); TriggerCameraEvent(renderContext, camera, CameraEvent.AfterEverything, vxgi); @@ -167,6 +167,15 @@ void RenderGBuffers(ScriptableRenderContext renderContext, Camera camera) { renderContext.DrawRenderers(_cullingResults, ref drawingSettings, ref _filteringSettings); } + [System.Diagnostics.Conditional("UNITY_EDITOR")] + void RenderGizmos(ScriptableRenderContext renderContext, Camera camera, GizmoSubset gizmoSubset) + { + if (UnityEditor.SceneView.currentDrawingSceneView?.drawGizmos ?? false) + { + renderContext.DrawGizmos(camera, gizmoSubset); + } + } + void RenderLighting(ScriptableRenderContext renderContext, Camera camera, VXGI vxgi) { Matrix4x4 clipToWorld = camera.cameraToWorldMatrix * GL.GetGPUProjectionMatrix(camera.projectionMatrix, false).inverse;