From a90ed45acfe5c7403a916ed9c5153debcfb01589 Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Thu, 18 Jul 2019 10:04:48 -0700 Subject: Shadows: using 16-bit UNORM instead of 16-bit float for VSM --- Components/src/ShadowMapManager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'Components/src/ShadowMapManager.cpp') diff --git a/Components/src/ShadowMapManager.cpp b/Components/src/ShadowMapManager.cpp index 1120049..cba347e 100644 --- a/Components/src/ShadowMapManager.cpp +++ b/Components/src/ShadowMapManager.cpp @@ -85,8 +85,9 @@ void ShadowMapManager::Initialize(IRenderDevice* pDevice, const InitInfo& initIn initInfo.ShadowMode == SHADOW_MODE_EVSM4) { ShadowMapDesc.BindFlags = BIND_SHADER_RESOURCE | BIND_RENDER_TARGET; - if (initInfo.ShadowMode == SHADOW_MODE_VSM || - initInfo.ShadowMode == SHADOW_MODE_EVSM2) + if (initInfo.ShadowMode == SHADOW_MODE_VSM) + ShadowMapDesc.Format = initInfo.Is32BitFilterableFmt ? TEX_FORMAT_RG32_FLOAT : TEX_FORMAT_RG16_UNORM; + else if(initInfo.ShadowMode == SHADOW_MODE_EVSM2) ShadowMapDesc.Format = initInfo.Is32BitFilterableFmt ? TEX_FORMAT_RG32_FLOAT : TEX_FORMAT_RG16_FLOAT; else if (initInfo.ShadowMode == SHADOW_MODE_EVSM4) ShadowMapDesc.Format = initInfo.Is32BitFilterableFmt ? TEX_FORMAT_RGBA32_FLOAT : TEX_FORMAT_RGBA16_FLOAT; -- cgit v1.2.3