VR Games in 2D inside the headset?

Is it possible to implement a function in PI Tool that would allow VR games to be displayed in 2D inside the headset? Still in full screen with 6dof head tracking, but not in 3D.
My thoughts are that it may make games like MSFS 2020 easier to render. But not just that game, any game where performance is an issue or users with lesser PC hardware, hopefully could get a frame-rate boost.
Hopefully, there is some merit in this idea.

2 Likes

Doesnt steamvr provide this? I know virtual desktop and vorpx do but they arent free.

Yeah OK. Not quite what I was asking. I’ve tried Virtual Desktop with the fixed screen rotation and Open Track. Results were mediocre. Black borders top and bottom. Laggy 3dof tracking.
Imagine playing something in native VR, then going into Pi Tool, clicking a button, and have your headset render a non stereoscopic image, thus gaining some extra frame rate…
Hope that makes my question clearer.

I wonder if that is even doable given Pimax is 2 canted displays.

I haven’t played outside VR since CV1. I have to say that even though I play MSFS on a 1080ti which isn’t the smoothest yet, I would not be willing to give up depth perception, in it or any flight sim.

It should be doable. If you watch something on Virtual Desktop, and stretch the image across your entire field of view, it is still in 2d.
Five years ago, I was flying around in this 2d VR rig.

In 2d, you still perceive depth and range. Even in 2d, this rig would give me butterflies in my stomach.
Native 6dof head tracking would create a pseudo 3d effect.

1 Like

In theory is should be possible to place both game cameras in the same spot (IPD=0), make their frustums such that each render one half of an effective single viewport, glue to two halves together into that single view, and show it identically in both eyes (EDIT: …where “identically” is not to say you wouldn’t crop the appropriate part for each eye, of course :P); And it “should” work with any VR title, without any modifications.

Alternatively: If it is possible to use different resolution per eye (…or even outright request a mono view, through the VR runtime, mooting any trickery), maybe one could minimise the bitmap size of one eye’s view plane (just so that it doesn’t use up many cycles, since you’re just going to discard it, anyway), and render the full mono view with the other.

2 Likes

If you think so. Personally been flying since subLogic created the original FS and nothing beats VR for me, especially when flying choppers. 15" wall display, Trackir and shutter glasses was pretty good but VR is it.
GL on your quest but flatland and I are no more.

1 Like

Not sure how possible. But recall @VRGIMP27 was talking about an idea of this to render in microscopic 3d.

1 Like

I was thinking about that a lot. It should be possible to do by:

  • Rendering much wider image once
  • Using parts of that image for left and right eyes

But I could not figure out math yet (I have a plugin that adds VR support to one ancient game, and two passes kill the CPU of course :frowning: so I constantly think of a hack around…). Biggest puzzle is what projection matrix to use. Too much beer passed through me since my university days …

I do not think PiTool can do it, it needs to be done by the game, kinda mono VR. Also, it will likely require PP on in PiTool.

1 Like

Left border from the left eye projection matrix, right border from the right eye one; Inner borders inform how to crop the frame for each eye - is there anything that would make it need be more complicated?
(EDIT: I’m no coder.)

PP, yes.

So you don’t think PiTool could do it with lateral borders from each eye’s regular frustum (I think camera position adjustment would occur in a different, transformation matrix?), as suggested above, and medial borders zero degrees (straight ahead) and aligning, so that they render half of the mono frame each?

(Mind you - this would be worst case scenario for shaders that make assumption such as straight ahead being the middle of the frame; Ambient Occlusion, for example, freaks out already, with the asymmetry we have with current headsets - I can only imagine what it would do, were straight ahead to be one of the extreme borders of the frame. :P)

1 Like

So how exactly to construct such projection matrix from left and right one?

this stuff is very hard to put in words, but biggest problem with most VR apps I’ve seen is not what they render. It’s the fact they render it twice because it is easy, which kills CPU. Note I do not know if MSFS does 2 passes, maybe they implemented SPS/MVR. However, if game/plugin is doing two passes, only game/plugin can change to do it only once.

1 Like

Well, yes - on the preparatory and drawcall end of things, with the CPU being involved left, right, and centre, there were supposedly some neat work-duplication-reducing things in NVidia VRWorks, which the company brandished vigorously, to get people to buy 10x0 series graphics cards, but as usual, no developer ended up using those proprietary features, which not only work only on a single maker’s GPUs, but whose future existence is never something you can rely on. :stuck_out_tongue:

This double-work would indeed remain, if still using two cameras to render a mono view.

As for the projection matrix - whilst I am not familiar with its format (I think it’s vectors in the form of tangents?), nor even the basic concept of matrix maths(!): Basically zero the medial “side walls” of the frustums, so that each frustum encompasses exactly one half of of the full view, without any stereo overlap, and the “walls” meet and line up perfectly with one another down the centre line. At any rate - this would be something for piserver to do, just like it does the alternative matrices that come with Parallel Projections mode…

Thank you all for contributing to this topic. I think I was looking for a silver bullet, and have someone say “heck yes, that is doable”, but the conversion quickly got above my pay grade ". Still, I’m glad I asked, having so many clever people putting their thoughts forward. It seem implementing something like this may be harder than it’s worth, but here’s hoping.

1 Like

As someone who do enjoy regular game on the vr headset and spent quite a lot of time trying the different alternatives. there are basically 2 methods

either you use a virtual desktop approach, this is usually a bit laggier, my best result with that was with the application called “virtual desktop” on steam, with most games, its able to capture at 90fps on my 2080 so long as the game isnt pushing the gpu too much on its own. This give you a virtual cinema or lounge kind of area, where you have your display and can play using keyboard/mouse or gamepad on it.

The “better” gaming alternative is vorpx, unlike virtual desktop methods, vorpx inject itself in the game, this mean most game with anti-cheat wont work, but it also mean very little overhead for 2d usage compared to screen capture used by virtual desktop approach. This also give you more customization options on a per game basis, and can offer geometry based 3d rendering (basically a virtual 3d monitor) for more than a few games.

Vorpx is honestly the better option when it works, for flat 2d rendering, the automatic profile usually work so long as the game is not rendering dx12 or vulcan (altho dx12 had some progress recently). For 3d rendering it usually need a profile. There’s a decently large amount of built-in profile for a lot of older games, and many games with no profile can often be made to work with full support by using a custom profile based on another game with similar rendering engine (said custom profile can be shared directly in the tool, as well as searched for if one exists).

As for what you want, basically 2d rendering fixed on the monitor, believe me, its horrible, its a sure way to get motion sickness really really fast. You can try it using virtual desktop and the option to keep the monitor centered tho if you dont believe me xD.

The best way to enjoy non vr game in a vr headset, is using the vr environment to simulate a non vr game environment (like say a lounge). It let you play on stupidly large monitor without actually owning such a stupidly large monitor, and can be pretty immersive “a la IMAX” for some games.

But honestly, current headset are still a bit too low resolution compared to just straight out playing on an actual monitor. Sure a 8kx may have a pretty darn high rendering resolution, but once you add in the distortion and the fact that the actual screen for your non vr game, isnt taking even 1/4 of the headset panel, you end up with not much resolution to work with for the game itself.

1 Like

VorpX in 2d sounds interesting. I wonder if it would suit my needs. The main thrust of this thread was to take a native VR game and have it render in a non stereoscopic manner, hoping that would take some of the load off the CPU/GPU, producing a higher framerate. Being a native VR title, you would have 6dof head tracking and controller support. I’ve tried Virtual Desktop with MSFS2020, but that was so laggy, that it was unusable. In the video I posted above, that is in 2d. Admittedly, the FOV was significantly smaller, but the sense of flight was genuine. I flew in that rig for about a year.

Ah, then yea, theres nothing i know off that will get what you want, you can’t run a vr game in non vr, its just not coded for that. Sure you could put one eye on a mirror driver on your desktop but that won’t give you anything and could even cause extra lag.

Majority of vr titles are incredibly soft on the gpu in the first place (to achieve those super high fps on most machines).

Thank you Jey for taking the time to contribute to this thread. Maybe this post will catch the eye of a Pimax team member with knowledge on why this can or can’t work at a Pitool level. The many cleaver people who have shared thoughts and ideas on this topic make me wonder if it’s a goal out of reach anyway. Quote" Majority of vr titles are incredibly soft on the gpu in the first place (to achieve those super high fps on most machines)"…, Unless you play flight Sims, which go from tough to run to nearly impossible.

This topic will close 2 months after the last reply.

Topic Controls

Reply

Watching

You will receive notifications because you created this topic.

Suggested Topics

How To Make Your Pimax Image/Picture/Screen Clear/Crisp (Increase Clarity)

30 137

Discussion

pi-guide

3h
Any update on a fix for 272?

3

Discussion

2h
½ or 1/3 ghosting image

1

Discussion

1d
Tax blackmailing in PiTool

2

Discussion

Sep 18
Pitool 271 one Basestation is Blu the other is Grey

7

Discussion

1d

There are 310 unread and 5 new topics remaining, or browse other topics in Discussion

arent most flight sim vr supported and not actually vr title ? As in you can play on a monitor in 2d without problem ? if so they should work with vorpx in “vr mode” which is just the screen fixed to your head. if you can map the camera movement to the mouse ingame, vorpx can map head movement to mouse giving you head tracking ingame (altho it can be annoying to use mouse based menu when doing that).

altho as far as saving gpu goes, keep in mind, even if your in 2d, it still has to render and transform the scene twice (once per eye), you cant just shove identical non transformed image on the vr display and expect it to be usable.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.