I am fighting since quite a while with the problem to get a proper projection to a rotated screen.
In a virtual reality studio there is a big screen which is rotated by 30°. The user is looking downwards to the screen. Anything projected to this screen should appear to be horizontal to the floor. For example: A cube’s top and bottom are viewed in stereo mode parallel to the floor.
I tried many ways, but none has worked so far:
- simply rotating the whole scene
- facing downwards
- facing downwards in an asymmetric frustum
I thought changing the projection matrix in a way that the perspective normalization does not happen with a vertical near plane but with a rotated one might be the solution. I haven’t programmed it yet but my calculations so far show that this does not seem to be the correct way.
So far I know the vertices above the center point are closer to the viewer than without screen rotation and the ones below the middle point are further and further away.
I have a program which does exactly this, but I don’t know how it does it. I just have something where I can check whether my solution is correct or not.
Does anybody has any ideas or even experiences with such a situation?