Implement a metering system better suited for VR

TL;DR:
The full screen average brightness system used in 2D doesn’t work in VR. The latter requires a spot meter or a center weighted average system instead.

I’d like FS2020 implementing a different metering system for the EyeAdaptation algorithm.

As of now it is overexposing any view from the cockpit where there is some of cockpit in the frame (typically sitting in the A320 Captain seat and looking through the right windows in a sunny day). It looks to me the metering is implemented as an average of the frame luminosity, which is fine in 2D.

However in VR, it requires a spot-metering or a weighted average because more often than not the VR technology is making most users looking at the center and moving the head, instead of moving the eyes.

There is also another topic which is related to this subject but for other parts of the rendering and display problems: [BUG/FEATURE] Provide Color Space, Tone Mapping, CAS Shader Strength and post-processing effects controls in VR


[08JUL21] additional info

Since SteamVR has been offering the FOV setting, you can see what would give a pseudo weighted average metering system and how much better it would be for FS2020 in my opinion.

You can try using FOV of 50% and compare with FOV 100% when looking out the window, to the dashboard or to areas where you have strong highlights and shadows. The reason is that when at 50% FOV, the game metering system is averaging only 1/4th of the total pixels you get otherwise at 100% FOV, and these are the center ones, and it shows, at least to me, it is much better.

I also believe it wouldn’t take much code changes to support this feature either: instead of sampling the entire render view, just sample the 1/4th center pixels (a 1/4th rectangle centered in the view). From a Shader/C++ code perspective it is not much a change honestly, it is much simpler than a true weighted average, and this approximates the spot metering enough for giving good results. In practice, a UI setting to enable “center metering” for those who wants it, is just what is needed to get started with while preserving the current metering system for those who’d prefer over exposed views in their headsets.


[26AUG21] additional info

If you were shooting highly contrasted cockpit scenes IRL with a camera, you’ll end up having to choose what you’re exposing the overall picture with. It is no different, except with a typical Reflex camera you can choose spot metering (center only), weighted average (a convolution over a pre-determined set of points), and even more sophisticated algorithms can now sample hundreds of points and use IA to decide.

Here is an example of different metering modes in a modern camera:

image

With FS2020, like with any other game, the metering is most likely averaging out the entire render frame in order to set the “gray” point. In such very difficult scenes where there are strong contrasted zones, the algorithm has to draw a line (so to speak) and in this case, the average is not always the best for a cockpit. It is a simple way to do this (averaging the entire frame) and it is working good usually when you’re in an open space shooter for example (entering/leaving buildings etc…), but it is not suited for cockpit views in my opinion, like it is demonstrated in this topic and many others.

A nice page with photo examples to see it all:
Which is best? Spot, Center Weight, or Matrix metering? :: Digital Photo Secrets

Do you recommend disabling EyeAdaptation (1->0) in the VR section of the UserCfg.opt, to minimize the outside view overexposure (especially whe looking into the sun)?

IIRC for this to work you have to disable both EyeAdaptation and ColorGrading, but FS2020 is a moving target and sometimes it changes. You might want to try out and compare?

a quick update: the latest update 1.13.17 is still affected by this over exposure problem.

Yes, it’s quite annoying in planes such as the DA62 because of the black color cockpit and relatively small windshield.

1 Like

It’s a bit disheartening to see that the VR wishlist is in the dev updates remains mostly populated with items that have not even been looked at yet. The overexposure is a real pain - in some conditions (and sometimes you don’t get to choose them, e.g. during bush flights) it’s so bad that the scenery is barely visible given how much it’s washed out. This should be looked at as a matter of priority… Just give us some settings to play with the parameters ourselves

3 Likes

I believe they’ll most likely start working on these once the DX12 version releases and they’re done addressing the first post-launch DX12 introduced bugs (not saying they release bugs, but any 1st time release is more or less expected to have some).

When playing with the new SteamVR FOV setting at 50%, I find the metering is working much better overall, which seems confirming FS2020 needs a specific metering for VR different than 2D, and this supports the idea of a spot metering or a weighted average with higher weigh to the center.

1 Like

With v1.18.13 now released, unfortunately this problem is not changed and is even worse sometimes because the entire world is too bright now during daylight.

2 Likes

Can confirm this, it’s even worse now.

2 Likes

I’ve come back to this game after the latest update because I’ve also recently received my 3080 required to run the game at an acceptable level of performance in my Reverb G2. I noticed straight away how incredibly washed-out and over-brightened the colours were. It seems particularly bad in VR compared to on the screen in 2D. The best example I noticed was in the landing challenge at Svalbard - the brightness and sun glare is so overdone that it looks like there is a wall of super bright fog in front of the plane. I can’t even see the land because it’s obscured by the brightness. I will post a screenshot later.

4 Likes

I never got around to taking a screenshot but after the latest hotfix (1.18.15.0) which included “Fixed “washed out / oil painted” clouds and the overall luminosity under cloud coverage” this issue is now significantly better. Loading the Svalbard landing challenge I can now not only see the land/cliffs in front of the plane, but I can see the coast curve off to the right all the way around to the point at the end which is several kilometres away. This is significantly better. I still wouldn’t say perfect - it still looks too bright in some situations, but it’s perfectly playable and I will happily wait for the brightness slider in upcoming updates to tweak it how I want it.

1 Like

Perhaps a “HDR” Mode like in cameras or smartphones would be nice. This takes three pictures with short, medium and long exposition and somehow generates a picture from these 3 where you can clearly see the darks and the white parts - like the human eye can.

SU7 has made even more of a case for better exposure metering. The updated weather with ground mist has taken the overexposure mostly at altitude to now be extended to the ground. At times it’s just a touch or 2 overexposed but makes the mist read as chunky fog and other times very overexposed and hard on the eyes for any vfr flying. Fly a plane with big cockpit small windows and it’s almost a white out. Fix is needed more then ever now.

I also hope it will be fixed. In A320 its very bad.

Any updates on this from the devs?

The latest OpenXR Toolkit addresses some of these requests via the new post-processing filters developed by @CptLucky8 himself!

2 Likes

But that is Post-processing, the problem is pre.
also, bump

AMEN! That is exactly how it should be done!