Texture2D can replace Shadow2D in below way
For Shadow
//c++
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_COMPARE_MODE, GL_COMPARE_R_TO_TEXTURE );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_COMPARE_FUNC, GL_LEQUAL );
//glsl
vec4 shadow = shadow2D( shadowMap, projShadow.xyz );
For Textire2D
//c++
glTexParameteri( target, GL_TEXTURE_COMPARE_MODE, GL_NONE );
//glsl
float shadow = texture2D( shadowMap, projShadow.xy ) - projShadow.z ;
shadow = clamp(shadow * 50.0 + 1.0, 0.0, 1.0);