rendered paste body//compute screen-space position
float4 position;
position.x = input.TexCoord.x * 2.0f - 1.0f;
position.y = -(input.TexCoord.y * 2.0f - 1.0f);
position.z = depthVal;
position.w = 1.0f;
//transform to world space
position = mul(position, InvertViewProjection);
position /= position.w;
float4 projection = mul(position, LightViewProjection);
projection /= projection.w;
float2 projectedTexCoords;
projectedTexCoords[0] = projection.x / projection.w / 2.0f + 0.5f;
projectedTexCoords[1] = -projection.y / projection.w / 2.0f + 0.5f;
float4 moments = tex2D(shadowSampler, projectedTexCoords);