I have a simple shadow map shader with minimal problem on my shadow implementation : - D I know there’s something missing that it draw on polygon not facing the light while it should not, since my shader knowledge on available functions is limited I cannot spot the problem T _ T. any hint is appreciated and welcome ^_^y
IMAGE:
SHADOW MAP COLOR DRAW SHADER CODE :
// Shadow color applying
//------------------------------------------------------------------------------------------------------------------
//*>> Pixel position in light space
//
float4 m_LightingPos = mul(IN.WorldPos3D, __SM_LightViewProj);
//*>> Shadow texture coordinates
//
float2 m_ShadowTexCoord = 0.5 * m_LightingPos.xy / m_LightingPos.w + float2( 0.5, 0.5 );
m_ShadowTexCoord.y = 1.0f - m_ShadowTexCoord.y;
//*>> Shadow map depth
//
float m_Shadowdepth = tex2D(ShadowMapSampler, m_ShadowTexCoord).r;
//*>> Pixel depth
//
float m_PixelDepth = (m_LightingPos.z / m_LightingPos.w) - 0.001f;
//*>> Pixel depth in front of the shadow map depth then apply shadow color
//
if ( m_PixelDepth > m_Shadowdepth )
{
m_ColorView *= float4(0.5,0.5,0.5,0);
}
// Final color
//------------------------------------------------------------------------------------------------------------------
return m_ColorView;