Shadow Quality

I copied the <Shadows_Low> section from the new file in today's update and made it look very similar to this one posted above. The result is effectively turning off directional shadows completely.
I prefer it like this both flat and VR

this is the file to disable directional shadows
XML:
<?xml version="1.0" encoding="UTF-8" ?>
<GraphicsConfig>
    <Shadows_Low>
    <Profile_General>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <Fade>0.01</Fade>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_General>
    <Profile_PlanetApproach>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <CrossFadeCascades>true</CrossFadeCascades>
      <LastCrossFadeCascadesDistance>300.0</LastCrossFadeCascadesDistance>
      <NearClipBias>1.0</NearClipBias>
      <AltitudeAdaptation>
        <MinElevation>85.0</MinElevation>
        <MaxElevation>600.0</MaxElevation>
        <Scale>10.0</Scale>
        <FirstCascadeScalingAmount>0.125</FirstCascadeScalingAmount>
      </AltitudeAdaptation>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_PlanetApproach>
    <Profile_PlanetSurface>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <NearClipBias>1.0</NearClipBias>
      <FrustumZeroCanBeOverridden>0</FrustumZeroCanBeOverridden>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_PlanetSurface>
    <Profile_StationInterior>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <Fade>0.01</Fade>
      <FrustumCockpit>
        <DepthBias>0.001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
    </Profile_StationInterior>
    <Profile_AsteroidField>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_AsteroidField>
  </Shadows_Low>
    <GUIColour>
    <Default>
      <LocalisationName>Standard</LocalisationName>
      <MatrixRed>   0.25, 0.25, 0.50 </MatrixRed>
      <MatrixGreen> 0.25, 0.50, 0.25 </MatrixGreen>
      <MatrixBlue>  0.50, 0.25, 0.25 </MatrixBlue>
    </Default>
  </GUIColour>
  </GraphicsConfig>
This is actually really useful. Landing on planets is so much less eye-destroying, even if it's just removing some of the shadows.

edit - although effectively switching off the directional shadows in stations messes the fogging up, so Im going to try reverting the <Profile_StationInterior> back to normal.
 
Last edited:
My highly subjective impressions without proper testing so far (stock "Ultra", stock GraphicsConfiguration.xml): the flickering in stations and when approaching a planetary surface seems to have decreased, but has not completely disappeared. However, shadows still pop in and out under a landed ship on a planet.
I just came here looking for a solution to this. It's not just under landed ships, I get a variety of draw-distance related problems with shadows.

From what I understand reading back...the xml changes listed here can't help with that? Is there no hope? Or would the 'disable directional shadows' perhaps help?

edit: Interestingly, I changed Spot Shadow Quality from "high" to "ultra" at the same time as putting Directional quality to "low" and most of the draw-distance problems seem to go away at least on foot around a ship, but return if I move Directional quality back up to "ultra"...? I don't understand how....

edit2: I think Spot Shadow quality didn't matter for my results, just seems like Directional Shadow quality on high/ultra starts causing my draw distance problems. Baffling, you'd think increasing quality would increase draw distance ranges, not decrease?
 
Last edited:
I just came here looking for a solution to this. It's not just under landed ships, I get a variety of draw-distance related problems with shadows.

From what I understand reading back...the xml changes listed here can't help with that? Is there no hope? Or would the 'disable directional shadows' perhaps help?
Use this to change switch the directional shadows off, rather than low/medium/high/ultra. Switching them off removes the problem entirely but, obviously means less shadows. But it's soo much better on planets, imo.

 
What I've done now is take the changes in that post, but just used this part here ie just the planet approach and planet surfaces:

XML:
<Profile_PlanetApproach>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <CrossFadeCascades>true</CrossFadeCascades>
      <LastCrossFadeCascadesDistance>300.0</LastCrossFadeCascadesDistance>
      <NearClipBias>1.0</NearClipBias>
      <AltitudeAdaptation>
        <MinElevation>85.0</MinElevation>
        <MaxElevation>600.0</MaxElevation>
        <Scale>10.0</Scale>
        <FirstCascadeScalingAmount>0.125</FirstCascadeScalingAmount>
      </AltitudeAdaptation>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_PlanetApproach>
    <Profile_PlanetSurface>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <NearClipBias>1.0</NearClipBias>
      <FrustumZeroCanBeOverridden>0</FrustumZeroCanBeOverridden>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_PlanetSurface>

and replaced this part of the code in the ultra section. If that makes sense. So when I use ultra for all the shadows, what I actually get is directional off completely.
 
What I've done now is take the changes in that post, but just used this part here ie just the planet approach and planet surfaces:

XML:
<Profile_PlanetApproach>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <CrossFadeCascades>true</CrossFadeCascades>
      <LastCrossFadeCascadesDistance>300.0</LastCrossFadeCascadesDistance>
      <NearClipBias>1.0</NearClipBias>
      <AltitudeAdaptation>
        <MinElevation>85.0</MinElevation>
        <MaxElevation>600.0</MaxElevation>
        <Scale>10.0</Scale>
        <FirstCascadeScalingAmount>0.125</FirstCascadeScalingAmount>
      </AltitudeAdaptation>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_PlanetApproach>
    <Profile_PlanetSurface>
      <SliceSize>1024</SliceSize>
      <NumFrustums>0</NumFrustums>
      <FilterQuality>3</FilterQuality>
      <NearClipBias>1.0</NearClipBias>
      <FrustumZeroCanBeOverridden>0</FrustumZeroCanBeOverridden>
      <FrustumCockpit>
        <DepthBias>0.0001</DepthBias>
        <DepthSlopeBias>1.5</DepthSlopeBias>
      </FrustumCockpit>
      <Frustum0>
        <EndDistance>0</EndDistance>
      </Frustum0>
      <Frustum1>
        <EndDistance>0</EndDistance>
      </Frustum1>
    </Profile_PlanetSurface>

and replaced this part of the code in the ultra section. If that makes sense. So when I use ultra for all the shadows, what I actually get is directional off completely.
I'm kinda confused, should I be replacing the GraphicsConfiguration.xml file with Morbad's and then make this change?
 
I'm kinda confused, should I be replacing the GraphicsConfiguration.xml file with Morbad's and then make this change?
I'm not using Morbad's file at the moment. After the trailblazers update I set everything to ultra, then used the file I linked to from darli_404:


and replaced the entire <Shadows_Low> section. This means when you set your directional shadows to low, it actually switches them off. And that worked.

....

But after that I realised I could have ultra directional shadows for everything else but only switch off direction shadows for planets, by using the default graphics configuration and only replacing the ultra shadows for planets. i'm not sure I'm explaining this part well.
 
I did that because the directional shadows may be annoying everywhere in the game, but they only really make me upset on planet surfaces. So my directional shadows are set to ultra, but on planets only they actually are set off, using just this one part of the code :

 
I'm not using Morbad's file at the moment. After the trailblazers update I set everything to ultra, then used the file I linked to from darli_404:


and replaced the entire <Shadows_Low> section. This means when you set your directional shadows to low, it actually switches them off. And that worked.

....

But after that I realised I could have ultra directional shadows for everything else but only switch off direction shadows for planets, by using the default graphics configuration and only replacing the ultra shadows for planets. i'm not sure I'm explaining this part well.
So with darli's file, I want to replace the <Shadows_Low> section in the original GraphicsConfiguration.xml (and set Directional Shadows to Low), and if trying yours, I'd replace <Shadows_Ultra> (and set Directional Shadows to Ultra)?


edit: Gave it a try, it sure does remove the shadows...and notably, fixes my on-person shadow from being an undefinable blob to looking about how it should look. But I think I'd rather keep the shadows, if possible, and just fix the draw distance/flickering as much as possible. So now what :ROFLMAO:

edit2: I tried going back to Directional Shadows on Medium, and... when standing in my ship's lights, my on-foot shadow is fine. When standing in the ambient light on the planet, unidentifiable blob. This is so bizarre, I really hope shadows & aliasing become a top priority for them during their ongoing roadmap.

edit3: More weirdness. I tried Directional on Ultra, to identify if that's controlling the ambient-light shadow, and it does - but naturally, my draw distance problems return. The weird part is that if I move a certain distance away, the shadows pop back in. If I get close enough, the shadows pop back in. It's like there's a certain distance zone where the shadows partially disappear & flicker. Unbelievable.

So what I think I need, somehow... is my pilot's personal shadow, to be from Shadows_High/Ultra, but for all other shadows to be from Shadows_Medium (or maybe Low), which is where the draw distance issue stops happening?
 
Last edited:
Decided to give Morbad's v26 file a go, and that too is giving me the draw distance problems! (I jumped a bit so you can easily see where the shadow stops rendering under the ship...) 😭
Untitled.jpg
 
So with darli's file, I want to replace the <Shadows_Low> section in the original GraphicsConfiguration.xml (and set Directional Shadows to Low), and if trying yours, I'd replace <Shadows_Ultra> (and set Directional Shadows to Ultra)?


edit: Gave it a try, it sure does remove the shadows...and notably, fixes my on-person shadow from being an undefinable blob to looking about how it should look. But I think I'd rather keep the shadows, if possible, and just fix the draw distance/flickering as much as possible. So now what :ROFLMAO:

edit2: I tried going back to Directional Shadows on Medium, and... when standing in my ship's lights, my on-foot shadow is fine. When standing in the ambient light on the planet, unidentifiable blob. This is so bizarre, I really hope shadows & aliasing become a top priority for them during their ongoing roadmap.

edit3: More weirdness. I tried Directional on Ultra, to identify if that's controlling the ambient-light shadow, and it does - but naturally, my draw distance problems return. The weird part is that if I move a certain distance away, the shadows pop back in. If I get close enough, the shadows pop back in. It's like there's a certain distance zone where the shadows partially disappear & flicker. Unbelievable.

So what I think I need, somehow... is my pilot's personal shadow, to be from Shadows_High/Ultra, but for all other shadows to be from Shadows_Medium (or maybe Low), which is where the draw distance issue stops happening?
Yeah it's completely messed up :D

The basic logic for what I'm doing is this - I only really care about the shadows not giving me a headache on planetary surfaces. The rest I can live with. So for me, setting everything ultra is fine, but remove completely the directional shadows for planet surfaces only. And wait for fdev to maybe fix it all at some point.
 
And yes, if we remove the directional shadows we dont get player/ship/rock shadows. But we also don't get those shadows running around, flickering on and off, changing length etc, and totally pulling me out of my relaxing time on planet surfaces.
 
From what I understand reading back...the xml changes listed here can't help with that? Is there no hope? Or would the 'disable directional shadows' perhaps help?
Just to be clear: the flickering is a bug re-introduced with one of the updates last year. Only FDev can fix it for good. We can change some settings and the xml file, of course, to mitigate it a bit, but we can't debug the bug.
 
Or would the 'disable directional shadows' perhaps help?

Only if you prefer no shadows more than broken shadows.

I think Spot Shadow quality didn't matter for my results

Spot shadows are only created in response to lamps and other light sources other than the local star and aren't cascaded the same way directional shadows are. They don't have problems because they are totally independent.

I tried going back to Directional Shadows on Medium, and... when standing in my ship's lights, my on-foot shadow is fine.

Spot shadow, with a light source at your ship.

When standing in the ambient light on the planet, unidentifiable blob.

Directional shadow cascade, with a point light source at infinite distance.

The weird part is that if I move a certain distance away, the shadows pop back in. If I get close enough, the shadows pop back in. It's like there's a certain distance zone where the shadows partially disappear & flicker. Unbelievable.

That's not really weird, that's how cascaded shadow maps work. Please reference some of the explanatory links in the first post of my original thread.

The bug is that some cascades/frustums are broken and every shadow table has different cascades at different ranges.

Note that Odyssey moved toward exponential variance shadow maps. I've expended significant effort on getting the legacy shadow maps working in EDO, with little success. They are usable for some specific scenes, but will crash during many transitions, so cannot be used as a workaround. They also don't render correctly in EDO (4.0.x) and have had problems similar to what we see with the current EVSMs since the Odyssey alpha (though with different cascades).

So what I think I need, somehow... is my pilot's personal shadow, to be from Shadows_High/Ultra, but for all other shadows to be from Shadows_Medium (or maybe Low), which is where the draw distance issue stops happening?

Impossible to do as the light source is what dictates the kind of shadow is rendered and the distance from the shadow casting object dictates what cascade is used for directional shadows.

Just to be clear: the flickering is a bug re-introduced with one of the updates last year. Only FDev can fix it for good. We can change some settings and the xml file, of course, to mitigate it a bit, but we can't debug the bug.

Correct.

Best I can figure is that specific cascades or specific ranges have incorrect, or are incorrectly parsing, parameters for texel stability and/or depth/slope bases.
 
Last edited:
Only if you prefer no shadows more than broken shadows.



Spot shadows are only created in response to lamps and other light sources other than the local star and aren't cascaded the same way directional shadows are. They don't have problems because they are totally independent.



Spot shadow, with a light source at your ship.



Directional shadow cascade, with a point light source at infinite distance.



That's not really weird, that's how cascaded shadow maps work. Please reference some of the explanatory links in the first post of my original thread.

The bug is that some cascades/frustums are broken and every shadow table has different cascades at different ranges.

Note that Odyssey moved toward exponential variance shadow maps. I've expended significant effort on getting the legacy shadow maps working in EDO, with little success. They are usable for some specific scenes, but will crash during many transitions, so cannot be used as a workaround. They also don't render correctly in EDO (4.0.x) and have had problems similar to what we see with the current EVSMs since the Odyssey alpha (though with different cascades).



Impossible to do as the light source is what dictates the kind of shadow is rendered and the distance from the shadow casting object dictates what cascade is used for directional shadows.



Correct.

Best I can figure is that specific cascades or specific ranges have incorrect, or are incorrectly parsing, parameters for texel stability and/or depth/slope bases.
Boy, imagine if I had this info on-hand ingame...! Thanks for the explanations. It's both enlightening and shows how confounding this problem is.

So then... is it possible to pick out the cascade ranges that are working, and exclude the ones that don't, for a given shadow quality setting? Can the depth/slope be fussed with?

Like, given leaving it on medium/low does not have the issue...it seems like those settings are already leaving out the broken cascade/frustrums, somehow? So is there a sort of mix-and-match possible here, like thistle seems to have done to disable directional shadows on ultra?
 
So then... is it possible to pick out the cascade ranges that are working, and exclude the ones that don't, for a given shadow quality setting?

It's probable that with enough trial and error we could divine which cascades are broken in which circumstances...until the next patch breaks them in a slight different way, or fixes them incompletely...which has happened a few times.

However...

Can the depth/slope be fussed with?

Not with the EDO's shadows. They pretty much knocked out all the tunable variables with the new EVSM system, outside of number of frustums, their resolution, and their distances.

Like, given leaving it on medium/low does not have the issue...it seems like those settings are already leaving out the broken cascade/frustrums, somehow? So is there a sort of mix-and-match possible here, like thistle seems to have done to disable directional shadows on ultra?

You can't really skip a cascade/frustum. If you leave a large gap in distance, you just have a really jarring transition to the next cascade. You could stop casting any directional shadows before the minimum distance the problem occurs, but from what cursory testing I've done, that might be as low as 10-20 meters, which is pretty useless, IMO (the default ultra shadows are ~10km, and mine go a bit further in most places, which still isn't enough for a clean transition from the baked in cascade in some circumstances...much earlier in ED's history some tables had cascades out to ~30km).
 
It's probable that with enough trial and error we could divine which cascades are broken in which circumstances...until the next patch breaks them in a slight different way, or fixes them incompletely...which has happened a few times.

However...



Not with the EDO's shadows. They pretty much knocked out all the tunable variables with the new EVSM system, outside of number of frustums, their resolution, and their distances.



You can't really skip a cascade/frustum. If you leave a large gap in distance, you just have a really jarring transition to the next cascade. You could stop casting any directional shadows before the minimum distance the problem occurs, but from what cursory testing I've done, that might be as low as 10-20 meters, which is pretty useless, IMO (the default ultra shadows are ~10km, and mine go a bit further in most places, which still isn't enough for a clean transition from the baked in cascade in some circumstances...much earlier in ED's history some tables had cascades out to ~30km).
Hmm. Does the game have to be relaunched fully after each change, or can a menu relog suffice? I don't mind being a guinea pig but it would certainly speed the process a bit.

I think I'd rather live with a jarring transition than the shadows disappearing in partial form in unexpected ways.

Making me recall the days of messing with original Skyrim trying to get shadows to not be lousy. How far that's come in the same span of time! Amazing what can happen when the community can intervene with standing game issues, eh?
 
😭
Untitled.jpg

Please teach me the ways of messing with the cascades and trial & erroring this. What're some idiot-proof steps I can follow?
 
😭

Please teach me the ways of messing with the cascades and trial & erroring this. What're some idiot-proof steps I can follow?

Not sure there is really an idiot-proof procedure or a good guide, beyond what's already been linked. EDO is simultaneously simpler and more difficult than Legacy because the VSMs offer fewer tuning parameters and because it's bugs make it difficult to tell what problems are due to changes to the shadow tables and what is an underlying fault with the game.

About the only advice I can give is to find a location with a near static sun position, or that is otherwise repeatable, for testing.

As for your image, I'm not sure what you're trying to do. Trying to limit shadows distance is probably never going to look good, but tuning the "Fade" variable might make the transition from shadowed to shadowed less jarring. If you're trying to fix Frontier's bug by adjusting the shadow tables, "NearClipBias" is probably the place to start...though I haven't had any meaningful success.
 
It’s strange to thing that this is a persistent issue that was once fixed already.
Cascade shadow maps are a staple of most game engines.
One hopes that the fix is resting on another branch waiting to be pushed to the main game because of other graphical goodies
 
Back
Top Bottom