Odyssey space has "too much contrast" - breaking down the rendering of a frame

Is this the reason some ship skins look REALLY off now?

I know the Azure skin looks really... more blue and less shiny than it was in Horizons, but I noticed on the Viper Mk III Acceleration White Skin, the gold was actual shiny gold in Horizons but in Odyssey, it's more like just... yellowie-brown. No actual shine to it. I was looking at it in the shop last night, and just was very sad that an otherwise amazing paintjob just looks boring without the shiny gold accents.
 
Hmm… looking over the screenshots OP posted I see that the intermediaries are in a small precision floating point format (R11G11B10, i.e. 11 bits total for red and green and 10 for blue). These formats offer only 6 or 5 bits of precision for the mantissa. So while they're offering a large dynamic range (about 30dB), they have only poor resolution, namely only a quarter of the resolution you'd have with a plain 8 bits per channel integer format.

Here's a nice writeup of the precision issues of that format https://bartwronski.com/2017/04/02/small-float-formats-r11g11b10f-precision/

So yes, the choice of intermediary format is clearly to blame here. R11G11B10 is a weird format though and for this particular application the shared exponent format DXGI_FORMAT_R9G9B9E5_SHAREDEXP would have been the far more sensible choice. On the bright side: This choice of format is super easy to change in the source code: If best practices were followed it should be as easy as changing the value of a global configuration constant. Worst case they'd have to do a search and replace DXGI_FORMAT_R11G11B10_FLOAT→DXGI_FORMAT_R9G9B9E5_SHAREDEXP and that'd at least take care of the banding.
Really interesting! Thanks for taking your time to teach me, this was very clear and concisely written.
 
Is this the reason some ship skins look REALLY off now?

I know the Azure skin looks really... more blue and less shiny than it was in Horizons, but I noticed on the Viper Mk III Acceleration White Skin, the gold was actual shiny gold in Horizons but in Odyssey, it's more like just... yellowie-brown. No actual shine to it. I was looking at it in the shop last night, and just was very sad that an otherwise amazing paintjob just looks boring without the shiny gold accents.
Yes I noticed the azure paint jobs are metallic blue now. And white colours are off too. White space stations are now kind of grey, and my "tactical white" Viper IV is now a smudgy grey. It'll get fixed shortly I hope/suspect.
 
Is this the reason some ship skins look REALLY off now?

I know the Azure skin looks really... more blue and less shiny than it was in Horizons, but I noticed on the Viper Mk III Acceleration White Skin, the gold was actual shiny gold in Horizons but in Odyssey, it's more like just... yellowie-brown. No actual shine to it. I was looking at it in the shop last night, and just was very sad that an otherwise amazing paintjob just looks boring without the shiny gold accents.
Yeah this is my personal bugbear because i spent real world money on making my ships look smart and now the ligthing makes them look like dogsh*z
 
I hope some one at FD reads this and corrects the problem but I am not holding my breath. I can't believe they let this mess out the door.
They should take notice if OP reports the bug and links to this thread. Maybe send an email to the developers.
 
Yeah this is my personal bugbear because i spent real world money on making my ships look smart and now the ligthing makes them look like dogsh*z
I haven't spent much money on paint jobs. My Military OD Green FDL paint job looks about the same as before. But on the paint jobs that I've gotten from events (like the Azure skin or the White Acceleration Viper Mk III skin I got from a CG) are noticeable in how different they seem now.

Go to the skins section of the marketplace at the main menu, and pull up the Acceleration White skin for the Viper Mk III. Compare how it looks in Oddy (Sorry, don't have a good example of it) vs Horizons. It's just sad.
 
What does any of that have to do with interior spaces with artificial lighting being completely nonsensically lit?
"I'll just add what I've said many times before on this forum - the relationships between different lightsources is completely random in Elite and does not even try to be realistic."
 
nobody is saying they dont like the fact that the lighting blending/ mixture is not realistic.

They're talking about shadows where there shouldn't be shadows due to obvious in view lighting sources. That's not in the same ballpark as what your response is stating. So it appears irrelevant to the discussion. Basic tenants of lighting that have been mastered by games since like, nintendo 64 days (and prior on pc). Not issues one expects in a 6 year game following an update where previously they were functioning fine.
 
Step 17: Finally, this is where the trouble begins, as the skybox and the
stars are rendered into the same image that also holds the cockpit
geometry view. From this moment on, the values in those pixels are doomed:
No amount of clever tone mapping can bring them into comparable contrast
ranges, after they have been baked together.

View attachment 229939

Also it seems and if the skybox might already have its tones gamma mapped,
but I'm not sure about that. But if the skybox is pre gamma mapped, this
would be a mistake.

Still at this point the image still looks okayish. Barnards Loop is
clearly discernible and also the Milky Way is faintly visible. We can blow
up the tone ranges, and also bypass to see how this look with and without
gamma and different contrast.

View attachment 229940
View attachment 229941

Step 18: In this step the HUD is drawin in, element by element. Here
I only show the final result. *Of particular note is, that the HUD
elements look as they do in "normal" screenshots if gamma bypass is
enabled for the debug display.*
This means that all the HUD elements are
rendered in with the basic gamma ramp already pre applied. So if we
presume that the render target so far is supposed to be in linear RGB,
then the HUD elements will inevitably get gamma transformed to a higher
power, which is not correct; the result will be a far larger contrast on
the HUD elements with things being either really bright, or really dark.

View attachment 229942
and here with an additional subsequent gamma transform
View attachment 229943

After this the final tonemapping pass is applied. And this is where the
digestive end product hits the rotary air impeller
. In the pixelshader for
this tonemapping step is applied what could be understood as a gamma
transform. The resulting image, in linear RGB already looks as the
presumably desired end result. It still looks okay, the HUD is readable,
albeit a little bit overcontrast and oversaturated, we can still clearly
see Barnards Loop and a hint of the Milky Way. I'd not deem this
"perfect", but perfectly acceptable within the constraints of a product
release.
View attachment 229944
However, because the image is untyped, the graphic system will
apply a gamma transform of its own, with the familiar, unpleasant result.
View attachment 229946
One thing that stands out about this tonemapping step is a constant found
within the pixel shader: 64500. That value is awefully close to 65535,
i.e. 2\*\*16-1. My guess is that a (junior?) developer had trouble with
the value ranges, dumped an image, took its maximum value x, punched 1/x
into their calculator and rounded to the next multiple of 100 (why 100 and
not 128?).
View attachment 229947
Now remember back to the first step, the cubemap: That thing looks good.
And it's aligned with the ship, so clearly this cubemap is not
prerendered, but rendered somwhere else. So these frame captures don't
tell the whole story, there are even more renderers involved there,
operating independently.


Among "experienced" grey beard developers it's common knowledge, that the
code structure of a program reflects the organizational structure of the
entity that developed it. These frame command dumps are a reflection of
the code structure that produce them. So by second order indirection this
allows me to take a few guesses. The whole thing reeks of a communications
problem. Within the generation of a frame there seem to be (at least)
three different "teams" working on the same thing: The people who develop
the astronomical renderer, the people who develop the ship's cockpit
renderer and the UI renderer (which produces that HUD) team, and I got the
impression, that there's a severe lack of communication between them. It's
at the interface between them, where the mishaps occur.
Could you find a way of getting this to the developers? One would hope that they have seen this, but given the likely state of frantic debugging they’re doing, this kind of clarity may help (speaking as a sometime developer who occasionally could not see the bug for the trees, being too close to the code myself, and having outside eyes on it was a big help).
 
Is this the reason some ship skins look REALLY off now?

I know the Azure skin looks really... more blue and less shiny than it was in Horizons, but I noticed on the Viper Mk III Acceleration White Skin, the gold was actual shiny gold in Horizons but in Odyssey, it's more like just... yellowie-brown. No actual shine to it. I was looking at it in the shop last night, and just was very sad that an otherwise amazing paintjob just looks boring without the shiny gold accents.
The "Vibrant" paint jobs took a big hit as well. My formerly bright red Asp now looks darker than tactical crimson even in direct white light.

Before and after:

20210110212900_1.jpg
20210520154554_1.jpg
 
The "Vibrant" paint jobs took a big hit as well. My formerly bright red Asp now looks darker than tactical crimson even in direct white light.

Before and after:

View attachment 230683
View attachment 230684

maybe try viewing it on braben's exact hardware - since that apparently allows a completely different game to exist - hence his lack of hesitation in releasing.
 
Now I want to see Fdev do some breakdowns and "making ofs" that go into technical detail of things and neat workarounds they did. This nerdy stuff is neat to read.

Back to the original post, I wonder if some of the devs in previous versions left for whatever reason, leaving someone else to try to figure out how to work with their code, or otherwise work a core bit of code that they failed to reverse engineer. I imagine staff will come and go over the lifetime of such a long since released game, so there might be some brilliant code only they understood, even with code commenting. Think of that one Quake bit of code (foul language warning).
 
Is this the reason some ship skins look REALLY off now?

I know the Azure skin looks really... more blue and less shiny than it was in Horizons, but I noticed on the Viper Mk III Acceleration White Skin, the gold was actual shiny gold but in Odyssey, it's more like just... yellowie-brown. No actual shine to it. I was looking at it in the shop last night, and just was very sad that an otherwise amazing paintjob just looks boring without the shiny gold a

"I'll just add what I've said many times before on this forum - the relationships between different lightsources is completely random in Elite and does not even try to be realistic."
Except interior and ship lighting is fine in Horizons, so that arguments goes out the window.
 
What the dashboard looks like in Odyssey:

20210524184950_1.jpg


What I believe the dashboard is supposed to look like in Odyssey:

20210524184957_1.jpg


I got the properly illuminated dashboards by taking a screenshot immediately after pressing my "Open System Map" hotkey.

This goes double for illumination while inside carriers and stations, which is also equally affected by my "Open System Map" trick.
 
Last edited:
Back
Top Bottom