BramTeurlings / 3DGameBridge

Wrapper Project for easy implementation of function in any 3D Game Bridge project
GNU General Public License v3.0
2 stars 1 forks source link

[GB-175] Research feasibility of displaying OpenXR in Game Bridge #75

Closed BramTeurlings closed 9 months ago

BramTeurlings commented 9 months ago

Read the description of the parent epic and see if such a program is feasible to make. The outcome of this ticket should describe:


Originally reported by , imported from: Research feasibility of displaying OpenXR in Game Bridge
  • assignee:
  • status: Done
  • priority: Medium
  • resolution: Complete
  • resolved: 2024-01-19T08:03:01-08:00
  • imported: 2024-04-04
BramTeurlings commented 9 months ago

Subtask of parent task GB-174

BramTeurlings commented 9 months ago

712020:c26664a4-c3de-4473-a0b4-5a76804d5628:

OpenXR is now officially supported in ReShade 6.0.0 so this saves us a ton of work!

BramTeurlings commented 9 months ago

607809585759fb0069a89817:

I have looked a little bit into the reshade implementation of OpenXR. It looks like it hooks some graphics pipeline functions of an application that supports OpenXR.

Two things:

Maybe it’s possible to force the game to search for devices again, that would enable us to create a device in reshade.

It might be good to continue this ticket with the original ideas, the support for OpenXR in Reshade will probably help a lot.

BramTeurlings commented 9 months ago

607809585759fb0069a89817:

Looked into the reshade implementation of OpenXR, I suggest we continue with the original idea and use reshade functions.

BramTeurlings commented 9 months ago

712020:c26664a4-c3de-4473-a0b4-5a76804d5628:

We would have to see if we can initialize some connection to OpenXR in our addon after the game is launched and injected with UEVR. Not sure is this is possible.

BramTeurlings commented 9 months ago

712020:f91dd24e-5296-4a9d-90d9-b287c639e252:

So we decided to look at OpenXR and making a UEVR plugin instead of making a native version of UEVR. It can have several benefits in the end. Also it would not be necessary for us to use the Compositor (Hydra application) or the SR Hydra background service. We will use the code from the hydra runtime dll and modify it to be loaded by UEVR and have it render to the game window with SR. This would become a very minimal program and does not need multiple programs to interact with each other. Also there would be no need for ReShade.

BramTeurlings commented 9 months ago

712020:f91dd24e-5296-4a9d-90d9-b287c639e252:

Investigated while working on the program

BramTeurlings commented 9 months ago

712020:c26664a4-c3de-4473-a0b4-5a76804d5628:

Investigation was done on both UEVR and ReShade. This is satisfactory.

BramTeurlings commented 6 months ago

[Epic: OpenXR in GameBridge]