Modding, Mission Design, and Coding > Cross-Platform Development

Oculust Quest VR version

<< < (2/2)

FekLeyrTarg:
There's also something else to consider:
FreeSpace is a control-heavy game, so unless you can use a joystick/gamepad and a keyboard with the Quest standalone, I don't think a Quest version of FSO would be feasable.

But if you want untethered PC-VR with the Quest, you can either use AirLink or VirtualDesktop.
On the other hand, as FreeSpace and space combat sims in general are a sitting experience, I don't mind the cable much.
(I'm a member of the team behind XWVM and play it a lot in VR.)

Personally, if I wanted to implement VR-support within FSO, I would make use of OpenXR in order to support as many headsets as possible if not all.
I wish I had the skills to actually implement it.

Should any efforts to implement VR ever take traction, I'd be happy to do some testing with my original Oculus Quest.

(By the way: The XWA Upgrade team somehow managed to implement VR support without any source code and it works and looks fantastic.)

m0rgg:

--- Quote from: FekLeyrTarg on November 15, 2021, 08:36:04 pm ---There's also something else to consider:
FreeSpace is a control-heavy game, so unless you can use a joystick/gamepad and a keyboard with the Quest standalone, I don't think a Quest version of FSO would be feasable.

--- End quote ---
You can use Bluetooth keyboards and controllers.
Also, the motion controllers can have similar inputs to a gamepad.


--- Quote ---But if you want untethered PC-VR with the Quest, you can either use AirLink or VirtualDesktop.
On the other hand, as FreeSpace and space combat sims in general are a sitting experience, I don't mind the cable much.
(I'm a member of the team behind XWVM and play it a lot in VR.)

--- End quote ---
I think the native implementation on Quest is more about convenience and the barrier of entry of having a gaming PC than the cable itself.
That said, I agree that implementing VR on PC would be the first logical step.


--- Quote ---Personally, if I wanted to implement VR-support within FSO, I would make use of OpenXR in order to support as many headsets as possible if not all.

--- End quote ---
Indeed, OpenXR is the way to go, both on PC and Quest. If someone manages to implement VR in PC, that part should work the same in standalone (Quest or other Android headsets).
The other building block is to have an Android port that works with OpenGL ES, or ideally Vulkan. I think there is some functional fork already?


--- Quote ---I wish I had the skills to actually implement it.

Should any efforts to implement VR ever take traction, I'd be happy to do some testing with my original Oculus Quest.

(By the way: The XWA Upgrade team somehow managed to implement VR support without any source code and it works and looks fantastic.)

--- End quote ---
I am collaborating with the VR mod for XWA, and indeed not having the source is very challenging, but there are many other mods that manage to do it. You need to understand the rendering part of the engine and modify the right addresses in memory to modify the 3D transformation matrices.

In XWA all the 3D calculations are done in software (CPU) and the drawing uses a legacy API (DirectDraw). In fact blue_max and others in the community managed to do a 2D->3D reconstruction in a ddraw.dll wrapper. Once you can capture the draw calls and have the 3D primitives, it's a matter of applying 2 separate view-projection matrices and render to each of the eyes. But that's just the easy part, then you need to fix things that break because they were not designed/implemented for stereo view.

I have been working on an OpenXR implementation for XWA but lately I focused on solving other issues in the SteamVR implementation.

I have good very good memories of playing Freespace 2 so maybe one day I will give it a go.
Maybe doing it with source code will even seem easy in comparison 😁

FekLeyrTarg:

--- Quote from: m0rgg on November 16, 2021, 09:45:56 am ---I am collaborating with the VR mod for XWA, and indeed not having the source is very challenging, but there are many other mods that manage to do it. You need to understand the rendering part of the engine and modify the right addresses in memory to modify the 3D transformation matrices.

In XWA all the 3D calculations are done in software (CPU) and the drawing uses a legacy API (DirectDraw). In fact blue_max and others in the community managed to do a 2D->3D reconstruction in a ddraw.dll wrapper. Once you can capture the draw calls and have the 3D primitives, it's a matter of applying 2 separate view-projection matrices and render to each of the eyes. But that's just the easy part, then you need to fix things that break because they were not designed/implemented for stereo view.

I have been working on an OpenXR implementation for XWA but lately I focused on solving other issues in the SteamVR implementation.

I have good very good memories of playing Freespace 2 so maybe one day I will give it a go.
Maybe doing it with source code will even seem easy in comparison 😁

--- End quote ---

That's amazing what you've accomplished.
I don't imagine it being any easy.

I'm looking forward what you'll have in store for us for SteamVR and OpenXR.
And also to your implementation for FSO should you ever do it. :)

simh:
I wonder if the controllers would really be that big of an issue but yes, you can have bluetooth mouse and keyboard. I am not sure if even USB with splitter is not possible.
And my point is exactly that Quest 2 being standalone, it's not only untethered but in general, a mobile, hassle-free setup. You could play FSO while flying (if we ever get back to that luxury on a bigger scale ;) ).

I wonder if this would really be such an enormous task (for sure it's not a small project) because from what you wrote, there are plenty of capabilities even without the source code. Just... wow.



--- Quote from: m0rgg on November 16, 2021, 09:45:56 am ---
I have good very good memories of playing Freespace 2 so maybe one day I will give it a go.
Maybe doing it with source code will even seem easy in comparison 😁

--- End quote ---

For sure it would be amazing :)

FekLeyrTarg:
In the meantime, I hope we'll get proper support for modern OpenGL from VorpX soon.

I did have some partial success with VR in FSO using VorpX recently.
With the TrackIr DLL, you can have some proper tracking.
But only one eye renders and there's no 3D just yet.
(However, I'Ve read that earlier FSO versions like 3.6.12 and 3.7.0 work fine as they use an earlier version of OpenGL.)

Navigation

[0] Message Index

[*] Previous page

Go to full version