diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index a96db2acad0..5656481a28b 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -74,6 +74,12 @@ HDRP uses the [Volume](Volumes.md) framework to calculate SSGI, so to enable and ## Limitations +In Deferred rendering mode, Screen Space Global Illumination and Ray-Traced Global Illumination share a buffer with emissive, which overwrites emissive data. +There are multiple ways to recover the emissive contribution of the scene materials: +* Disable [Receive SSR/SSGI](snippets/shader-properties/surface-options/receive-ssr.md) flag on the emissive materials. +* Use [Force Forward Emissive](snippets/shader-properties/advanced-options/force-forward-emissive.md) on the emissive materials. +* Use Forward rendering. + ### Screen-space global illumination * When rendering [Reflection Probes](Reflection-Probe.md) screen space global illumination is not supported. diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs index b27e5d13731..f8352fb003e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs @@ -173,7 +173,10 @@ public override void OnInspectorGUI() } PropertyField(m_Enable); - + if (m_Enable.value.boolValue) + EditorGUILayout.HelpBox("Real-time Global Illumination overwrites emissive data in deferred rendering mode. To recover the emissive contribution, either use Force Forward Emissive or disable Receive SSR/SSGI flag on the emissive materials.", MessageType.Info); + EditorGUILayout.Space(); + // If ray tracing is supported display the content of the volume component if (HDRenderPipeline.buildPipelineSupportsRayTracing) PropertyField(m_Tracing);