OpenXR NIS upscaling software - Release thread

Yes, this one works. I can see the images. Thanks.

No. Only if you want to make changes.

Paint.net worked.

It turns out taking two identical images in VR is not easy. But I can subjectively confirm that the tool produces noticeably sharper images. The difference is not as dramatic as you press Ctrl-F1, though. The pictures you posted capture the improvement in cockpit clarity pretty well. But the scenery are too simple to do justice to the software.

I tried 3 options:

  1. NIS 0.8_0.5 – let NIS do the scaling.
  2. OXR 0.65 TAA 1.0 – let OXR do the scaling.
  3. OXR 1.0 TAA 0.8 – let the game do the scaling.

The three are roughly equivalent in terms of render resolution, but 1) looks best in the headset. 2) probably has similar cockpit clarity as 1), but 1) is the all-around winner for sure.

Great tool! Thanks for giving us more options and improving our VR experience.

1 Like

Yes, Ctrl-F1 shows the image at the resolution BEFORE NIS, but upscaled using a nearest point interpolation (basically the cheapest possible thing). When you use the render scale in the game with TAA, you should get less aliasing for a same resolution (but it might also be more expensive). So yes it’s not a perfect comparison. It’s just not possible from outside FS to truly disable NIS and ask the game to render at a different resolution without restarting VR. But at least it shows how NIS performs in general in terms of sharpening.

I’ll give a quick update on my roadmap for the project.

First thing is that the current form of this project is actually being halted - but only to be replaced with a new, better, more general “OpenXR Toolkit” instead.

There are 2 main reasons for that:

  • The new OpenXR Toolkit will not just do NIS, but it will be a playground for other developments. For example, many have requested other features like the ability to tweak the ICD (world scale) and image post-processing (brightness etc). So it does not make sense to keep calling the project NIS Scaler.
  • The current code for my software was designed to do NIS and nothing else, and to do it quickly (low development effort). So adding anything on top of it (like the features described above) is very inefficient. Just even something like D3D12 would be extremely messy with the current software. It just wasn’t set up for this.

So the new OpenXR Toolkit is being developed with extensibility in mind. The other key issue it will tackle is user experience. There still seems to be a lot of confusion around the config tool and how to use it, and making sure that the settings are actually being applied etc. The OpenXR Toolkit will come with an on-screen display. It will not be a full menu, as in it will not be controllable with the mouse or the VR controller, but instead it is inspired from AV devices (think VCR or audio amps), where only a few lines of text and 4 buttons are needed to navigate. All settings will be accessible from this menu, while the game is running. It will not solve that changing the render scale will still require re-entering VR, that is not something I can improve, ever.

The goal is that the tool should just be installed using the setup wizard, then start the game and be able to change the settings right there. Here’s a quick preview of the on-screen display (that you will see in the headset – please ignore the cubes, this is a test application – just imagine Flight Simulator running instead :smiley:)


(also this is very early stuff - it will be improved like “Upscaling” will show the actual resolution, and the text will be properly aligned etc :sweat_smile:)

Last but not least, I have several new features and experiments coming up.

First I’m happy to say that I’ve partnered with another developer who’s making some serious progress on adding FSR support. FSR is a comparable process to NIS, and there’s a chance that it will either be better than NIS for Flight Simulator, or maybe better for some people’s taste. It could also not be as good, we’ll have to try and see.

I’ll also be looking on some performance improvements like the NIS half-precision mode. Many have requested post-processing like being able to change brightness/contrast, and the new code allows to experiment with such effects pretty easily. Whether they will “look good” in the game, I don’t know until I try them.

There are also features like custom ICD (world scale) and custom FOV that should become doable with the new code. Finally, the new extensible framework I am developing for the toolkit will allow me to begin work on D3D12 support.

So lots lots lots of work ahead, and the holidays are over for me, so also less time to work on this. I have a list of 20 To-do, ranging from small bug fixes that will take me minutes, to larger features that may take days/weeks, and also completely random tasks like “make a (small) website”.

I am really hoping to release something in mid/late January with at least 2-3 of these new features.

Thanks again to everyone for your awesome support!

64 Likes

Very promising project path :slight_smile:
Our future Swiss knife for VR !
Thank you so much for your efforts

4 Likes

Sounds great - Thanks again to you, @CptLucky8 and the other developers who are spending time on this for the benefit of us all!

5 Likes

Wow this roadmap sounds awesome, thank you so much for your hard work! You are the hero that we (and Asobo) need!

1 Like

@mbucchia Thanks for the roadmap update it sounds very exciting, may I suggest a Discord channel alongside/instead of the website? They’re extremely easy to maintain and become a very good source of information & on the spot help for people.

1 Like

UPDATE: I have the Logitech k830 keyboard in cockpit, and hitting Ctrl+F1 is kinda struggle with visors on as by default you also need to press Fn-button. Today I installed Logitech Options and “CapsLocked” the F-buttons, and oh my
 Turns out I have not actually activated/deactivated NIS at all during testing due to the keyboard config. No wonder I have not been able to see any differences :blush: #stupidme

System: 9900k,3080Ti, G2

Render settings: Oxr 100%, MSFS 100%, NIS 100%
Sharpening: NIS 50%, usr cfg Sharpen 0
OXR Reprojetion: Always ON

Set on runway at ORBX ENML I did testing NIS on/off to adjust sharpening, and the clearity of taxi signs, snow patches in the mountains and cockpit panel text is a LOT better/sharper with NIS enabled.
It is also clear that all textures in sim have a blur added to them with NIS OFF.
Sharpening over 50% give distortions.

I dont know if it is related, but when exiting sim VR and operating in WMR desktop app, this now hang for some time before I can select and click anything.

All in all a very nice experience!!

1 Like

That roadmap is very much appreciated! As probably already suggested by others - if you would like to share an email address where we could send you a little “Thank you!” via PayPal to sweeten your efforts with some coffee, beer, younameit - I’m sure some people would! :wink:

5 Likes

Awesome news! FSR is worth exploring - I found less aliasing and more pleasant look with FSR in Elite Dangerous, I’m using similar layer for OpenVR. So it may or may not add better picture, and also performance hit may be different too. Definitely worth exploring.

I second the Discord suggestion - very low maintenance compared to a website and a great tool for people to help each other and seek answers. You can pin the required info there, releases etc.

Maybe you could also combine the LeapMotion layer into the tool? Not required, of course, they can remain separate, just a thought to have everything in one place


2 Likes

This is great, looking forward to testing the new option. Thanks for all your hard work on this it has made a big difference on my 1080 GPU performance and the Oculus Quest 2 that I am using. FSR support sounds very exciting
 All we need now is for MSFS to fix up some of the bugs including volumetric lighting. You wouldn’t by anychance have a quick fix for that, cannot see lights when going through clouds at night
 and that is part of the full immersive experience? Thanks again

1 Like

Awesome Matthieu! Can’t wait to see the next steps from your roadmap to happen :smiley:

1 Like

Is any special consideration needed for the Oculus app’s render resolution setting when using the NIS scaler?

Any other setting that requires special consideration with the use of NIS either in NVIDIA control panel or in the MSFS VR options menu itself apart from 100% scaling set there?

Thank you for your quick reply to my inquiry!

Steve

WRT Oculus Quest 2 (and perhaps WMR as well) and OpenXR Toolset (NIS Scaler for now), it seems like there is a lot of upscaling and downscaling going on in the whole process of presenting a final digital image to my 1800x1900 (or so) native LCD Q2 panels. I just wonder if by using mbucchia’s toolset carefully along with the Oculus PC interface settings that involve setting the resolution - along with the serial encode/decode settings that is happening with (Air)Link (cable or wifi), PLUS the NIS scaler PLUS the MSFS Render Scaling settings !!! - that we might find an approach that is optimal. Right now it is just trial and error - with a lot of the latter - especially also considering ASW / Motion Reprojection.

Thank you for your time, effort and contribution. Keep it up.

This would be great to fix the tiny C172/C152 cockpit scaling. I wonder why Asobo was not able to add world scaling after a year since VR support was released.

Those seem good to me :thinking:

On the other hand, the scaling (not tiny size but scaling) of the Caudron C.430 cockpit seems off to me.

I am on a G2.

It’s inconceivable that the scaling can be ‘wrong’ on a specific aircraft. The whole 3D model would need to have been made the wrong size, and that would make the plane itself appear inconsistent with everything else.

I find when jumping between the smallest Cessnas and airliner cockpits that they appear tiny or enormous respectively. It’s really just a matter of perception.

1 Like