What do I have to do for my custom engine to not require parallel projection?

I think you also need to avoid certain types of effects. You need to be able to render 2 (or more) views generated at the same instant in time, without any weird artifacts. I think the parallel projection “hack” might just render one very wide view and then splits it per-eye.

1 Like

It should really only be a matter of toeing the cameras out appropriately, and that rotation should be included in the provided projection matrices, whether from SteamVR (EDIT: …which added this some time back), or Pimax’s runtime directly. Are we saying it is not included?

(…and using the PP option should just mean two things: 1) That an alternative matrix duo is used, that has the cameras parallel - both facing straight forwards, with the side-by-side inline (EDIT2: …an consequently elonglated) viewplanes that the games that require PP renders in any case, and 2) That the Pimax software subsequently reprojects the resulting images to its canted screens, in post.

(…and changing between the two, would require a restart of anything higher level than Pimax’s runtime, including SteamVR, in order to reacquire the now swapped matrices.)

…or so I would have thought…

@marulu

Normally like VIVE and Oculus, human eyes will watch the VR screen like below:

For Pimax 8K series, we have two panels, human eyes will watch the VR screen like below:

Some games will render the game display abnormally on pimax, so we use parallel projection to correct the rendering. But latest Unreal and Unity could correct this rendering by proper API.

But still have some games which use older engine need this function like Nvidia Funhouse.

Would you please tell us what kind of engine you will use for your custom engine?
OpenVR or Oculus engine?

4 Likes

@Sean.Huang Thanks for the answer, we are using Open VR, to be specific the engine is made in C++ with DirectX.

@marulu

If you use open VR to develop, you could use this API to correct the rendering:

virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye )

7 Likes

If you’re interested in API details (like I was), click the link…

. IVRSystem::GetEyeToHeadTransform · ValveSoftware/openvr Wiki · GitHub

4 Likes

@neal_white_iii
Thanks for help

3 Likes

There is some confusion about the SteamVR SS when parallel projection is enabled. It seems increasing the SS doesn’t lead to a visible changes in the headset. But the performance of the game drops. Can we get some guidance about the best way to setup the SteamVR SS for games that use PP?
This is a very important issue for FO4VR that needs PP and also needs some tinkering to achieve the optimal balance between performance and visual clarity.

2 Likes

@Sean.Huang Thanks for the quick reply. I have been wondering if there is any possibility of me getting into the Brainwarp Beta test? I would love to test how my engine performs with Brainwarp and if fixed foveated rendering will work in my engine.

2 Likes