From 259c34401db07c96142f93e48293b43c7176e78b Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Tue, 15 Dec 2020 13:46:31 +0100 Subject: [PATCH 01/28] [HDRP] Fix coat normal space (#2888) * Fix coat normal space * Update CHANGELOG.md Co-authored-by: Sebastien Lagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/ShaderGraph/HDBlockFields.cs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 7fc7a8cbfc7..b1c9d76e633 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Fixed probe volumes debug views. +- Fixed wrong coat normal space in shader graph ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDBlockFields.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDBlockFields.cs index 0d1b3e0566f..072dc1103d7 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDBlockFields.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDBlockFields.cs @@ -118,11 +118,11 @@ public struct SurfaceDescription // StackLit public static BlockFieldDescriptor CoatNormalOS = new BlockFieldDescriptor(SurfaceDescription.name, "CoatNormalOS", "Coat Normal (Object Space)", "SURFACEDESCRIPTION_COATNORMALOS", - new NormalControl(CoordinateSpace.Tangent), ShaderStage.Fragment); + new NormalControl(CoordinateSpace.Object), ShaderStage.Fragment); public static BlockFieldDescriptor CoatNormalTS = new BlockFieldDescriptor(SurfaceDescription.name, "CoatNormalTS", "Coat Normal (Tangent Space)", "SURFACEDESCRIPTION_COATNORMALTS", new NormalControl(CoordinateSpace.Tangent), ShaderStage.Fragment); public static BlockFieldDescriptor CoatNormalWS = new BlockFieldDescriptor(SurfaceDescription.name, "CoatNormalWS", "Coat Normal (World Space)", "SURFACEDESCRIPTION_COATNORMALWS", - new NormalControl(CoordinateSpace.Tangent), ShaderStage.Fragment); + new NormalControl(CoordinateSpace.World), ShaderStage.Fragment); public static BlockFieldDescriptor DielectricIor = new BlockFieldDescriptor(SurfaceDescription.name, "DielectricIor", "Dielectric IOR", "SURFACEDESCRIPTION_DIELECTRICIOR", new FloatControl(1.5f), ShaderStage.Fragment); public static BlockFieldDescriptor SmoothnessB = new BlockFieldDescriptor(SurfaceDescription.name, "SmoothnessB", "Smoothness B", "SURFACEDESCRIPTION_SMOOTHNESSB", From b68ce136928d816f5a42038bd4b92c95ed492359 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Tue, 15 Dec 2020 14:08:40 +0100 Subject: [PATCH 02/28] Avoid issues causing faulty transitions in shadows (resulting in no shadows with unconventional aspect ratio) (#2776) * Fixed volume component tooltips using the same parameter name (#2754) * Use the proper history info for Bicubic resampling in TAA (#2759) * Use proper info for previous buffer info * changelog * Fixed lookdev movement (#2757) Co-authored-by: sebastienlagarde * [HDRP] Fix issue with saving some quality settings in volume overrides (#2758) * Fix issue with saving some quality settings volume overrides * Fix typo in changelog Co-authored-by: sebastienlagarde * [HDRP] Fixed NullReferenceException in HDRenderPipeline.UpgradeResourcesIfNeeded (case 1292524) (#2765) * fix issue with confusing text (#2766) * Fix * Fix white dots * Changelog * Rename the sunrise icon to fix typo, causing issue with 2x resolution loading. (#2809) * [HDRP] Rename HDRP to HD Render Pipeline in menu item (#2819) * [HDRP] Update HDRP menu in shader graph * Update CHANGELOG.md * HDRP/Fix package version showing package after the last "verified" package (#2783) * Fix typo * Remove last version checker from wizard and add link to package manager instead * Update CHANGELOG.md * Update documentation * Update Render-Pipeline-Wizard.md Co-authored-by: Sebastien Lagarde * Revert bad changelog merge * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Adrien de Tocqueville Co-authored-by: sebastienlagarde Co-authored-by: Pavlos Mavridis Co-authored-by: John Parsaie Co-authored-by: Remi Slysz <40034005+RSlysz@users.noreply.github.com> --- .../CHANGELOG.md | 1 + .../Runtime/Lighting/Shadow/HDShadowAlgorithms.hlsl | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 280744ae150..d25e193a583 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed probe volumes debug views. - Fixed ShaderGraph Decal material not showing exposed properties. - Fixed wrong coat normal space in shader graph +- Fixed issue with faulty shadow transition when view is close to an object under some aspect ratio conditions ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowAlgorithms.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowAlgorithms.hlsl index 993ebf8155d..42b10834b90 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowAlgorithms.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowAlgorithms.hlsl @@ -206,12 +206,15 @@ int EvalShadow_GetSplitIndex(HDShadowContext shadowContext, int index, float3 po // The above code will generate transitions on the whole cascade sphere boundary. // It means that depending on the light and camera direction, sometimes the transition appears on the wrong side of the cascade - // To avoid that we attenuate the effect (lerp to 0.0) when view direction and cascade center to pixel vector face opposite directions. + // To avoid that we attenuate the effect (lerp very sharply to 0.0) when view direction and cascade center to pixel vector face opposite directions. // This way you only get fade out on the right side of the cascade. float3 viewDir = GetWorldSpaceViewDir(positionWS); - float cascDot = dot(viewDir, wposDir); - alpha = lerp(alpha, 0.0, saturate(cascDot * 4.0)); + float cascDot = dot(viewDir, wposDir); + // At high border sizes the sharp lerp is noticeable, hence we need to lerp how sharpenss factor + // if we are below 80% we keep the very sharp transition. + float lerpSharpness = 8.0f + 512.0f * smoothstep(1.0f, 0.7f, border);// lerp(1024.0f, 8.0f, saturate(border - 0.8) / 0.2f); + alpha = lerp(alpha, 0.0, saturate(cascDot * lerpSharpness)); return shadowSplitIndex; } @@ -298,7 +301,7 @@ float EvalShadow_CascadedDepth_Dither_SplitIndex(HDShadowContext shadowContext, /* We select what split we need to sample from */ float nextSplit = min(shadowSplitIndex + 1, cascadeCount - 1); - bool evalNextCascade = nextSplit != shadowSplitIndex && step(InterleavedGradientNoise(positionSS.xy, _TaaFrameInfo.z), alpha); + bool evalNextCascade = nextSplit != shadowSplitIndex && alpha > 0 && step(InterleavedGradientNoise(positionSS.xy, _TaaFrameInfo.z), alpha); if (evalNextCascade) { From 53096ecdc86f9772de06afc8ce4c84c02b02e67a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vauchelles?= <55485372+fredericv-unity3d@users.noreply.github.com> Date: Tue, 15 Dec 2020 14:24:30 +0100 Subject: [PATCH 03/28] Fixed invalid loop length for probe baking (case 1289680) (#2830) * Fixed invalid loop length for probe baking (case 1289680) # Conflicts: # com.unity.render-pipelines.high-definition/CHANGELOG.md # Conflicts: # com.unity.render-pipelines.high-definition/CHANGELOG.md * Update CHANGELOG.md Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Lighting/Reflection/HDBakedReflectionSystem.cs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index d25e193a583..859d0a18cd1 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed ShaderGraph Decal material not showing exposed properties. - Fixed wrong coat normal space in shader graph - Fixed issue with faulty shadow transition when view is close to an object under some aspect ratio conditions +- Fixed NullPointerException when baking probes from the lighting window (case 1289680) ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDBakedReflectionSystem.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDBakedReflectionSystem.cs index 24c687329b2..a07b3fd9edd 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDBakedReflectionSystem.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDBakedReflectionSystem.cs @@ -322,7 +322,7 @@ IScriptableBakedReflectionSystemStageNotifier handle // == 5. == // Create new baked state array - var targetSize = m_HDProbeBakedStates.Length + addCount - remCount; + var targetSize = m_HDProbeBakedStates.Length - remCount + toBakeIndicesList.Count; var targetBakedStates = stackalloc HDProbeBakedState[targetSize]; // Copy baked state that are not removed var targetI = 0; @@ -330,12 +330,14 @@ IScriptableBakedReflectionSystemStageNotifier handle { if (CoreUnsafeUtils.IndexOf(remIndices, remCount, i) != -1) continue; + Assert.IsTrue(targetI < targetSize); targetBakedStates[targetI++] = m_HDProbeBakedStates[i]; } // Add new baked states for (int i = 0; i < toBakeIndicesList.Count; ++i) { var state = states[toBakeIndicesList.GetUnchecked(i)]; + Assert.IsTrue(targetI < targetSize); targetBakedStates[targetI++] = new HDProbeBakedState { instanceID = state.instanceID, From 7339d48e2db42b01da85f15dd61ba94c59a57dfc Mon Sep 17 00:00:00 2001 From: Fabien Houlmann <44069206+fabien-unity@users.noreply.github.com> Date: Tue, 15 Dec 2020 08:25:19 -0500 Subject: [PATCH 04/28] Fix volumetric fog with XR single-pass (#2823) * fix volumetric fog with XR single-pass rendering * update changelog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 859d0a18cd1..06e7926de7d 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed wrong coat normal space in shader graph - Fixed issue with faulty shadow transition when view is close to an object under some aspect ratio conditions - Fixed NullPointerException when baking probes from the lighting window (case 1289680) +- Fixed volumetric fog with XR single-pass rendering. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs index 20d73addf1b..0c85a85f87b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs @@ -289,7 +289,9 @@ static internal Vector3Int ComputeVolumetricViewportSize(HDCamera hdCamera, ref int w = Mathf.RoundToInt(viewportWidth * screenFraction); int h = Mathf.RoundToInt(viewportHeight * screenFraction); - int d = sliceCount; + + // Round to nearest multiple of viewCount so that each views have the exact same number of slices (important for XR) + int d = hdCamera.viewCount * Mathf.CeilToInt(sliceCount / hdCamera.viewCount); return new Vector3Int(w, h, d); } From 85f887768e9e314de2b9e07241ac2e268e08f02a Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Tue, 15 Dec 2020 14:28:01 +0100 Subject: [PATCH 05/28] [HDRP] Fix rendering issues for the first frame (#2836) * Fix first frame exposure, depth pyramid / AO * Update changelog * Comment * Typo * Add missing RenderGraphBuilder.ReadTexture call * Move ComputePackedMipChainInfo at the beginning of ExecuteWithRenderGraph Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs | 4 +--- .../Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs | 3 +++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 06e7926de7d..4e4d7488671 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with faulty shadow transition when view is close to an object under some aspect ratio conditions - Fixed NullPointerException when baking probes from the lighting window (case 1289680) - Fixed volumetric fog with XR single-pass rendering. +- Fixed issues with first frame rendering when RenderGraph is used (auto exposure, AO) ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs index 3474889ab2b..bf1869b7ef9 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs @@ -317,9 +317,7 @@ TextureHandle DynamicExposurePass(RenderGraph renderGraph, HDCamera hdCamera, Te { passData.source = builder.ReadTexture(source); passData.parameters = PrepareApplyExposureParameters(hdCamera); - RTHandle prevExp; - GrabExposureHistoryTextures(hdCamera, out prevExp, out _); - passData.prevExposure = builder.ReadTexture(renderGraph.ImportTexture(prevExp)); + passData.prevExposure = builder.ReadTexture(renderGraph.ImportTexture(GetPreviousExposureTexture(hdCamera))); TextureHandle dest = GetPostprocessOutputHandle(renderGraph, "Apply Exposure Destination"); passData.destination = builder.WriteTexture(dest);; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 71ff12e3217..921ab7db237 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -34,6 +34,9 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, m_RenderGraph.Begin(renderGraphParams); + // We need to initalize the MipChainInfo here, so it will be available to any render graph pass that wants to use it during setup + m_DepthBufferMipChainInfo.ComputePackedMipChainInfo(new Vector2Int(hdCamera.actualWidth, hdCamera.actualHeight)); + #if UNITY_EDITOR var showGizmos = camera.cameraType == CameraType.Game || camera.cameraType == CameraType.SceneView; From 2653b9c6f42670ba1c46090b1d1e0118f7d0fe6a Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Tue, 15 Dec 2020 16:45:15 +0100 Subject: [PATCH 06/28] Update 5001_Fog_FogFallback.png --- .../WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png index b349366fe69..d7f80aed950 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2ea5750f51ba9e09f316821d92728e5855ecdd0f21ab6aea6c59d482a3051820 -size 91526 +oid sha256:f13d88c59b17f73930228657c72a1c8b169fe5bd9d92d993b2323243b5cefb48 +size 93497 From 95eb52e420770ae50b957258d59019e008cf4fc7 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Tue, 15 Dec 2020 18:14:55 +0100 Subject: [PATCH 07/28] Revert "Update 5001_Fog_FogFallback.png" This reverts commit 2653b9c6f42670ba1c46090b1d1e0118f7d0fe6a. --- .../WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png index d7f80aed950..b349366fe69 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5001_Fog_FogFallback.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f13d88c59b17f73930228657c72a1c8b169fe5bd9d92d993b2323243b5cefb48 -size 93497 +oid sha256:2ea5750f51ba9e09f316821d92728e5855ecdd0f21ab6aea6c59d482a3051820 +size 91526 From 33e694821a5f20d3c4aa9896c32e0d0a33d0c060 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Tue, 15 Dec 2020 19:00:28 +0100 Subject: [PATCH 08/28] Update 5001_Fog_FogFallback.unity --- .../5x_SkyAndFog/5001_Fog_FogFallback.unity | 549 ++++++++++-------- 1 file changed, 292 insertions(+), 257 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity index 495753c4348..6d0ffb5f598 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity @@ -167,6 +167,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -214,8 +215,13 @@ PrefabInstance: m_Modifications: - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_CharacterSize - value: 1 + propertyPath: m_Text + value: 'Sky: Procedural' + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} @@ -229,24 +235,39 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Text - value: 'Sky: Procedural' + propertyPath: m_CharacterSize + value: 1 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 - objectReference: {fileID: 0} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: testSettings value: objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.x + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.y + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.z + value: 0.027777778 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -262,6 +283,11 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalRotation.x @@ -277,16 +303,6 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -302,21 +318,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.x - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.y - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.z - value: 0.027777778 - objectReference: {fileID: 0} - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_Name @@ -373,6 +374,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -484,6 +486,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -628,6 +631,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -791,6 +795,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -872,6 +877,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -953,6 +959,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1074,53 +1081,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 7 - m_ObsoleteRenderingPath: 0 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 clearColorMode: 0 backgroundColorHDR: {r: 0.147, g: 0.08628003, b: 0.056594998, a: 0} clearDepth: 1 @@ -1176,6 +1136,53 @@ MonoBehaviour: data1: 0 data2: 0 defaultFrameSettings: 0 + m_Version: 7 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 --- !u!20 &519476226 Camera: m_ObjectHideFlags: 0 @@ -1276,6 +1283,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1357,6 +1365,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1438,6 +1447,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1520,6 +1530,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1648,6 +1659,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1729,6 +1741,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1767,6 +1780,42 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 766680937} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!84 &817304940 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 3 + m_Width: 640 + m_Height: 360 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthFormat: 2 + m_ColorFormat: 4 + m_MipMap: 0 + m_GenerateMips: 0 + m_SRGB: 1 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 --- !u!1 &827168648 GameObject: m_ObjectHideFlags: 0 @@ -1810,6 +1859,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1848,42 +1898,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 827168648} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!84 &829383082 -RenderTexture: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_ImageContentsHash: - serializedVersion: 2 - Hash: 00000000000000000000000000000000 - m_ForcedFallbackFormat: 4 - m_DownscaleFallback: 0 - m_IsAlphaChannelOptional: 0 - serializedVersion: 3 - m_Width: 640 - m_Height: 360 - m_AntiAliasing: 1 - m_MipCount: -1 - m_DepthFormat: 2 - m_ColorFormat: 4 - m_MipMap: 0 - m_GenerateMips: 0 - m_SRGB: 1 - m_UseDynamicScale: 0 - m_BindMS: 0 - m_EnableCompatibleFormat: 1 - m_TextureSettings: - serializedVersion: 2 - m_FilterMode: 1 - m_Aniso: 1 - m_MipBias: 0 - m_WrapU: 1 - m_WrapV: 1 - m_WrapW: 1 - m_Dimension: 2 - m_VolumeDepth: 1 --- !u!1 &841110273 GameObject: m_ObjectHideFlags: 0 @@ -1993,6 +2007,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2040,8 +2055,13 @@ PrefabInstance: m_Modifications: - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_CharacterSize - value: 1 + propertyPath: m_Text + value: 'Sky: HDRI' + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} @@ -2055,24 +2075,39 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Text - value: 'Sky: HDRI' + propertyPath: m_CharacterSize + value: 1 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 - objectReference: {fileID: 0} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: testSettings value: objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.x + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.y + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.z + value: 0.027777778 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -2088,6 +2123,11 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalRotation.x @@ -2103,16 +2143,6 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -2128,21 +2158,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.x - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.y - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.z - value: 0.027777778 - objectReference: {fileID: 0} - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_Name @@ -2186,22 +2201,16 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 m_Intensity: 20 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 m_LightDimmer: 1 m_VolumetricDimmer: 1 m_LightUnit: 2 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -2216,6 +2225,9 @@ MonoBehaviour: m_ApplyRangeAttenuation: 1 m_DisplayAreaLightEmissiveMesh: 0 m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -2265,6 +2277,10 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 @@ -2287,6 +2303,14 @@ MonoBehaviour: m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 --- !u!108 &1034738649 Light: m_ObjectHideFlags: 0 @@ -2404,8 +2428,13 @@ PrefabInstance: m_Modifications: - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_CharacterSize - value: 1 + propertyPath: m_Text + value: Color + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} @@ -2419,24 +2448,39 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Text - value: Color + propertyPath: m_CharacterSize + value: 1 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 - objectReference: {fileID: 0} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: testSettings value: objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.x + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.y + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.z + value: 0.027777778 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -2452,6 +2496,11 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalRotation.x @@ -2467,16 +2516,6 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -2492,21 +2531,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.x - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.y - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.z - value: 0.027777778 - objectReference: {fileID: 0} - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_Name @@ -2617,6 +2641,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2685,6 +2710,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2858,9 +2884,10 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _UnlitColorMap: - m_Texture: {fileID: 829383082} + m_Texture: {fileID: 817304940} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AORemapMax: 1 - _AORemapMin: 0 @@ -2874,6 +2901,7 @@ Material: - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -2939,6 +2967,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -3049,6 +3078,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3096,8 +3126,13 @@ PrefabInstance: m_Modifications: - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_CharacterSize - value: 1 + propertyPath: m_Text + value: 'Sky: Gradient' + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} @@ -3111,24 +3146,39 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Text - value: 'Sky: Gradient' + propertyPath: m_CharacterSize + value: 1 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 - objectReference: {fileID: 0} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: testSettings value: objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.x + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.y + value: 0.027777778 + objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalScale.z + value: 0.027777778 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -3144,6 +3194,11 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalRotation.x @@ -3159,16 +3214,6 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalEulerAnglesHint.x @@ -3184,21 +3229,6 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.x - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.y - value: 0.027777778 - objectReference: {fileID: 0} - - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_LocalScale.z - value: 0.027777778 - objectReference: {fileID: 0} - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_Name @@ -3255,6 +3285,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3384,6 +3415,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3501,6 +3533,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3582,6 +3615,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3663,6 +3697,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3750,6 +3785,10 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.x value: 0 @@ -3762,6 +3801,10 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalRotation.x value: -0 @@ -3774,14 +3817,6 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} - - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 0 @@ -3796,18 +3831,18 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: orthographic + propertyPath: m_Enabled value: 1 objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: orthographic size - value: 0.5 + propertyPath: orthographic + value: 1 objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_Enabled - value: 1 + propertyPath: orthographic size + value: 0.5 objectReference: {fileID: 0} - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -3821,8 +3856,8 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: ImageComparisonSettings.TargetHeight - value: 360 + propertyPath: xrThresholdMultiplier + value: 1.9 objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -3831,8 +3866,8 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: xrThresholdMultiplier - value: 1.3 + propertyPath: ImageComparisonSettings.TargetHeight + value: 360 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} From fcd7472fdf49aae071b8e442a67c937b1d507545 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Wed, 16 Dec 2020 18:09:28 +0100 Subject: [PATCH 09/28] Fix AOV API for render graph (#2909) * Fix AOV api in rendergraph # Conflicts: # com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs * Update changelog --- .../CHANGELOG.md | 1 + .../HDRenderPipeline.RenderGraph.cs | 15 ++++++++------- .../Runtime/RenderPipeline/HDRenderPipeline.cs | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 4e4d7488671..983af5dad9e 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed NullPointerException when baking probes from the lighting window (case 1289680) - Fixed volumetric fog with XR single-pass rendering. - Fixed issues with first frame rendering when RenderGraph is used (auto exposure, AO) +- Fixed AOV api in render graph (case 1296605) ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 921ab7db237..a18ee8ad25c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -15,6 +15,7 @@ class TempPassData {}; void ExecuteWithRenderGraph(RenderRequest renderRequest, AOVRequestData aovRequest, List aovBuffers, + List aovCustomPassBuffers, ScriptableRenderContext renderContext, CommandBuffer commandBuffer) { @@ -187,7 +188,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, ClearStencilBuffer(m_RenderGraph, colorBuffer, prepassOutput.depthBuffer); } - colorBuffer = RenderTransparency(m_RenderGraph, hdCamera, colorBuffer, prepassOutput.resolvedNormalBuffer, vtFeedbackBuffer, currentColorPyramid, volumetricLighting, rayCountTexture, m_SkyManager.GetSkyReflection(hdCamera), gpuLightListOutput, ref prepassOutput, shadowResult, cullingResults, customPassCullingResults, aovRequest, aovBuffers); + colorBuffer = RenderTransparency(m_RenderGraph, hdCamera, colorBuffer, prepassOutput.resolvedNormalBuffer, vtFeedbackBuffer, currentColorPyramid, volumetricLighting, rayCountTexture, m_SkyManager.GetSkyReflection(hdCamera), gpuLightListOutput, ref prepassOutput, shadowResult, cullingResults, customPassCullingResults, aovRequest, aovCustomPassBuffers); if (hdCamera.frameSettings.IsEnabled(FrameSettingsField.TransparentsWriteMotionVector)) { @@ -251,7 +252,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, // At this point, the color buffer has been filled by either debug views are regular rendering so we can push it here. var colorPickerTexture = PushColorPickerDebugTexture(m_RenderGraph, colorBuffer); - RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.BeforePostProcess, aovRequest, aovBuffers); + RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.BeforePostProcess, aovRequest, aovCustomPassBuffers); if (aovRequest.isValid) { @@ -267,7 +268,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, } PushFullScreenExposureDebugTexture(m_RenderGraph, postProcessDest); - RenderCustomPass(m_RenderGraph, hdCamera, postProcessDest, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.AfterPostProcess, aovRequest, aovBuffers); + RenderCustomPass(m_RenderGraph, hdCamera, postProcessDest, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.AfterPostProcess, aovRequest, aovCustomPassBuffers); CopyXRDepth(m_RenderGraph, hdCamera, prepassOutput.depthBuffer, backBuffer); @@ -322,7 +323,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, // aovRequest.Execute don't go through render graph for now using (new ProfilingScope(commandBuffer, ProfilingSampler.Get(HDProfileId.AOVExecute))) { - aovRequest.Execute(commandBuffer, aovBuffers, RenderOutputProperties.From(hdCamera)); + aovRequest.Execute(commandBuffer, aovBuffers, aovCustomPassBuffers, RenderOutputProperties.From(hdCamera)); } } } @@ -895,7 +896,7 @@ TextureHandle RenderTransparency(RenderGraph renderGraph, CullingResults cullingResults, CullingResults customPassCullingResults, AOVRequestData aovRequest, - List aovBuffers) + List aovCustomPassBuffers) { RenderTransparentDepthPrepass(renderGraph, hdCamera, prepassOutput, cullingResults); @@ -908,7 +909,7 @@ TextureHandle RenderTransparency(RenderGraph renderGraph, // To allow users to fetch the current color buffer, we temporarily bind the camera color buffer SetGlobalColorForCustomPass(renderGraph, currentColorPyramid); - RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.BeforePreRefraction, aovRequest, aovBuffers); + RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.BeforePreRefraction, aovRequest, aovCustomPassBuffers); // Render pre-refraction objects RenderForwardTransparent(renderGraph, hdCamera, colorBuffer, normalBuffer, prepassOutput, vtFeedbackBuffer, volumetricLighting, ssrLightingBuffer, null, lightLists, shadowResult, cullingResults, true); @@ -920,7 +921,7 @@ TextureHandle RenderTransparency(RenderGraph renderGraph, } // We don't have access to the color pyramid with transparent if rough refraction is disabled - RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.BeforeTransparent, aovRequest, aovBuffers); + RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.BeforeTransparent, aovRequest, aovCustomPassBuffers); // Render all type of transparent forward (unlit, lit, complex (hair...)) to keep the sorting between transparent objects. RenderForwardTransparent(renderGraph, hdCamera, colorBuffer, normalBuffer, prepassOutput, vtFeedbackBuffer, volumetricLighting, ssrLightingBuffer, currentColorPyramid, lightLists, shadowResult, cullingResults, false); 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 068f606b1e2..a2a7935591c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -2116,7 +2116,7 @@ AOVRequestData aovRequest try { - ExecuteWithRenderGraph(renderRequest, aovRequest, aovBuffers, renderContext, cmd); + ExecuteWithRenderGraph(renderRequest, aovRequest, aovBuffers, aovCustomPassBuffers, renderContext, cmd); } catch (Exception e) { From 94f389887d6f498f8ede9603e309769326b2cc10 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Thu, 17 Dec 2020 11:45:48 +0100 Subject: [PATCH 10/28] Fix a small discrepancy in the marker placement in light intensity sliders (#2924) --- .../CHANGELOG.md | 1 + .../Editor/Lighting/LightUnit/LightUnitSlider.cs | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 983af5dad9e..e0ca0f8a782 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed volumetric fog with XR single-pass rendering. - Fixed issues with first frame rendering when RenderGraph is used (auto exposure, AO) - Fixed AOV api in render graph (case 1296605) +- Fixed a small discrepancy in the marker placement in light intensity sliders (case 1299750) ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs index a5e931857a3..b9327690e24 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs @@ -21,6 +21,7 @@ static class SliderConfig public const float k_MarkerHeight = 2; public const float k_MarkerTooltipScale = 4; public const float k_ThumbTooltipSize = 10; + public const float k_KnobSize = 10; } protected static class SliderStyles @@ -118,11 +119,16 @@ void DoSliderMarker(Rect rect, float position, float value, string tooltip) // Vertically align with slider. markerRect.y += (EditorGUIUtility.singleLineHeight / 2f) - 1; - // Horizontally place on slider. - const float halfWidth = width * 0.5f; - markerRect.x = rect.x + rect.width * position; + // Horizontally place on slider. We need to take into account the "knob" size when doing this, because position 0 and 1 starts + // at the center of the knob when it's placed at the left and right corner respectively. We don't do this adjustment when placing + // the marker at the corners (to avoid havind the slider slightly extend past the marker) + float knobSize = (position > 0f && position < 1f) ? SliderConfig.k_KnobSize : 0f; + float start = rect.x + knobSize / 2f; + float range = rect.width - knobSize; + markerRect.x = start + range * position; // Center the marker on value. + const float halfWidth = width * 0.5f; markerRect.x -= halfWidth; // Clamp to the slider edges. From fb1ec50c047e9e511d7e0a22517202f3278c3843 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 17 Dec 2020 12:08:17 +0100 Subject: [PATCH 11/28] Update CHANGELOG.md --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 1fb407e7c70..77da168af2e 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -28,11 +28,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed computation of geometric normal in path tracing (case 1293029). - Fixed issues with path-traced volumetric scattering (cases 1295222, 1295234). - Fixed the default background color for previews to use the original color. -- Fixed wrong coat normal space in shader graph -- Fixed issue with faulty shadow transition when view is close to an object under some aspect ratio conditions -- Fixed NullPointerException when baking probes from the lighting window (case 1289680) -- Fixed volumetric fog with XR single-pass rendering. -- Fixed issues with first frame rendering when RenderGraph is used (auto exposure, AO) - Fixed AOV api in render graph (case 1296605) - Fixed a small discrepancy in the marker placement in light intensity sliders (case 1299750) From abb5bb5c16660ed21fa09c72599a78bb7877ff8c Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Thu, 17 Dec 2020 12:09:35 +0100 Subject: [PATCH 12/28] Fix issue with VT spewing errors when transparent and opaque are disabled (#2925) * Fix * Changelog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Material/VTBufferManager.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 77da168af2e..deda52d1805 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -30,6 +30,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed the default background color for previews to use the original color. - Fixed AOV api in render graph (case 1296605) - Fixed a small discrepancy in the marker placement in light intensity sliders (case 1299750) +- Fixed issue with VT resolve pass rendergraph errors when opaque and transparent are disabled in frame settings. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/VTBufferManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Material/VTBufferManager.cs index 4dff2b2f805..3df52295680 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/VTBufferManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/VTBufferManager.cs @@ -19,7 +19,7 @@ public static TextureHandle CreateVTFeedbackBuffer(RenderGraph renderGraph, bool return renderGraph.CreateTexture( new TextureDesc(Vector2.one, true, true) { - colorFormat = GetFeedbackBufferFormat(), enableRandomWrite = !msaa, bindTextureMS = msaa, enableMSAA = msaa, clearBuffer = true, clearColor = Color.white, name = msaa ? "VTFeedbackMSAA" : "VTFeedback" + colorFormat = GetFeedbackBufferFormat(), enableRandomWrite = !msaa, bindTextureMS = msaa, enableMSAA = msaa, clearBuffer = true, clearColor = Color.white, name = msaa ? "VTFeedbackMSAA" : "VTFeedback", fallBackToBlackTexture = true #if UNITY_2020_2_OR_NEWER , fastMemoryDesc = colorFastMemDesc From 6a47be7ba1853a80c5dafbc789743bf1eac01dd4 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Thu, 17 Dec 2020 12:10:32 +0100 Subject: [PATCH 13/28] Fixed a bug in the sphere-aabb light cluster (case 1294767). (#2920) Co-authored-by: sebastienlagarde --- .../ShaderLibrary/GeometricTools.hlsl | 9 +++++++ .../CHANGELOG.md | 1 + .../Raytracing/HDRaytracingLightCluster.cs | 16 ++++++++----- .../Shaders/RaytracingLightCluster.compute | 24 +++---------------- 4 files changed, 23 insertions(+), 27 deletions(-) diff --git a/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl b/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl index 289cb6a92b1..99784432eed 100644 --- a/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl +++ b/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl @@ -182,6 +182,15 @@ bool IntersectRayCone(float3 rayOrigin, float3 rayDirection, return hit; } +bool IntersectSphereAABB(float3 position, float radius, float3 aabbMin, float3 aabbMax) +{ + float x = max(aabbMin.x, min(position.x, aabbMax.x)); + float y = max(aabbMin.y, min(position.y, aabbMax.y)); + float z = max(aabbMin.z, min(position.z, aabbMax.z)); + float distance2 = ((x - position.x) * (x - position.x) + (y - position.y) * (y - position.y) + (z - position.z) * (z - position.z)); + return distance2 < radius * radius; +} + //----------------------------------------------------------------------------- // Miscellaneous functions //----------------------------------------------------------------------------- diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index deda52d1805..1e2de85461e 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -31,6 +31,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed AOV api in render graph (case 1296605) - Fixed a small discrepancy in the marker placement in light intensity sliders (case 1299750) - Fixed issue with VT resolve pass rendergraph errors when opaque and transparent are disabled in frame settings. +- Fixed a bug in the sphere-aabb light cluster (case 1294767). ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs index 658138dee2e..5b5c07cadee 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs @@ -323,15 +323,19 @@ void BuildGPULightVolumes(HDCamera hdCamera, HDRayTracingLights rayTracingLights { HDProbe currentEnvLight = rayTracingLights.reflectionProbeArray[lightIdx]; - // Compute the camera relative position - Vector3 probePositionRWS = currentEnvLight.influenceToWorld.GetColumn(3); - if (ShaderConfig.s_CameraRelativeRendering != 0) - { - probePositionRWS -= hdCamera.camera.transform.position; - } if (currentEnvLight != null) { + // If the reflection probe is disabled, we should not be adding it + if (!currentEnvLight.enabled) continue; + + // Compute the camera relative position + Vector3 probePositionRWS = currentEnvLight.influenceToWorld.GetColumn(3); + if (ShaderConfig.s_CameraRelativeRendering != 0) + { + probePositionRWS -= hdCamera.camera.transform.position; + } + if (currentEnvLight.influenceVolume.shape == InfluenceShape.Sphere) { m_LightVolumesCPUArray[lightIdx + indexOffset].shape = 0; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightCluster.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightCluster.compute index 0de82b4e769..869edc03308 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightCluster.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightCluster.compute @@ -8,6 +8,7 @@ #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/ShaderVariablesRaytracingLightLoop.hlsl" +#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl" #define CLUSTER_GROUP_SIZE 8 @@ -78,27 +79,8 @@ void RaytracingLightCluster(uint3 threadID : SV_GroupThreadID, uint3 groupId : S if (currentLight.shape == 0) { - // When the shape we are processing is a sphere, the radius is stored in the three channels - float squareRange = currentLight.range.x * currentLight.range.x; - - // So basically we need to flag this cell if one of the corners of the cell happens to be in the sphere - for(uint cIdx = 0; cIdx < 8; ++cIdx) - { - // Check if this corner is inside the shphere - float3 dir = currentLight.position - (cellCenterPosition + CornerSubDirections[cIdx] * _ClusterCellSize); - if(dot(dir, dir) <= squareRange) - { - intersects = true; - break; - } - } - - // One additional case that we need to check is: Is the light inside the cell? - if (!intersects) - { - float3 distanceToCenter = abs(cellCenterPosition - currentLight.position) * 2.0; - intersects = (distanceToCenter.x < _ClusterCellSize.x) && (distanceToCenter.y < _ClusterCellSize.y) && (distanceToCenter.z < _ClusterCellSize.z); - } + // Do a box sphere intersection + intersects = IntersectSphereAABB(currentLight.position, currentLight.range.x, cellCenterPosition + CornerSubDirections[0] * _ClusterCellSize, cellCenterPosition + CornerSubDirections[7] * _ClusterCellSize); } else { From 4b1ac9c548ae55cec5e30e03273e493f1963f217 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 17 Dec 2020 12:30:30 +0100 Subject: [PATCH 14/28] Move EndCameraRendering callback out of the profiling scope (#2917) * Move EndCameraRendering callback out of the profiling scope * added a comment Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/HDRenderPipeline.cs | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 1e2de85461e..3e9f717ebf7 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -32,6 +32,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed a small discrepancy in the marker placement in light intensity sliders (case 1299750) - Fixed issue with VT resolve pass rendergraph errors when opaque and transparent are disabled in frame settings. - Fixed a bug in the sphere-aabb light cluster (case 1294767). +- Fixed issue when submitting SRPContext during EndCameraRendering. ### Changed - Removed the material pass probe volumes evaluation mode. 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 88bfa3ea814..8318f3e8d5e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -1902,9 +1902,11 @@ ref _cullingResults cmd.SetInvertCulling(renderRequest.cameraSettings.invertFaceCulling); ExecuteRenderRequest(renderRequest, renderContext, cmd, AOVRequestData.defaultAOVRequestDataNonAlloc); cmd.SetInvertCulling(false); - UnityEngine.Rendering.RenderPipeline.EndCameraRendering(renderContext, renderRequest.hdCamera.camera); } + // EndCameraRendering callback should be executed outside of any profiling scope in case user code submits the renderContext + EndCameraRendering(renderContext, renderRequest.hdCamera.camera); + { var target = renderRequest.target; // Handle the copy if requested From 980307bf4c21c8094bc685e9375c929211e37720 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Thu, 17 Dec 2020 12:33:13 +0100 Subject: [PATCH 15/28] Fixed baked light being included into the ray tracing light cluster (case 1296203). (#2915) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../RenderPipeline/Raytracing/HDRaytracingLightCluster.cs | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 3e9f717ebf7..171f464eba4 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -33,6 +33,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with VT resolve pass rendergraph errors when opaque and transparent are disabled in frame settings. - Fixed a bug in the sphere-aabb light cluster (case 1294767). - Fixed issue when submitting SRPContext during EndCameraRendering. +- Fixed baked light being included into the ray tracing light cluster (case 1296203). ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs index 5b5c07cadee..78f7102a51a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs @@ -265,8 +265,14 @@ void BuildGPULightVolumes(HDCamera hdCamera, HDRayTracingLights rayTracingLights if (currentLight != null) { Light light = currentLight.gameObject.GetComponent(); - if (light == null || !light.enabled) continue; + if (light == null || !light.enabled) + continue; + + // If the light is flagged as baked and has been effectively been baked, we need to skip it and not add it to the light cluster + if (light.lightmapBakeType == LightmapBakeType.Baked && light.bakingOutput.isBaked) + continue; + // If this light should not be included when ray tracing is active on the camera, skip it if (hdCamera.frameSettings.IsEnabled(FrameSettingsField.RayTracing) && !currentLight.includeForRayTracing) continue; From f7388933e232379964b8f4342d2274b68df607a3 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 17 Dec 2020 12:36:59 +0100 Subject: [PATCH 16/28] Handle all enums the same way for UI (#2913) Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../ShaderGraph/SubTargetPropertyBlock.cs | 17 +---------------- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 171f464eba4..fcc611b7ce8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed a bug in the sphere-aabb light cluster (case 1294767). - Fixed issue when submitting SRPContext during EndCameraRendering. - Fixed baked light being included into the ray tracing light cluster (case 1296203). +- Fixed enums UI for the shadergraph nodes. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SubTargetPropertyBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SubTargetPropertyBlock.cs index f5830463175..8b06165ecb5 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SubTargetPropertyBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SubTargetPropertyBlock.cs @@ -48,22 +48,7 @@ protected void AddProperty(GUIContent displayName, Func getter, Acti case bool b: elem = new Toggle { value = b, tooltip = displayName.tooltip } as BaseField; break; case int i: elem = new IntegerField { value = i, tooltip = displayName.tooltip } as BaseField; break; case float f: elem = new FloatField { value = f, tooltip = displayName.tooltip } as BaseField; break; - case SurfaceType e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case RenderQueueType e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case BlendMode e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case CompareFunction e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case TransparentCullMode e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case DoubleSidedMode e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case NormalDropOffSpace e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case HDLitData.MaterialType e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case DistortionMode e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case ScreenSpaceRefraction.RefractionModel e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case SpecularOcclusionMode e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case FabricData.MaterialType e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case EyeData.MaterialType e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case StackLit.BaseParametrization e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case StackLit.DualSpecularLobeParametrization e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; - case OpaqueCullMode e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip } as BaseField; break; + case Enum e: elemEnum = new EnumField(e) { value = e, tooltip = displayName.tooltip }; break; default: throw new Exception($"Can't create UI field for type {getter().GetType()}, please add it if it's relevant. If you can't consider using TargetPropertyGUIContext.AddProperty instead."); } From a20e885e600765a1dbf99b21de197e74602bdb78 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Thu, 17 Dec 2020 12:38:28 +0100 Subject: [PATCH 17/28] Changed the message when the graphics device doesn't support ray tracing (case 1287355). (#2916) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs | 1 + .../Editor/RenderPipeline/HDRenderPipelineUI.cs | 9 ++++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index fcc611b7ce8..51247aa04b8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -46,6 +46,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - The DrawRenderers function of CustomPassUtils class now takes a sortingCriteria in parameter. - When in half res, RTR denoising is executed at half resolution and the upscale happens at the end. - Removed the upscale radius from the RTR. +- Changed the message when the graphics device doesn't support ray tracing (case 1287355). ## [10.3.0] - 2020-12-01 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs index 9716567ee78..405e2e65e37 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs @@ -131,6 +131,7 @@ public class GeneralSection public static readonly GUIContent supportRaytracing = EditorGUIUtility.TrTextContent("Realtime Raytracing (Preview)"); public static readonly GUIContent supportedRayTracingMode = EditorGUIUtility.TrTextContent("Supported Ray Tracing Mode (Preview)"); public static readonly GUIContent rayTracingUnsupportedWarning = EditorGUIUtility.TrTextContent("Ray tracing is not supported on your device. Please refer to the documentation."); + public static readonly GUIContent rayTracingDX12OnlyWarning = EditorGUIUtility.TrTextContent("Ray tracing is currently only supported on DX12."); public static readonly GUIContent maximumLODLevel = EditorGUIUtility.TrTextContent("Maximum LOD Level"); public static readonly GUIContent LODBias = EditorGUIUtility.TrTextContent("LOD Bias"); internal static readonly GUIContent supportProbeVolumeContent = EditorGUIUtility.TrTextContent("Probe Volume", "When enabled, HDRP allocates Shader variants and memory for probe volume based GI. This allows you to use probe volumes in your Unity Project."); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs index 4c8c3bc927b..168cfbd3373 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -951,7 +951,14 @@ static void Drawer_SectionRenderingUnsorted(SerializedHDRenderPipelineAsset seri EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportedRayTracingMode, Styles.supportedRayTracingMode); if (serialized.renderPipelineSettings.supportRayTracing.boolValue && !UnityEngine.SystemInfo.supportsRayTracing) { - EditorGUILayout.HelpBox(Styles.rayTracingUnsupportedWarning.text, MessageType.Warning, wide: true); + if (PlayerSettings.GetGraphicsAPIs(EditorUserBuildSettings.activeBuildTarget)[0] != GraphicsDeviceType.Direct3D12) + { + EditorGUILayout.HelpBox(Styles.rayTracingDX12OnlyWarning.text, MessageType.Warning, wide: true); + } + else + { + EditorGUILayout.HelpBox(Styles.rayTracingUnsupportedWarning.text, MessageType.Warning, wide: true); + } } --EditorGUI.indentLevel; } From 2784ac6d41af368e0da5e496ce7bddf478463b92 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Thu, 17 Dec 2020 12:40:12 +0100 Subject: [PATCH 18/28] [HDRP] Fix default blocks for Hair and Eye shader graphs (#2919) * Fixed default eye shader blocks * Fix missing emission block in hair shader * Updated changelog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs | 1 - .../Editor/Material/Hair/ShaderGraph/CreateHairShaderGraph.cs | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 51247aa04b8..7ac109f0b0f 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue when submitting SRPContext during EndCameraRendering. - Fixed baked light being included into the ray tracing light cluster (case 1296203). - Fixed enums UI for the shadergraph nodes. +- Fixed ShaderGraph stack blocks appearing when opening the settings in Hair and Eye ShaderGraphs. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs index e59924e67c7..e30afa82d3d 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs @@ -18,7 +18,6 @@ public static void CreateEyeGraph() BlockFields.VertexDescription.Tangent, BlockFields.SurfaceDescription.BaseColor, BlockFields.SurfaceDescription.NormalTS, - HDBlockFields.SurfaceDescription.IrisNormalTS, HDBlockFields.SurfaceDescription.BentNormal, BlockFields.SurfaceDescription.Smoothness, HDBlockFields.SurfaceDescription.IOR, diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/CreateHairShaderGraph.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/CreateHairShaderGraph.cs index 2a5d87b27a3..f9cece74c18 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/CreateHairShaderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/CreateHairShaderGraph.cs @@ -30,6 +30,7 @@ public static void CreateHairGraph() HDBlockFields.SurfaceDescription.SecondarySpecularTint, HDBlockFields.SurfaceDescription.SecondarySmoothness, HDBlockFields.SurfaceDescription.SecondarySpecularShift, + BlockFields.SurfaceDescription.Emission, }; GraphUtil.CreateNewGraphWithOutputs(new[] {target}, blockDescriptors); From b42cae6aa2e47fb98090002ea95dbf7871cb601d Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 17 Dec 2020 13:19:17 +0100 Subject: [PATCH 19/28] Init scene camera debug framesettings (#2931) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/Settings/FrameSettingsHistory.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 7ac109f0b0f..f4ab1b4cb01 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed baked light being included into the ray tracing light cluster (case 1296203). - Fixed enums UI for the shadergraph nodes. - Fixed ShaderGraph stack blocks appearing when opening the settings in Hair and Eye ShaderGraphs. +- Fixed white screen when undoing in the editor. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettingsHistory.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettingsHistory.cs index 125120fabad..c5670155fb5 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettingsHistory.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettingsHistory.cs @@ -62,7 +62,7 @@ string IFrameSettingsHistoryContainer.panelName => "Scene Camera"; public MinimalHistoryContainer() - => m_FrameSettingsHistory.debug = HDRenderPipeline.defaultAsset?.GetDefaultFrameSettings(FrameSettingsRenderType.Camera) ?? new FrameSettings(); + => m_FrameSettingsHistory.debug = HDRenderPipeline.defaultAsset?.GetDefaultFrameSettings(FrameSettingsRenderType.Camera) ?? FrameSettings.NewDefaultCamera(); Action IDebugData.GetReset() //caution: we actually need to retrieve the From 206479450e8ab6972697760703a840365e0207f6 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Thu, 17 Dec 2020 13:36:38 +0100 Subject: [PATCH 20/28] Fixed using the wrong method to define if a light should be included in the light cluster depending on its baking status. (#2932) * - Fixed using the wrong method to define if a light should be included in the light cluster depending on its baking status. * Update CHANGELOG.md Co-authored-by: sebastienlagarde --- .../RenderPipeline/Raytracing/HDRaytracingLightCluster.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs index 78f7102a51a..1b1a15d7b21 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs @@ -269,7 +269,7 @@ void BuildGPULightVolumes(HDCamera hdCamera, HDRayTracingLights rayTracingLights continue; // If the light is flagged as baked and has been effectively been baked, we need to skip it and not add it to the light cluster - if (light.lightmapBakeType == LightmapBakeType.Baked && light.bakingOutput.isBaked) + if (light.bakingOutput.lightmapBakeType == LightmapBakeType.Baked && light.bakingOutput.isBaked) continue; // If this light should not be included when ray tracing is active on the camera, skip it From 2fccfa95c70d1f7dc0d32418a61bb48a6f0c3477 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Thu, 17 Dec 2020 13:38:54 +0100 Subject: [PATCH 21/28] [HDRP] Change the behavior of custom passes when the volume is disabled (#2930) * Changed the behavior of custom passes when the Custom Pass Volume component is disabled * Updated changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../RenderPipeline/RenderPass/CustomPass/CustomPassVolume.cs | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index f4ab1b4cb01..ccab5ab3375 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -49,6 +49,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - When in half res, RTR denoising is executed at half resolution and the upscale happens at the end. - Removed the upscale radius from the RTR. - Changed the message when the graphics device doesn't support ray tracing (case 1287355). +- When a Custom Pass Volume is disabled, the custom pass Cleanup() function is called, it allows to release resources when the volume isn't used anymore. ## [10.3.0] - 2020-12-01 diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassVolume.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassVolume.cs index 4979f357f1c..3f5c5c4ad01 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassVolume.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassVolume.cs @@ -88,13 +88,12 @@ void OnEnable() void OnDisable() { UnRegister(this); + CleanupPasses(); #if UNITY_EDITOR UnityEditor.SceneVisibilityManager.visibilityChanged -= UpdateCustomPassVolumeVisibility; #endif } - void OnDestroy() => CleanupPasses(); - #if UNITY_EDITOR void UpdateCustomPassVolumeVisibility() { From 4befd38ce0d6447c0ec1fe49625df3d0b0a672f1 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Thu, 17 Dec 2020 16:57:24 +0100 Subject: [PATCH 22/28] Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels (#2921) * Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels * Update changelog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index ccab5ab3375..f2a97c53623 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -37,6 +37,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed enums UI for the shadergraph nodes. - Fixed ShaderGraph stack blocks appearing when opening the settings in Hair and Eye ShaderGraphs. - Fixed white screen when undoing in the editor. +- Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs index f769a62783c..45ba28d1bf2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs @@ -265,7 +265,7 @@ static void Drawer_SectionRenderingSettings(SerializedFrameSettings serialized, hasMixedValues: serialized.lodBiasQualityLevel.hasMultipleDifferentValues); area.AmmendInfo(FrameSettingsField.LODBias, - overridedDefaultValue: QualitySettings.lodBias, + overridedDefaultValue: hdrpSettings.lodBias[serialized.lodBiasQualityLevel.intValue], customGetter: () => serialized.lodBias.floatValue, customSetter: v => serialized.lodBias.floatValue = (float)v, customOverrideable: () => serialized.lodBiasMode.GetEnumValue() != LODBiasMode.FromQualitySettings, @@ -287,7 +287,7 @@ static void Drawer_SectionRenderingSettings(SerializedFrameSettings serialized, hasMixedValues: serialized.maximumLODLevelQualityLevel.hasMultipleDifferentValues); area.AmmendInfo(FrameSettingsField.MaximumLODLevel, - overridedDefaultValue: QualitySettings.maximumLODLevel, + overridedDefaultValue: hdrpSettings.maximumLODLevel[serialized.maximumLODLevelQualityLevel.intValue], customGetter: () => serialized.maximumLODLevel.intValue, customSetter: v => serialized.maximumLODLevel.intValue = (int)v, customOverrideable: () => serialized.maximumLODLevelMode.GetEnumValue() != MaximumLODLevelMode.FromQualitySettings, From 1d8d6c55c427851aeda641a4cc3ec16039164bc2 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Thu, 17 Dec 2020 16:58:05 +0100 Subject: [PATCH 23/28] Fixed an issue when trying to open a look dev env library when Look Dev is not supported. (#2929) * Fixed an issue when trying to open a look dev env library when Look Dev is not supported. * Update changelog Co-authored-by: sebastienlagarde --- .../Editor/LookDev/EnvironmentLibrary.cs | 25 ++++++++++++++----- .../CHANGELOG.md | 1 + 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.core/Editor/LookDev/EnvironmentLibrary.cs b/com.unity.render-pipelines.core/Editor/LookDev/EnvironmentLibrary.cs index 03edd2af2c1..3e84f031b20 100644 --- a/com.unity.render-pipelines.core/Editor/LookDev/EnvironmentLibrary.cs +++ b/com.unity.render-pipelines.core/Editor/LookDev/EnvironmentLibrary.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using UnityEngine.UIElements; using System.IO; +using UnityEditor; using UnityEditor.UIElements; namespace UnityEditor.Rendering.LookDev @@ -117,14 +118,15 @@ public int IndexOf(Environment environment) [CustomEditor(typeof(EnvironmentLibrary))] class EnvironmentLibraryEditor : Editor { - VisualElement root; + VisualElement m_Root; + VisualElement m_OpenButton; public sealed override VisualElement CreateInspectorGUI() { var library = target as EnvironmentLibrary; - root = new VisualElement(); + m_Root = new VisualElement(); - Button open = new Button(() => + m_OpenButton = new Button(() => { if (!LookDev.open) LookDev.Open(); @@ -132,11 +134,22 @@ public sealed override VisualElement CreateInspectorGUI() LookDev.currentEnvironmentDisplayer.Repaint(); }) { - text = "Open in LookDev window" + text = "Open in Look Dev window" }; + m_OpenButton.SetEnabled(LookDev.supported); - root.Add(open); - return root; + m_Root.Add(m_OpenButton); + return m_Root; + } + + void OnEnable() => EditorApplication.update += Update; + void OnDisable() => EditorApplication.update -= Update; + + void Update() + { + // Current SRP can be changed at any time so we need to do this at every update. + if (m_OpenButton != null) + m_OpenButton.SetEnabled(LookDev.supported); } // Don't use ImGUI diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index f2a97c53623..2818006b9b8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -38,6 +38,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed ShaderGraph stack blocks appearing when opening the settings in Hair and Eye ShaderGraphs. - Fixed white screen when undoing in the editor. - Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels +- Fixed an issue when trying to open a look dev env library when Look Dev is not supported. ### Changed - Removed the material pass probe volumes evaluation mode. From f0ae90bc65d8bb1f55e44a1c6f8025ab2365edcd Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 17 Dec 2020 19:21:16 +0100 Subject: [PATCH 24/28] Enable Reflector for Spotlight by default --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Lighting/Light/HDAdditionalLightData.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 2818006b9b8..4f37a99dd0d 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -52,6 +52,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Removed the upscale radius from the RTR. - Changed the message when the graphics device doesn't support ray tracing (case 1287355). - When a Custom Pass Volume is disabled, the custom pass Cleanup() function is called, it allows to release resources when the volume isn't used anymore. +- Enable Reflector for Spotlight by default ## [10.3.0] - 2020-12-01 diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs index 2bd3f44fbb8..599e79017f1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs @@ -139,7 +139,7 @@ public float intensity // Only for Spotlight, should be hide for other light [SerializeField, FormerlySerializedAs("enableSpotReflector")] - bool m_EnableSpotReflector = false; + bool m_EnableSpotReflector = true; /// /// Get/Set the Spot Reflection option on spot lights. /// From c4ea60172e62b6f7c41244a86c7b5e548b064fd9 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Thu, 17 Dec 2020 19:41:26 +0100 Subject: [PATCH 25/28] - Fixed shader graph not supporting indirectdxr multibounce (case 1294694). (#2933) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/ShaderGraph/HDShaderPasses.cs | 6 ++++++ .../Editor/Material/ShaderGraph/HDTarget.cs | 9 +++++++++ 3 files changed, 16 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 4f37a99dd0d..1bd570e18c3 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -39,6 +39,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed white screen when undoing in the editor. - Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels - Fixed an issue when trying to open a look dev env library when Look Dev is not supported. +- Fixed shader graph not supporting indirectdxr multibounce (case 1294694). ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs index 918925d1ae3..a2ab4acf30f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs @@ -878,6 +878,11 @@ public static PassDescriptor GenerateLitRaytracingPrepass() #region Raytracing Indirect + public static KeywordCollection IndirectDiffuseKeywordCollection = new KeywordCollection + { + { CoreKeywordDescriptors.multiBounceIndirect }, + }; + public static PassDescriptor GenerateRaytracingIndirect(bool supportLighting) { return new PassDescriptor @@ -891,6 +896,7 @@ public static PassDescriptor GenerateRaytracingIndirect(bool supportLighting) // Collections pragmas = CorePragmas.RaytracingBasic, defines = supportLighting ? RaytracingIndirectDefines : null, + keywords = supportLighting ? IndirectDiffuseKeywordCollection : null, includes = GenerateIncludes(), }; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs index 8f382d1759d..aacd9b2a39f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs @@ -1324,6 +1324,15 @@ static class CoreKeywordDescriptors definition = KeywordDefinition.ShaderFeature, scope = KeywordScope.Local, }; + + public static KeywordDescriptor multiBounceIndirect = new KeywordDescriptor + { + displayName = "Multi Bounce Indirect", + referenceName = "MULTI_BOUNCE_INDIRECT", + type = KeywordType.Boolean, + definition = KeywordDefinition.MultiCompile, + scope = KeywordScope.Global, + }; } #endregion } From 72764313acdcf4349cf5d3bdc6d0c9e0930e0814 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Fri, 18 Dec 2020 10:08:42 +0100 Subject: [PATCH 26/28] Fixed the planar depth texture not being properly created and rendered to (case 1299617). (#2926) * Fixed the planar depth texture not being properly created and rendered to (case 1299617). * adding comment Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../HDRenderPipeline.RenderGraph.cs | 15 ++++++++++----- .../Runtime/Utilities/HDRenderUtilities.cs | 16 ++++++++++++---- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 1bd570e18c3..c5743c00864 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -40,6 +40,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels - Fixed an issue when trying to open a look dev env library when Look Dev is not supported. - Fixed shader graph not supporting indirectdxr multibounce (case 1294694). +- Fixed the planar depth texture not being properly created and rendered to (case 1299617). ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 56148b3878d..bc0be083191 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -294,17 +294,22 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, for (int viewIndex = 0; viewIndex < hdCamera.viewCount; ++viewIndex) { BlitFinalCameraTexture(m_RenderGraph, hdCamera, postProcessDest, backBuffer, viewIndex); - - if (target.targetDepth != null) - { - BlitFinalCameraTexture(m_RenderGraph, hdCamera, prepassOutput.resolvedDepthBuffer, m_RenderGraph.ImportTexture(target.targetDepth), viewIndex); - } } if (aovRequest.isValid) aovRequest.PushCameraTexture(m_RenderGraph, AOVBuffers.Output, hdCamera, postProcessDest, aovBuffers); } + // This code is only for planar reflections. Given that the depth texture cannot be shared currently with the other depth copy that we do + // we need to do this seperately. + for (int viewIndex = 0; viewIndex < hdCamera.viewCount; ++viewIndex) + { + if (target.targetDepth != null) + { + BlitFinalCameraTexture(m_RenderGraph, hdCamera, prepassOutput.resolvedDepthBuffer, m_RenderGraph.ImportTexture(target.targetDepth), viewIndex); + } + } + // XR mirror view and blit do device EndCameraXR(m_RenderGraph, hdCamera); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Utilities/HDRenderUtilities.cs b/com.unity.render-pipelines.high-definition/Runtime/Utilities/HDRenderUtilities.cs index 752ac579c43..1a4937ac46e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Utilities/HDRenderUtilities.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Utilities/HDRenderUtilities.cs @@ -341,13 +341,15 @@ public static void Render( [Obsolete("Use CreateReflectionProbeRenderTarget with explicit format instead", true)] public static RenderTexture CreateReflectionProbeRenderTarget(int cubemapSize) { - return new RenderTexture(cubemapSize, cubemapSize, 1, GraphicsFormat.R16G16B16A16_SFloat) + RenderTexture rt = new RenderTexture(cubemapSize, cubemapSize, 1, GraphicsFormat.R16G16B16A16_SFloat) { dimension = TextureDimension.Cube, enableRandomWrite = true, useMipMap = true, autoGenerateMips = false }; + rt.Create(); + return rt; } /// @@ -358,13 +360,15 @@ public static RenderTexture CreateReflectionProbeRenderTarget(int cubemapSize) /// The texture to use as reflection probe target. public static RenderTexture CreateReflectionProbeRenderTarget(int cubemapSize, GraphicsFormat format) { - return new RenderTexture(cubemapSize, cubemapSize, 1, format) + RenderTexture rt = new RenderTexture(cubemapSize, cubemapSize, 1, format) { dimension = TextureDimension.Cube, enableRandomWrite = true, useMipMap = true, autoGenerateMips = false }; + rt.Create(); + return rt; } /// @@ -375,13 +379,15 @@ public static RenderTexture CreateReflectionProbeRenderTarget(int cubemapSize, G /// The texture used as planar reflection probe target public static RenderTexture CreatePlanarProbeRenderTarget(int planarSize, GraphicsFormat format) { - return new RenderTexture(planarSize, planarSize, 1, format) + RenderTexture rt = new RenderTexture(planarSize, planarSize, 1, format) { dimension = TextureDimension.Tex2D, enableRandomWrite = true, useMipMap = true, autoGenerateMips = false }; + rt.Create(); + return rt; } /// @@ -391,13 +397,15 @@ public static RenderTexture CreatePlanarProbeRenderTarget(int planarSize, Graphi /// The texture used as planar reflection probe target public static RenderTexture CreatePlanarProbeDepthRenderTarget(int planarSize) { - return new RenderTexture(planarSize, planarSize, 1, GraphicsFormat.R32_SFloat) + RenderTexture rt = new RenderTexture(planarSize, planarSize, 1, GraphicsFormat.R32_SFloat) { dimension = TextureDimension.Tex2D, enableRandomWrite = true, useMipMap = true, autoGenerateMips = false }; + rt.Create(); + return rt; } /// From 53e40c64c3fab1265b24165c1f8afe52b3a830fb Mon Sep 17 00:00:00 2001 From: Anis Benyoub Date: Fri, 18 Dec 2020 11:14:22 +0100 Subject: [PATCH 27/28] Fixed an issue with the frame count management for the volumetric fog (case 1299251). --- .../CHANGELOG.md | 1 + .../VolumetricLighting/VolumetricLighting.cs | 31 +++++++++++++------ .../Runtime/RenderPipeline/Camera/HDCamera.cs | 4 +-- .../HDRenderPipeline.LightLoop.cs | 13 ++++---- .../HDRenderPipeline.RenderGraph.cs | 4 +-- .../RenderPipeline/HDRenderPipeline.cs | 2 +- 6 files changed, 35 insertions(+), 20 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c5743c00864..1b73f6762cb 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -41,6 +41,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue when trying to open a look dev env library when Look Dev is not supported. - Fixed shader graph not supporting indirectdxr multibounce (case 1294694). - Fixed the planar depth texture not being properly created and rendered to (case 1299617). +- Fixed an issue with the frame count management for the volumetric fog (case 1299251). ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs index 0c85a85f87b..592b5767990 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs @@ -255,6 +255,12 @@ static internal void SafeDestroy(ref RenderTexture rt) } } + static uint VolumetricFrameIndex(HDCamera hdCamera) + { + // Here we do modulo 14 because we need the enable to detect a change every frame, but the accumulation is done on 7 frames (7x2=14) + return hdCamera.GetCameraFrameCount() % 14; + } + static internal Vector3Int ComputeVolumetricViewportSize(HDCamera hdCamera, ref float voxelSize) { var controller = hdCamera.volumeStack.GetComponent(); @@ -341,7 +347,7 @@ static internal void ReinitializeVolumetricBufferParams(HDCamera hdCamera) // This function relies on being called once per camera per frame. // The results are undefined otherwise. - static internal void UpdateVolumetricBufferParams(HDCamera hdCamera, int frameIndex) + static internal void UpdateVolumetricBufferParams(HDCamera hdCamera) { if (!Fog.IsVolumetricFogEnabled(hdCamera)) return; @@ -351,6 +357,7 @@ static internal void UpdateVolumetricBufferParams(HDCamera hdCamera, int frameIn var currentParams = ComputeVolumetricBufferParameters(hdCamera); + int frameIndex = (int)VolumetricFrameIndex(hdCamera); var currIdx = (frameIndex + 0) & 1; var prevIdx = (frameIndex + 1) & 1; @@ -404,7 +411,7 @@ struct GenerateMaxZParameters } - GenerateMaxZParameters PrepareGenerateMaxZParameters(HDCamera hdCamera, HDUtils.PackedMipChainInfo depthMipInfo, int frameIndex) + GenerateMaxZParameters PrepareGenerateMaxZParameters(HDCamera hdCamera, HDUtils.PackedMipChainInfo depthMipInfo) { var parameters = new GenerateMaxZParameters(); parameters.generateMaxZCS = defaultResources.shaders.maxZCS; @@ -421,6 +428,7 @@ GenerateMaxZParameters PrepareGenerateMaxZParameters(HDCamera hdCamera, HDUtils. parameters.minDepthMipOffset.x = depthMipInfo.mipLevelOffsets[4].x; parameters.minDepthMipOffset.y = depthMipInfo.mipLevelOffsets[4].y; + int frameIndex = (int)VolumetricFrameIndex(hdCamera); var currIdx = frameIndex & 1; var currentParams = hdCamera.vBufferParams[currIdx]; @@ -534,7 +542,7 @@ static internal void DestroyVolumetricHistoryBuffers(HDCamera hdCamera) // Must be called AFTER UpdateVolumetricBufferParams. static readonly string[] volumetricHistoryBufferNames = new string[2] { "VBufferHistory0", "VBufferHistory1" }; - static internal void ResizeVolumetricHistoryBuffers(HDCamera hdCamera, int frameIndex) + static internal void ResizeVolumetricHistoryBuffers(HDCamera hdCamera) { if (!hdCamera.IsVolumetricReprojectionEnabled()) return; @@ -543,6 +551,7 @@ static internal void ResizeVolumetricHistoryBuffers(HDCamera hdCamera, int frame Debug.Assert(hdCamera.vBufferParams.Length == 2); Debug.Assert(hdCamera.volumetricHistoryBuffers != null); + int frameIndex = (int)VolumetricFrameIndex(hdCamera); var currIdx = (frameIndex + 0) & 1; var prevIdx = (frameIndex + 1) & 1; @@ -612,7 +621,7 @@ internal void DestroyVolumetricLightingBuffers() } // Must be called AFTER UpdateVolumetricBufferParams. - internal void ResizeVolumetricLightingBuffers(HDCamera hdCamera, int frameIndex) + internal void ResizeVolumetricLightingBuffers(HDCamera hdCamera) { if (!Fog.IsVolumetricFogEnabled(hdCamera)) return; @@ -628,6 +637,7 @@ internal void ResizeVolumetricLightingBuffers(HDCamera hdCamera, int frameIndex) CreateVolumetricLightingBuffers(); } + int frameIndex = (int)VolumetricFrameIndex(hdCamera); var currIdx = (frameIndex + 0) & 1; var prevIdx = (frameIndex + 1) & 1; @@ -804,11 +814,12 @@ unsafe void SetPreconvolvedAmbientLightProbe(ref ShaderVariablesVolumetric cb, H cb._AmbientProbeCoeffs[i * 4 + j] = m_PackedCoeffs[i][j]; } - unsafe void UpdateShaderVariableslVolumetrics(ref ShaderVariablesVolumetric cb, HDCamera hdCamera, in Vector4 resolution, int frameIndex) + unsafe void UpdateShaderVariableslVolumetrics(ref ShaderVariablesVolumetric cb, HDCamera hdCamera, in Vector4 resolution) { var fog = hdCamera.volumeStack.GetComponent(); var vFoV = hdCamera.camera.GetGateFittedFieldOfView() * Mathf.Deg2Rad; var gpuAspect = HDUtils.ProjectionMatrixAspect(hdCamera.mainViewConstants.projMatrix); + int frameIndex = (int)VolumetricFrameIndex(hdCamera); // Compose the matrix which allows us to compute the world space view direction. hdCamera.GetPixelCoordToViewDirWS(resolution, gpuAspect, ref m_PixelCoordToViewDirWS); @@ -871,10 +882,11 @@ unsafe void UpdateShaderVariableslVolumetrics(ref ShaderVariablesVolumetric cb, cb._NumTileBigTileY = (uint)GetNumTileBigTileY(hdCamera); } - VolumeVoxelizationParameters PrepareVolumeVoxelizationParameters(HDCamera hdCamera, int frameIndex) + VolumeVoxelizationParameters PrepareVolumeVoxelizationParameters(HDCamera hdCamera) { var parameters = new VolumeVoxelizationParameters(); + int frameIndex = (int)VolumetricFrameIndex(hdCamera); var currIdx = (frameIndex + 0) & 1; var prevIdx = (frameIndex + 1) & 1; @@ -897,7 +909,7 @@ VolumeVoxelizationParameters PrepareVolumeVoxelizationParameters(HDCamera hdCame parameters.volumeAtlas = CoreUtils.blackVolumeTexture; } - UpdateShaderVariableslVolumetrics(ref m_ShaderVariablesVolumetricCB, hdCamera, parameters.resolution, frameIndex); + UpdateShaderVariableslVolumetrics(ref m_ShaderVariablesVolumetricCB, hdCamera, parameters.resolution); parameters.volumetricCB = m_ShaderVariablesVolumetricCB; parameters.lightListCB = m_ShaderVariablesLightListCB; @@ -977,10 +989,11 @@ struct VolumetricLightingParameters public ShaderVariablesLightList lightListCB; } - VolumetricLightingParameters PrepareVolumetricLightingParameters(HDCamera hdCamera, int frameIndex) + VolumetricLightingParameters PrepareVolumetricLightingParameters(HDCamera hdCamera) { var parameters = new VolumetricLightingParameters(); + int frameIndex = (int)VolumetricFrameIndex(hdCamera); var currIdx = (frameIndex + 0) & 1; var prevIdx = (frameIndex + 1) & 1; @@ -1017,7 +1030,7 @@ VolumetricLightingParameters PrepareVolumetricLightingParameters(HDCamera hdCame parameters.filterVolume = ((int)fog.denoisingMode.value & (int)FogDenoisingMode.Gaussian) != 0; parameters.sliceCount = (int)(cvp.z); - UpdateShaderVariableslVolumetrics(ref m_ShaderVariablesVolumetricCB, hdCamera, parameters.resolution, frameIndex); + UpdateShaderVariableslVolumetrics(ref m_ShaderVariablesVolumetricCB, hdCamera, parameters.resolution); parameters.volumetricCB = m_ShaderVariablesVolumetricCB; parameters.lightListCB = m_ShaderVariablesLightListCB; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs index 945bb74a54a..7cff5f8e8de 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs @@ -573,8 +573,8 @@ internal void Update(FrameSettings currentFrameSettings, HDRenderPipeline hdrp, isFirstFrame = false; cameraFrameCount++; - HDRenderPipeline.UpdateVolumetricBufferParams(this, hdrp.GetFrameCount()); - HDRenderPipeline.ResizeVolumetricHistoryBuffers(this, hdrp.GetFrameCount()); + HDRenderPipeline.UpdateVolumetricBufferParams(this); + HDRenderPipeline.ResizeVolumetricHistoryBuffers(this); } /// Set the RTHandle scale to the actual camera size (can be scaled) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs index e655b29e3b9..57e6cd1ff45 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs @@ -600,8 +600,7 @@ TextureHandle VolumeVoxelizationPass(RenderGraph renderGraph, HDCamera hdCamera, ComputeBuffer visibleVolumeBoundsBuffer, ComputeBuffer visibleVolumeDataBuffer, - ComputeBufferHandle bigTileLightList, - int frameIndex) + ComputeBufferHandle bigTileLightList) { if (Fog.IsVolumetricFogEnabled(hdCamera)) { @@ -609,7 +608,7 @@ TextureHandle VolumeVoxelizationPass(RenderGraph renderGraph, { builder.EnableAsyncCompute(hdCamera.frameSettings.VolumeVoxelizationRunsAsync()); - passData.parameters = PrepareVolumeVoxelizationParameters(hdCamera, frameIndex); + passData.parameters = PrepareVolumeVoxelizationParameters(hdCamera); passData.visibleVolumeBoundsBuffer = visibleVolumeBoundsBuffer; passData.visibleVolumeDataBuffer = visibleVolumeDataBuffer; if (passData.parameters.tiledLighting) @@ -657,7 +656,7 @@ TextureHandle GenerateMaxZPass(RenderGraph renderGraph, HDCamera hdCamera, Textu using (var builder = renderGraph.AddRenderPass("Generate Max Z Mask for Volumetric", out var passData)) { - passData.parameters = PrepareGenerateMaxZParameters(hdCamera, depthMipInfo, frameIndex); + passData.parameters = PrepareGenerateMaxZParameters(hdCamera, depthMipInfo); passData.depthTexture = builder.ReadTexture(depthTexture); passData.maxZ8xBuffer = builder.ReadTexture(renderGraph.ImportTexture(m_MaxZMask8x)); passData.maxZ8xBuffer = builder.WriteTexture(passData.maxZ8xBuffer); @@ -691,11 +690,12 @@ class VolumetricLightingPassData public ComputeBufferHandle bigTileLightListBuffer; } - TextureHandle VolumetricLightingPass(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle depthTexture, TextureHandle densityBuffer, TextureHandle maxZBuffer, ComputeBufferHandle bigTileLightListBuffer, ShadowResult shadowResult, int frameIndex) + TextureHandle VolumetricLightingPass(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle depthTexture, TextureHandle densityBuffer, TextureHandle maxZBuffer, ComputeBufferHandle bigTileLightListBuffer, ShadowResult shadowResult) { if (Fog.IsVolumetricFogEnabled(hdCamera)) { - var parameters = PrepareVolumetricLightingParameters(hdCamera, frameIndex); + // Evaluate the parameters + var parameters = PrepareVolumetricLightingParameters(hdCamera); using (var builder = renderGraph.AddRenderPass("Volumetric Lighting", out var passData)) { @@ -717,6 +717,7 @@ TextureHandle VolumetricLightingPass(RenderGraph renderGraph, HDCamera hdCamera, if (passData.parameters.enableReprojection) { + int frameIndex = (int)VolumetricFrameIndex(hdCamera); var currIdx = (frameIndex + 0) & 1; var prevIdx = (frameIndex + 1) & 1; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index bc0be083191..9da56017ace 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -103,7 +103,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, lightingBuffers.contactShadowsBuffer = RenderContactShadows(m_RenderGraph, hdCamera, msaa ? prepassOutput.depthValuesMSAA : prepassOutput.depthPyramidTexture, gpuLightListOutput, GetDepthBufferMipChainInfo().mipLevelOffsets[1].y); - var volumetricDensityBuffer = VolumeVoxelizationPass(m_RenderGraph, hdCamera, m_VisibleVolumeBoundsBuffer, m_VisibleVolumeDataBuffer, gpuLightListOutput.bigTileLightList, m_FrameCount); + var volumetricDensityBuffer = VolumeVoxelizationPass(m_RenderGraph, hdCamera, m_VisibleVolumeBoundsBuffer, m_VisibleVolumeDataBuffer, gpuLightListOutput.bigTileLightList); RenderShadows(m_RenderGraph, hdCamera, cullingResults, ref shadowResult); @@ -146,7 +146,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, var maxZMask = GenerateMaxZPass(m_RenderGraph, hdCamera, prepassOutput.depthPyramidTexture, m_DepthBufferMipChainInfo, m_FrameCount); - var volumetricLighting = VolumetricLightingPass(m_RenderGraph, hdCamera, prepassOutput.depthPyramidTexture, volumetricDensityBuffer, maxZMask, gpuLightListOutput.bigTileLightList, shadowResult, m_FrameCount); + var volumetricLighting = VolumetricLightingPass(m_RenderGraph, hdCamera, prepassOutput.depthPyramidTexture, volumetricDensityBuffer, maxZMask, gpuLightListOutput.bigTileLightList, shadowResult); var deferredLightingOutput = RenderDeferredLighting(m_RenderGraph, hdCamera, colorBuffer, prepassOutput.depthBuffer, prepassOutput.depthPyramidTexture, lightingBuffers, prepassOutput.gbuffer, shadowResult, gpuLightListOutput); 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 8318f3e8d5e..d8565542578 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -2297,7 +2297,7 @@ out ScriptableCullingParameters cullingParams // From this point, we should only use frame settings from the camera hdCamera.Update(currentFrameSettings, this, m_MSAASamples, xrPass); - ResizeVolumetricLightingBuffers(hdCamera, GetFrameCount()); // Safe to update the Volumetric Lighting System now + ResizeVolumetricLightingBuffers(hdCamera); // Safe to update the Volumetric Lighting System now // Custom Render requires a proper HDCamera, so we return after the HDCamera was setup if (additionalCameraData != null && additionalCameraData.hasCustomRender) From 817f588603d2125b13de8c50d581effbb234f838 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Mon, 21 Dec 2020 18:47:04 +0100 Subject: [PATCH 28/28] Update CHANGELOG.md --- .../CHANGELOG.md | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 540087f8e6e..47cc81c2f86 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -30,19 +30,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed computation of geometric normal in path tracing (case 1293029). - Fixed issues with path-traced volumetric scattering (cases 1295222, 1295234). - Fixed the default background color for previews to use the original color. -- Fixed AOV api in render graph (case 1296605) -- Fixed a small discrepancy in the marker placement in light intensity sliders (case 1299750) -- Fixed issue with VT resolve pass rendergraph errors when opaque and transparent are disabled in frame settings. -- Fixed a bug in the sphere-aabb light cluster (case 1294767). -- Fixed issue when submitting SRPContext during EndCameraRendering. -- Fixed baked light being included into the ray tracing light cluster (case 1296203). -- Fixed enums UI for the shadergraph nodes. -- Fixed ShaderGraph stack blocks appearing when opening the settings in Hair and Eye ShaderGraphs. -- Fixed white screen when undoing in the editor. -- Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels -- Fixed an issue when trying to open a look dev env library when Look Dev is not supported. -- Fixed shader graph not supporting indirectdxr multibounce (case 1294694). -- Fixed the planar depth texture not being properly created and rendered to (case 1299617). - Fixed an issue with the frame count management for the volumetric fog (case 1299251). ### Changed @@ -57,9 +44,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Removed the upscale radius from the RTR. - Density Volumes can now take a 3D RenderTexture as mask, the mask can use RGBA format for RGB fog. - Decreased the minimal Fog Distance value in the Density Volume to 0.05. -- Changed the message when the graphics device doesn't support ray tracing (case 1287355). -- When a Custom Pass Volume is disabled, the custom pass Cleanup() function is called, it allows to release resources when the volume isn't used anymore. -- Enable Reflector for Spotlight by default ## [10.3.0] - 2020-12-01