NOTE: This thread applies to the Legacy 3.8 version of the game. I have a separate thread for 4.0 Live.
Update Check post#14 #18 #23 #28 #32 #82 #99 #137 #165 #209 #240 #262 for most recent iteration of the file. Unless otherwise noted in the referenced post, the rest of this post still applies Update
Adding a belated attribution to @Voubi, whose earlier work here originally inspired my own.
First some background information. Elite: Dangerous uses cascaded shadow maps whose parameters are defined for each individual shadow detail preset in the game's 'GraphicsConfiguration.xml' file, located in the main product directory. Here is some light reading to get the basics of what I'm manipulating out of the way:
You can ignore the more technical information as it's varying degrees of irrelevant or inapplicable, but the jist of how shadow cascades, depth & slope biases, etc, work is important if you want to have a useful conceptual framework for what this thread addresses. Though, if you don't give a damn about any of that, you can skip to the end and just slap my modified xml into your game and see if you like the changes.
Anyway, I have long been rather dissatisfied with the appearance of Elite's shadows. Adjustments have been made that have solved some issues over the years, but other issues persist, and shadows as a whole have not kept up with evolving hardware capabilities (not talking about ray-tracing or anything special, just raw raster performance). Horizons also introduced new concerns that seem to have been poorly accounted for.
In particular the following problems continue to stand out:
So, a quick outline of the changes I made to the 'ultra' quality preset in my 'GraphicsConfiguration.xml':
Note that these changes will only apply if you use the 'Ultra' quality shadow preset in the game's graphics settings. Performance hit should be quite minor, but it is there, and if you are very borderline on being able to run Ultra shadows, this particular set of adjustments may not be for you and you may wish to reference previous threads of mine on the topic for some less significant changes.
If you would like to test these changes yourself, you can either replace your 'GraphicsConfiguration.xml', located in the main game directory (\Products\elite-dangerous-64), with the one I have attached to this post (remove the .txt extension first, the new forum doesn't let me attach .xml files), or you can paste+add my changes directly over lines 877 to 1192 in the same.
Reverting these changes is as simple as having the launcher verify the game's integrity; any modified files will be replaced with originals.
My current ultra shadow settings:
I'll try to add some comparison images at some point.
Feel free to post any questions, comments, or suggestions.
Update Check post
Adding a belated attribution to @Voubi, whose earlier work here originally inspired my own.
First some background information. Elite: Dangerous uses cascaded shadow maps whose parameters are defined for each individual shadow detail preset in the game's 'GraphicsConfiguration.xml' file, located in the main product directory. Here is some light reading to get the basics of what I'm manipulating out of the way:
Cascaded Shadow Maps - Win32 apps
Cascaded shadow maps (CSMs) are the best way to combat one of the most prevalent errors with shadowing perspective aliasing.
docs.microsoft.com
Common Techniques to Improve Shadow Depth Maps - Win32 apps
This technical article provides an overview of some common shadow depth map algorithms and common artifacts, and explains several techniques—ranging in difficulty from basic to intermediate—that can be used to increase the quality of standard shadow maps.
docs.microsoft.com
You can ignore the more technical information as it's varying degrees of irrelevant or inapplicable, but the jist of how shadow cascades, depth & slope biases, etc, work is important if you want to have a useful conceptual framework for what this thread addresses. Though, if you don't give a damn about any of that, you can skip to the end and just slap my modified xml into your game and see if you like the changes.
Anyway, I have long been rather dissatisfied with the appearance of Elite's shadows. Adjustments have been made that have solved some issues over the years, but other issues persist, and shadows as a whole have not kept up with evolving hardware capabilities (not talking about ray-tracing or anything special, just raw raster performance). Horizons also introduced new concerns that seem to have been poorly accounted for.
In particular the following problems continue to stand out:
- Shadow acne (what Old Duck would call 'elephant butt leather', caused by an insufficient depth offset or slope bias) on interior cockpit surfaces and planetary surface terrain when the dominant light source is at a highly oblique angles.
- The exact opposite problem, peter panning shadows (when shadows are disconnected from what casts them, caused by too great an offset), on many objects from the beluga's fins, to the canopy support structures in the viper III & IV, to the shadows cast by rocks and other terrain features on planets at various ranges and lighting angles.
- Extremely poor shadow detail at certain distances, caused by initial shadow cascades that are extended too far.
- Poor shadow transitions, caused by an insufficient number of shadow cascades for the distances involved.
- Shadows that reveal, rather than obfuscate, low geometric detail/distant LOD objects. This is especially apparent on asteroid bases, which normally use the 'General' shadow profile, rather than the 'AsteroidField' profile, which has more proper depth/slop biases to prevent this.
So, a quick outline of the changes I made to the 'ultra' quality preset in my 'GraphicsConfiguration.xml':
- Increased shadow slice size (which seems to be shadow map resolution) from 2048 to 4096.
- Increased the number of cascade levels (frustums) from six to nine, focusing on closer shadows, to improve detail and smoothness of transistions.
- Altered the magnitude of shadow fading to further smooth transitions.
- Removed any dynamic altitude adjustment stuff for the 'PlanetApproach' shadows because it was causing extreme shadow acne and they aren't needed with nine cascades.
- Rebalanced virtually all of the depth and slope biases across all profiles to reduce peter panning shadows, shadow acne, and excessive highlighting of geometry, with as few trade offs as practical.
Set all the filter kernel sizes to three to improve the softness of the higher resolution maps and improve performance as well.Adjusted most of these to 1.5 in more recent shadow tables to preserve more detail...negligble performance impact.
Note that these changes will only apply if you use the 'Ultra' quality shadow preset in the game's graphics settings. Performance hit should be quite minor, but it is there, and if you are very borderline on being able to run Ultra shadows, this particular set of adjustments may not be for you and you may wish to reference previous threads of mine on the topic for some less significant changes.
If you would like to test these changes yourself, you can either replace your 'GraphicsConfiguration.xml', located in the main game directory (\Products\elite-dangerous-64), with the one I have attached to this post (remove the .txt extension first, the new forum doesn't let me attach .xml files), or you can paste+add my changes directly over lines 877 to 1192 in the same.
Reverting these changes is as simple as having the launcher verify the game's integrity; any modified files will be replaced with originals.
XML:
<Shadows_Ultra>
<Profile_General>
<SliceSize>4096</SliceSize>
<NumFrustums>9</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>0.99</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<FrustumCockpit>
<DepthBias>0.00005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
</FrustumCockpit>
<Frustum0>
<EndDistance>30.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>60.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>120.00000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>240.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>480.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>960.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.001</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>1920.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0015</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>3840.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>7680.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_General>
<Profile_PlanetApproach>
<SliceSize>4096</SliceSize>
<NumFrustums>9</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>0.99</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<CrossFadeCascadesDistance>180.0</CrossFadeCascadesDistance>
<LastCrossFadeCascadesDistance>720.0</LastCrossFadeCascadesDistance>
<AdaptiveCascades>false</AdaptiveCascades>
<NearClipBias>1.0</NearClipBias>
<AltitudeAdaptation>
<MinElevation>100.0</MinElevation>
<MaxElevation>350.0</MaxElevation>
<Scale>1.0</Scale>
<FirstCascadeScalingAmount>1.0</FirstCascadeScalingAmount>
</AltitudeAdaptation>
<FrustumCockpit>
<DepthBias>0.00005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
</FrustumCockpit>
<Frustum0>
<EndDistance>30.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>60.00000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>120.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>240.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0003</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>480.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>4.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>960.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>1920.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.001</DepthBias>
<DepthSlopeBias>4.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>3840.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>3.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>7680.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_PlanetApproach>
<Profile_PlanetSurface>
<SliceSize>4096</SliceSize>
<NumFrustums>9</NumFrustums>
<NumInteriorFrustums>1</NumInteriorFrustums>
<FilterQuality>2</FilterQuality>
<Fade>0.99</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<LastCrossFadeCascadesDistance>480.0</LastCrossFadeCascadesDistance>
<AdaptiveCascades>false</AdaptiveCascades>
<NearClipBias>1.0</NearClipBias>
<FrustumZeroCanBeOverridden>0</FrustumZeroCanBeOverridden>
<FrustumCockpit>
<DepthBias>0.00005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
</FrustumCockpit>
<Frustum0>
<EndDistance>10.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>20.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>4.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>40.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>80.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>160.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>320.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0003</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>640.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>3.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>1600.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>4800.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_PlanetSurface>
<Profile_StationInterior>
<SliceSize>4096</SliceSize>
<NumFrustums>1</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>0.01</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<FrustumCockpit>
<DepthBias>0.00005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
</FrustumCockpit>
<Frustum0>
<EndDistance>1470.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum0>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_StationInterior>
<Profile_AsteroidField>
<SliceSize>4096</SliceSize>
<NumFrustums>9</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>0.99</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<FrustumCockpit>
<DepthBias>0.00005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
</FrustumCockpit>
<Frustum0>
<EndDistance>30.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>60.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>120.00000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.00125</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>240.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0025</DepthBias>
<DepthSlopeBias>4.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>480.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>4.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>960.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>1920.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>3840.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>9600.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>3</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<AsteroidShadowsEnabled>1</AsteroidShadowsEnabled>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_AsteroidField>
</Shadows_Ultra>
I'll try to add some comparison images at some point.
Feel free to post any questions, comments, or suggestions.
Attachments
Last edited: