Ok, got a little bit messy
The world matrix is sent to the shader as the InverseView matrix
Please validate the following, for shadowmapping you need to transform a point from view space to light space:
vs = view space ws = world space ls = light space ts = texture space point_vs == invert(view_matrix)==> point_ws == light_view_matrix ==> point_ls == light_projection ==> point_ts Note: invert(view_matrix) = invert( invert(camera_world_matrix))=camera_world_matrix
Then check the view point reconstruction, try to ensure, that position reconsturction + view->world space transformation works first.