void main() {
vec3 worldPos = texture(gBufferPosition, fragTexCoord).xyz;
vec4 shadowProjPos = lightData.lightVP * vec4(worldPos, 1.0f);
vec3 shadowNdcPos = shadowProjPos.xyz/shadowProjPos.w;
shadowNdcPos.xyz = shadowNdcPos.xyz * .5 + .5;
float shadowMapProjectedDepth = texture(shadowMap, shadowNdcPos.xy).x;
vec3 basecolor = texture(gBufferBaseColor, fragTexCoord).rgb;
if(shadowMapProjectedDepth >= shadowNdcPos.z) {
outColor = vec4(basecolor, 1.0) ;
}else {
outColor = vec4(basecolor, 1.0) ;
outColor.xyz *= .3;
}
}