Fixed Shadow filtering

Using MATERIAL_RT_DEPTH_ONLY disables hardware filtering, which causes shadows to be pixelated, even with pcf. changing it back to MATERIAL_RT_DEPTH_NONE re-enables hardware filtering, while still working as a depth texture.
This commit is contained in:
ToothpasteVixen 2020-11-17 12:03:22 +13:00 committed by GitHub
parent dbd583b07c
commit 0b5a0c8e2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1494,7 +1494,8 @@ void CClientShadowMgr::InitDepthTextureShadows()
#else
#if defined(MAPBASE) //&& !defined(ASW_PROJECTED_TEXTURES)
// SAUL: we want to create a *DEPTH TEXTURE* of specific size, so use RT_SIZE_NO_CHANGE and MATERIAL_RT_DEPTH_ONLY
depthTex.InitRenderTarget( m_nDepthTextureResolution, m_nDepthTextureResolution, RT_SIZE_NO_CHANGE, dstFormat, MATERIAL_RT_DEPTH_ONLY, false, strRTName );
// However, MATERIAL_RT_DEPTH_ONLY forces point filtering to be enabled which negatively affect PCF, so the standard MATERIAL_RT_DEPTH_NONE works better.
depthTex.InitRenderTarget( m_nDepthTextureResolution, m_nDepthTextureResolution, RT_SIZE_NO_CHANGE, dstFormat, MATERIAL_RT_DEPTH_NONE, false, strRTName );
#else
depthTex.InitRenderTarget( m_nDepthTextureResolution, m_nDepthTextureResolution, RT_SIZE_OFFSCREEN, dstFormat, MATERIAL_RT_DEPTH_NONE, false, strRTName );
#endif