Fixing the Gray Wall
-
There’s a major problem with how the game renders the world: the Gray Wall. It’s ever-present; the terrain just fades out into blank grayness at around 10nm, regardless of weather conditions. There are a few issues this poses:
- It’s ugly, objectively.
- It limits immersion by limiting the world you can see (probably an issue in itself, I know)
- It’s not terribly realistic
On 3, I know that in poor vis conditions that at low altitude, your horizon can definitely be a dull haze. At low altitude. In specific conditions. Not at high altitude, in all conditions. I don’t know that haze gets much above 10-15k, and at that point, so long as you’re not obscured by clouds, you have horizon visibility generally, including being able to look down into the haze layer. Now, I’d love to be a millionaire, and I recognize that totally overhauling the graphics to this degree may not be feasible as a near-term project. There are other ways to improve the Wall, though…
There’s another issue with being at altitude: the horizon line is not the same! The higher you go, the farther the separation between a straight horizontal line and the actual horizon (look closely):
This is because the earth isn’t flat, and it curves away from you as you increase your altitude, opening up the sky. The Gray Wall should recede further down as your altitude increases, while your view of the skybox should increase. The math (I think) of that divergent angle is:
theta = 90 – arcsin( 20890320 / (20890320 + altitude) )
20890320 being a rough approximation of the radius of the Earth in feet. At 0ft, it’s 0deg, at 10,000ft it’s about 2deg, at 25,000ft it’s 2.8deg, and at 40,000ft it’s 3.5deg (math checks out on the real-world pic above). That doesn’t sound like a lot, but given the Gray Wall is about 6deg at 20,000’, you’re cutting out nearly half of it from the screen, replacing it with glorious, beautiful, free air. Ahhhhh, so nice.
I don’t know what the engine is capable of, but simply shifting the horizon line down with the above math and setting the skybox lower would literally solve half our issue and make the game look that much nicer. I know fixes aren’t simple usually, but this is as simple a fix as you can get.
That fixes half the problem. The other half is the color of the gray wall itself, which should be an easier fix. Even if we can’t for whatever reasons draw beyond this low visibility radius, we can certainly make it look more color appropriate (useful even if we can increase the draw radius). The real-world gray wall is almost never contrasting dull gray. It is usually light gray, hazy blue, or rich colors of the unobscured ground. It almost always matches the general color of the cloud layer directly above.
It should be an almost white wall in cloudy conditions.
and a rich blue that’s just a touch darker than the open sky in hazy conditions
and in clear conditions it should be just the ground color with a touch of desaturation.
At middle altitudes, where the amount of air beneath you is similar to that above (18.5k feet or so, I believe), the horizon should be almost mirroring the sky and ground (it’s the same gas doing the same scattering, just the backdrop above is black and the backdrop below is deep earth tones and blues).
The color should match whatever the cloud/haze layer has for its color. A nearly white RGB244/244/244 on a partly cloudy day, perhaps a duller 166/166/166 for overcast conditions, and a beautiful blue 100/165/210 for clear, hazy conditions.
That would be imperfect, but still a massive leap over the current look:
-
As you can imagine we are fully aware of this
First this is mandatory for now since current terrain is not drawn above 64km.
So first is to create a terrain engine able to display like 128Km without fps hit
Then we will be able to remove this haze
-
Jp already explained the root cause, if we “remove” the wall you will see basically “nothing” there.
To the more technical explanation:
The gray wall is actually not a wall, it’s the background.
The renderer is currently using a “Fog Box” that covers the entire viewport, then
on top of that then we render sky and terrain.There are 2 critical problems why this can’t be easily fixed:
- The SkyBox of BMS isn’t a full dome but a half dome - That is wrong
- The terrain rendering range won’t cover enough ground in the distance so even if we would create a full dome, it’ll look somewhat wrong, squared-shaped probably at the edges
So for now it is what it is, ugly yes sure we know.
And BTW the terrain rendering range isn’t 10NM but 64KM, that’s not a guess, that’s a number we know. Of course it feels less because by nature the fog is eating some of it towards the viewing camera.
Anyway, we intend to fix ALL of those issues for 4.37.
-
@I-Hawk I suppose it’s hard to judge distance by just looking at the current terrain, for all the reasons.
I’m glad to hear it’s on the menu for 4.37. By all accounts, this sounds like it will be the Falcon 5.0 release. I am hype. Good luck to you guys. I wish there was a way I could help, but it seems like most of this is over my head, code wise.
If you need help with the terrain itself, I might be able to help with that. Otherwise I’ll just sit here expectantly.