diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png index d4a31342fae..d2ad47f8936 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f27b638f044c8ad339e4170fa318d97331e6740d581eb2af042fe7712764929 -size 96865 +oid sha256:ec65f637de2de0bbf2c340245a2f4f0201bc41127c8a32f656a8a3a4b7d98055 +size 96740 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png index 8e69ff811e2..91ae09c14a2 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a8be6f7dc725944c652e342518cf11020d9dfaae5b5ef1109b9208040f5d63ef -size 96853 +oid sha256:4141c18530f310912b7a47f0a6a27aa64218ef77ee7e20a964a524b5ff0ca804 +size 96729 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9603_MeshRendererBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9603_MeshRendererBatching-Off.png index f0b116adddf..236b958dd0f 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9603_MeshRendererBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9603_MeshRendererBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b1411070c7359bb2fc9e7d8f8d381e9dc45e4d27ff496b30ab74dd2ed50635b -size 516327 +oid sha256:3edd8478e7edf04ef696ff9b8fa0073940137686a699e94b39c4a9dfa39df377 +size 516207 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9604_MeshRendererBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9604_MeshRendererBatching-On.png index 5f4b0bca1c7..729f4b46e4e 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9604_MeshRendererBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/9604_MeshRendererBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8666ea141d16c56d4416ef82933e00a8caba34ebcbb09a49c09f25d3fe5b0f84 -size 516167 +oid sha256:fb21627cab5dae008c2fe9d65ab5958461867836eb9beeb70fb6b7213944ba66 +size 516038 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9601_SkinnedMeshBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9601_SkinnedMeshBatching-Off.png index 9fdc56afeff..14306a50122 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9601_SkinnedMeshBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9601_SkinnedMeshBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e09da3c8869448655bf12ca428304086a921b64dc5df68ceafa9c86c3ddd2dc8 -size 97398 +oid sha256:9fcc31537252b71c0b516924d1234a50dc22f307b26bd89470453050e6979a32 +size 97038 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9602_SkinnedMeshBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9602_SkinnedMeshBatching-On.png index 2ef54a05b95..b4fb9814bc0 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9602_SkinnedMeshBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9602_SkinnedMeshBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ecf53f442760a27bda2d0f7256351d722079f2a0172cf26fa807697fcb593e29 -size 97391 +oid sha256:f1d10d966c03dd4bc0c7fede58fb1d0c60eec0bdd06edcf300ea02b4dabc6e6d +size 97027 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9603_MeshRendererBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9603_MeshRendererBatching-Off.png index c3d60109135..4fb0dfea820 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9603_MeshRendererBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9603_MeshRendererBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9ce146657c951a815fb3b3943e58bbb83a5cd143d4e4642fd4d1409b1ad2bd81 -size 515837 +oid sha256:a17a7ede2b15ea7ea3c247462d2e0cb244c7cb15489ccda386cacb6fdc7ecf9f +size 515895 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9604_MeshRendererBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9604_MeshRendererBatching-On.png index 314b224add8..5be96a4432d 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9604_MeshRendererBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/9604_MeshRendererBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:911d9307fa95a15867383ce686453fb574f83986814bc01d1f99fc3ba1209546 -size 515559 +oid sha256:39ca5efc7b8100f3a91991e63e0d92b27575464eba739c555addd47fe0283401 +size 515607 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9601_SkinnedMeshBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9601_SkinnedMeshBatching-Off.png index dd67a1c07db..c5a0a01507f 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9601_SkinnedMeshBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9601_SkinnedMeshBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b50733524ecdea0b7a2439a96af9fdf8eb8649ceb02939256c9f69b9e8415e3 -size 97244 +oid sha256:81d899bac91c7d6a459da05cf819c5472459129445094bd866eaf8781f268a40 +size 96968 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9602_SkinnedMeshBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9602_SkinnedMeshBatching-On.png index 527e1dae8d1..6375ee620f1 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9602_SkinnedMeshBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9602_SkinnedMeshBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:767a63eafc1c8ed705ebb027e51c757bdacbda9198aa19186b315db4a24170b1 -size 97235 +oid sha256:6dcb42b1edc2c70419d8772bec7bb99bfb8ee383a29ec3d47ad9c4dcc6650e03 +size 96958 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9603_MeshRendererBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9603_MeshRendererBatching-Off.png index 57b42225b89..8a1bdecda0c 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9603_MeshRendererBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9603_MeshRendererBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1c5505fe7283305bf6990bd9db0f98567ae3a0fa46d872a8a25bb8034fedefbc -size 518544 +oid sha256:bf516672c7f91417e3600a6ea7d0ca1bdcb18d421a48636598f4f50a7c50e3c3 +size 518521 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9604_MeshRendererBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9604_MeshRendererBatching-On.png index 43d8428512b..5b6d0d4208e 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9604_MeshRendererBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/9604_MeshRendererBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:470f9fb8be394175351598b5e0d3de2b36a9fbbf6e3d2a8e21426d58436a73e2 -size 518436 +oid sha256:c090c2aed11f9672393147518be0b5a0ace66900f3e0a90d3155c82fd736efe9 +size 518325 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9601_SkinnedMeshBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9601_SkinnedMeshBatching-Off.png index dd67a1c07db..bd27caf0386 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9601_SkinnedMeshBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9601_SkinnedMeshBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b50733524ecdea0b7a2439a96af9fdf8eb8649ceb02939256c9f69b9e8415e3 -size 97244 +oid sha256:0d048e022bd2d19b9b2b369540c1ecc6f69ae3b6ec1bd8acfbeac4b2b78c2d7e +size 96986 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9602_SkinnedMeshBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9602_SkinnedMeshBatching-On.png index 527e1dae8d1..2ca437e9769 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9602_SkinnedMeshBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9602_SkinnedMeshBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:767a63eafc1c8ed705ebb027e51c757bdacbda9198aa19186b315db4a24170b1 -size 97235 +oid sha256:38e4a90ea9e5fad9353f3da0a496bed8c71f99a44c3531413c2b91974cf26e7c +size 96981 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9603_MeshRendererBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9603_MeshRendererBatching-Off.png index fc90580c741..71bf9b4be13 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9603_MeshRendererBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9603_MeshRendererBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3f0df2e584a202353b04dbd3390a31e4911c01c67b77f03c38b8f3fa7361f962 -size 518768 +oid sha256:6ecbcd0d67eadf32b954dbd22bb029fd55bfe7832e38398da2210f4b1f2a3916 +size 518758 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9604_MeshRendererBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9604_MeshRendererBatching-On.png index 9368097cbb8..d60c721c200 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9604_MeshRendererBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/9604_MeshRendererBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e44f6c8e569f8713167e3807f021f6a3e673ac19e93b8e490025fed88267df17 -size 518531 +oid sha256:ecf30664f4f972ae37906b5a279b3c001b2c00b866639b8178e047cfba201444 +size 518581 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png index d4a31342fae..d2ad47f8936 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f27b638f044c8ad339e4170fa318d97331e6740d581eb2af042fe7712764929 -size 96865 +oid sha256:ec65f637de2de0bbf2c340245a2f4f0201bc41127c8a32f656a8a3a4b7d98055 +size 96740 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png index 8e69ff811e2..91ae09c14a2 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a8be6f7dc725944c652e342518cf11020d9dfaae5b5ef1109b9208040f5d63ef -size 96853 +oid sha256:4141c18530f310912b7a47f0a6a27aa64218ef77ee7e20a964a524b5ff0ca804 +size 96729 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9603_MeshRendererBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9603_MeshRendererBatching-Off.png index f0b116adddf..f87f1a8a67f 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9603_MeshRendererBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9603_MeshRendererBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1b1411070c7359bb2fc9e7d8f8d381e9dc45e4d27ff496b30ab74dd2ed50635b -size 516327 +oid sha256:b3d226df6e5ef9298c9ff2aa7f38accab6d1d896f7a31297eff5104cb95697b2 +size 516467 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9604_MeshRendererBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9604_MeshRendererBatching-On.png index 5f4b0bca1c7..56f5c337071 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9604_MeshRendererBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9604_MeshRendererBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8666ea141d16c56d4416ef82933e00a8caba34ebcbb09a49c09f25d3fe5b0f84 -size 516167 +oid sha256:5e508d8e852c75a017b425380a8b8e242a76bcd0be233b302063fdf41a01c1d5 +size 516298 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 15dd8d6a21e..3e91f538863 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -71,6 +71,7 @@ The version number for this package has increased due to a version update of a r - Standardized naming for the option regarding Transparent objects being able to receive Screen Space Reflections. - Making the reflection and refractions of cubemaps distance based. - Changed Receive SSR to also controls Receive SSGI on opaque objects. +- Improved the punctual light shadow rescale algorithm. ## [10.1.0] - 2020-10-12 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 5db49f8d02a..6d2a3008e0d 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 @@ -1979,7 +1979,7 @@ internal int GetResolutionFromSettings(ShadowMapType shadowMapType, HDShadowInit } } - internal void ReserveShadowMap(Camera camera, HDShadowManager shadowManager, HDShadowSettings shadowSettings, HDShadowInitParameters initParameters, Rect screenRect, HDLightType lightType) + internal void ReserveShadowMap(Camera camera, HDShadowManager shadowManager, HDShadowSettings shadowSettings, HDShadowInitParameters initParameters, VisibleLight visibleLight, HDLightType lightType) { if (!m_WillRenderShadowMap) return; @@ -2013,14 +2013,26 @@ internal void ReserveShadowMap(Camera camera, HDShadowManager shadowManager, HDS if (viewPortRescaling && !shadowIsInCacheSystem) { - // resize viewport size by the normalized size of the light on screen - float screenArea = screenRect.width * screenRect.height; - viewportSize *= Mathf.Lerp(64f / viewportSize.x, 1f, screenArea); - viewportSize = Vector2.Max(new Vector2(64f, 64f) / viewportSize, viewportSize); + // Formulas: https://www.desmos.com/calculator/tdodbuysut f(x) is the distance between 0 and 1, g(x) is the screen ratio (oscillating to simulate different light sizes) + // The idea is to have a lot of resolution when the camera is close to the light OR the screen area is high. + + // linear normalized distance between the light and camera with max shadow distance + float distance01 = Mathf.Clamp01(Vector3.Distance(camera.transform.position, visibleLight.GetPosition()) / shadowSettings.maxShadowDistance.value); + // ease out and invert the curve, give more importance to closer distances + distance01 = 1.0f - Mathf.Pow(distance01, 2); + + // normalized ratio between light range and distance + float range01 = Mathf.Clamp01(visibleLight.range / Vector3.Distance(camera.transform.position, visibleLight.GetPosition())); - // Prevent flickering caused by the floating size of the viewport - viewportSize.x = Mathf.Round(viewportSize.x); - viewportSize.y = Mathf.Round(viewportSize.y); + float scaleFactor01 = Mathf.Max(distance01, range01); + + // We allow a maximum of 64 rescale between the highest and lowest shadow resolution + // It prevent having too many resolution changes when the player is moving. + const float maxRescaleSteps = 64; + scaleFactor01 = Mathf.RoundToInt(scaleFactor01 * maxRescaleSteps) / maxRescaleSteps; + + // resize viewport size by the normalized size of the light on screen + viewportSize = Vector2.Lerp(HDShadowManager.k_MinShadowMapResolution * Vector2.one, viewportSize, scaleFactor01); } viewportSize = Vector2.Max(viewportSize, new Vector2(HDShadowManager.k_MinShadowMapResolution, HDShadowManager.k_MinShadowMapResolution)); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs index a52bed39fec..0ca58974a67 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs @@ -2363,7 +2363,7 @@ int PreprocessVisibleLights(HDCamera hdCamera, CullingResults cullResults, Debug // Reserve shadow map resolutions and check if light needs to render shadows if (additionalData.WillRenderShadowMap()) { - additionalData.ReserveShadowMap(hdCamera.camera, m_ShadowManager, hdShadowSettings, m_ShadowInitParameters, light.screenRect, lightType); + additionalData.ReserveShadowMap(hdCamera.camera, m_ShadowManager, hdShadowSettings, m_ShadowInitParameters, light, lightType); } // Reserve the cookie resolution in the 2D atlas