ndepoel / FSR3Unity

FSR 3.1 Upscaler integration for Unity built-in render pipeline, with support for DX11, Mac, Linux and consoles.
https://discussions.unity.com/t/open-source-fidelityfx-super-resolution-3-1-fsr3-upscaler-for-unity-birp-dx11-ppv2-hdrp17-multi-platform/917847
MIT License
251 stars 30 forks source link

No VR Support #10

Open frostbone25 opened 12 months ago

frostbone25 commented 12 months ago

Was interested in this effect for usage in VR. Tested it on PCVR (with Oculus Quest 2) and on both Multi-Pass and Single Pass Instanced rendering modes are completely broken. Didn't expect VR support to work anyhow but figured I'd make an issue about it.

I am interested down the line in potentially adding VR support through a fork (although making compute-based post-effects work in VR is a bit of a challenge).

ndepoel commented 11 months ago

Hi, yeah, I and a few others have looked at VR support at various points during the year. The short version of it is: VR in Unity is a bit of a mess, making it very difficult to add FSR2 support into that.

Basically, the VR implementation in Unity feels very tacked-on, rather than something that was thoughtfully integrated into the renderer. That means that each of the three major rendering pipelines has a lot of special cases to deal with VR, not to mention there are about two or three different ways multi-view displays are handled in each pipeline, both on the C# side and in the shaders. In addition to that the Post-processing Stack for the built-in render pipeline has its own VR integration as well. Some legacy code still lingers around too, of old multi-view rendering methods that were abandoned but not fully cleaned up. All of this means it's very hard to know where to even begin to add FSR2 into all of this.

There is also the question of whether FSR2 is actually going to be beneficial for most VR use cases. It will probably be useful for PC VR, but a lot of VR projects focus on standalone Oculus/Meta Quest devices, and we've already established that mobile devices don't really like FSR2 all that much. Even if it can be made to work, it's doubtful whether it will actually help performance for mobile VR.