diff options
| author | Egor Yusov <egor.yusov@gmail.com> | 2019-07-18 17:04:48 +0000 |
|---|---|---|
| committer | Egor Yusov <egor.yusov@gmail.com> | 2019-07-18 17:04:48 +0000 |
| commit | a90ed45acfe5c7403a916ed9c5153debcfb01589 (patch) | |
| tree | 182c466c2d2e71026b468a825e04dad90cc87d37 /Components/src/ShadowMapManager.cpp | |
| parent | Fixed 16-bit VSM/EVSM format from UNORM to Float (diff) | |
| download | DiligentFX-a90ed45acfe5c7403a916ed9c5153debcfb01589.tar.gz DiligentFX-a90ed45acfe5c7403a916ed9c5153debcfb01589.zip | |
Shadows: using 16-bit UNORM instead of 16-bit float for VSM
Diffstat (limited to 'Components/src/ShadowMapManager.cpp')
| -rw-r--r-- | Components/src/ShadowMapManager.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
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; |
