// Reconstruct view-space position from the depth buffer float pixelDepth = DepthMap.Sample(DepthMapSampler, input.TexCoord).r; float4 position = float4(pixelDepth * input.FrustumCornerVS, 1.0f);The comment from the sample says that position is going to be in view-space, which fits the assumption your equation makes. I've never seen this kind of position reconstruction before and don't really understand it, so I can only assume it's doing what it says.
The next part is:
float4x4 inverseLVP = mul(InverseView, lightViewProjection); float4 positionLight = mul(position, inverseLVP);InverseView here is the inverse of the player's camera's view matrix. lightViewProjection is the View * Projection matrix for the cascade camera this pixel is in. Broken down, mul(position, InverseView) matches your step 1. inverse(L) should be the view matrix for the cascade camera and L_proj the projection matrix. So in mine it's combined into 1 matrix. So I think it is going through the right transforms, right?