Is RenderSceneData.get_view_projection() broken?

Godot Version

4.4.1

Question

I am making a raymarching CompositorEffect and need to pass the view projection matrix to the compute shader. I was trying to use RenderSceneData’s get_view_projection() function to get the view projection of my only view, however for some reason (except for stereo rendering, apparently) this function returns the camera projection matrix instead. From my experience with INV_VIEW_MATRIX and INV_PROJECTION_MATRIX in spatial shaders, they are not the same, regardless of the view count. There is already get_cam_projection() for camera projection, why then would this function return the wrong matrix? Who do I contact about this? It is not a bug per se, this behaviour is acknowledged in the documentation. But I cannot progress without being able to get the view projection in script, and this appears to be the only function to do this.

The view projection matrix can be computed by taking the inverse of camera transform that in turn can be acquired with get_cam_transform(). Similarly, there is no specific need for the inverse view matrix in a glsl shader because it is in fact just the camera transform matrix. Having said that, I am still confused about the usage of get_view_projection() function. If it is meant to get the camera projection, it seems redundant. If it is meant to get the view projection, it does not do that, and the name is misleading.