From 1526176c58c22c24b7deade29420a03b95714d55 Mon Sep 17 00:00:00 2001 From: Brandon Mak Date: Mon, 16 Jan 2023 15:06:46 +0800 Subject: [PATCH] Shadows WIP --- Assets/Shaders/DeferredComposite_CS.glsl | 2 +- Assets/Shaders/DeferredComposite_CS.shshaderb | Bin 8333 -> 8317 bytes .../src/Graphics/Images/SHVkSampler.cpp | 1 + .../MiddleEnd/Interface/SHGraphicsSystem.cpp | 2 +- .../MiddleEnd/Lights/SHLightingSubSystem.cpp | 2 +- 5 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Assets/Shaders/DeferredComposite_CS.glsl b/Assets/Shaders/DeferredComposite_CS.glsl index b31daf25..d28eaec0 100644 --- a/Assets/Shaders/DeferredComposite_CS.glsl +++ b/Assets/Shaders/DeferredComposite_CS.glsl @@ -60,7 +60,7 @@ float CalcShadowValue (sampler2D shadowMap, vec4 worldSpaceFragPos, mat4 lightPV if (fragPosLightPOV.z > sampledDepth && fragPosLightPOV.w > 0.0f) { - return 0.3f; + return 0.0f; } else return 1.0f; diff --git a/Assets/Shaders/DeferredComposite_CS.shshaderb b/Assets/Shaders/DeferredComposite_CS.shshaderb index 31ea035c0a64e3e947bae4ceb483ce0661300999..ceca4e13568ca092b20096b7eec9b7c432767466 100644 GIT binary patch literal 8317 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 X46+VodvI={i(); lightingSubSystem->Init(device, descPool, &resourceManager, samplerCache.GetSampler (device, SHVkSamplerParams { - // nothing for now + .addressMode = vk::SamplerAddressMode::eClampToBorder, }) ); diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Lights/SHLightingSubSystem.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/Lights/SHLightingSubSystem.cpp index 2e3b21d9..9acdfed0 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Lights/SHLightingSubSystem.cpp +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Lights/SHLightingSubSystem.cpp @@ -518,7 +518,7 @@ namespace SHADE if (auto renderer = light.GetRenderer()) { //SHMatrix orthoMatrix = SHMatrix::OrthographicRH() - renderer->UpdateDataManual(frameIndex, GetViewMatrix(&light), SHMatrix::OrthographicLH(30.0f, 30.0f, 1.0f, 50.0f)); + renderer->UpdateDataManual(frameIndex, GetViewMatrix(&light), SHMatrix::OrthographicLH(10.0f, 10.0f, 1.0f, 50.0f)); } auto enumValue = SHUtilities::ConvertEnum(light.GetLightData().type);