Been testing the following profiles for the last few days, but wanted to get to some Guardian ruins and check some very specific transitions before releasing them.
I've set TexelStability to 0 for the general profile. This appears to allow allows for lower filter kernel sizes without adding too much aliasing or making them overly hard and has proved to be much more workable than reducing the degree of fade. The issues I've had with changing the texel stability setting on the planet profiles don't apply to the situations where the general profile is used, so it's a good tweak here, IMO.
For most profiles I've reduced the depth slope biases to clear up some detached shadows and smooth a few of the more glaring cascade transitions a bit. For the same reason I've reduce the planet approach profile basic depth biases. This has the side effect of reintroducing flickering shadows on some geometry when it's lit from very shallow angles, but such trade offs are unavoidable to some degree.
Additionally, I've increased the shader and shader slope biases for the asteroid field profile as the lower figures were causing a strange shimmering on ice at close range. I have not yet noticed any downsides from this.
Oh yeah, I increased the filter kernel size in the cockpits to soften those shadows more and make it easier to cross fade with the next cascade, helping to make some ship self-shadowing cleaner with less noticeable transitions.
Performance should be about the same as the prior few profiles that are also using 16k slice sizes, maybe slightly better from the reduced kernel filter size.
XML:
<Profile_General>
<SliceSize>16384</SliceSize>
<NumFrustums>9</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>1.0</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<NearClipBias>1.0</NearClipBias>
<FrustumCockpit>
<DepthBias>0.000075</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>5.0</FilterKernelSize>
</FrustumCockpit>
<Frustum0>
<EndDistance>20.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>1.0</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>50.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>125.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>5.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>312.5</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>625.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>4.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>1250.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>2500.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>5000.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.001</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>12500.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_General>
<Profile_PlanetApproach>
<SliceSize>16384</SliceSize>
<NumFrustums>9</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>1.0</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<NearClipBias>1.0</NearClipBias>
<FrustumCockpit>
<DepthBias>0.000075</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>5.0</FilterKernelSize>
</FrustumCockpit>
<Frustum0>
<EndDistance>20.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>1.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>50.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>125.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>5.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>312.5</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>625.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0002</DepthBias>
<DepthSlopeBias>4.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>1250.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0003</DepthBias>
<DepthSlopeBias>3.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>2500.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>5000.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.001</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>12500.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_PlanetApproach>
<Profile_PlanetSurface>
<SliceSize>16384</SliceSize>
<NumFrustums>9</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>1.0</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<NearClipBias>1.0</NearClipBias>
<FrustumCockpit>
<DepthBias>0.000025</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>3.0</FilterKernelSize>
</FrustumCockpit>
<Frustum0>
<EndDistance>10.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.00005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>1.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>20.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>1.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>40.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>1.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>80.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>4.0</DepthSlopeBias>
<FilterKernelSize>1.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>160.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0001</DepthBias>
<DepthSlopeBias>3.5</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>400.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0003</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>1000.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>2500.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.001</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>7500.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_PlanetSurface>
<Profile_StationInterior>
<SliceSize>16384</SliceSize>
<NumFrustums>1</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>0.0</Fade>
<CrossFadeCascades>false</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<FrustumCockpit>
<DepthBias>0.000075</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>5.0</FilterKernelSize>
</FrustumCockpit>
<Frustum0>
<EndDistance>1470.0</EndDistance>
<ShaderBias>0.0003</ShaderBias>
<ShaderSlopeBias>0.0003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>2.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>0</TexelStability>
</Frustum0>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_StationInterior>
<Profile_AsteroidField>
<SliceSize>16384</SliceSize>
<NumFrustums>9</NumFrustums>
<FilterQuality>2</FilterQuality>
<Fade>1.0</Fade>
<CrossFadeCascades>true</CrossFadeCascades>
<AdaptiveCascades>false</AdaptiveCascades>
<NearClipBias>1.0</NearClipBias>
<FrustumCockpit>
<DepthBias>0.000075</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>5.0</FilterKernelSize>
</FrustumCockpit>
<Frustum0>
<EndDistance>20.0</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>5.0</DepthSlopeBias>
<FilterKernelSize>1.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum0>
<Frustum1>
<EndDistance>50.0</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>6.0</DepthSlopeBias>
<FilterKernelSize>1.5</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum1>
<Frustum2>
<EndDistance>125.0</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.0005</DepthBias>
<DepthSlopeBias>5.5</DepthSlopeBias>
<FilterKernelSize>2.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum2>
<Frustum3>
<EndDistance>312.5</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.001</DepthBias>
<DepthSlopeBias>4.5</DepthSlopeBias>
<FilterKernelSize>2.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum3>
<Frustum4>
<EndDistance>625.0</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.002</DepthBias>
<DepthSlopeBias>4.0</DepthSlopeBias>
<FilterKernelSize>2.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum4>
<Frustum5>
<EndDistance>1250.0</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>4.0</DepthSlopeBias>
<FilterKernelSize>2.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum5>
<Frustum6>
<EndDistance>2500.0</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>3.5</DepthSlopeBias>
<FilterKernelSize>2.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum6>
<Frustum7>
<EndDistance>5000.0</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>3.0</DepthSlopeBias>
<FilterKernelSize>2.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum7>
<Frustum8>
<EndDistance>12500.000000</EndDistance>
<ShaderBias>0.003</ShaderBias>
<ShaderSlopeBias>0.003</ShaderSlopeBias>
<DepthBias>0.003</DepthBias>
<DepthSlopeBias>2.5</DepthSlopeBias>
<FilterKernelSize>2.0</FilterKernelSize>
<TexelStability>2</TexelStability>
</Frustum8>
<NumSpotShadows>6</NumSpotShadows>
<SpotFilterQuality>1</SpotFilterQuality>
<AsteroidShadowsEnabled>1</AsteroidShadowsEnabled>
<FogShadowMapsEnabled>1</FogShadowMapsEnabled>
</Profile_AsteroidField>
Instructions are the same as before.
As always, if you notice any problems, I'd appreciate feedback, preferably with screen shots and/or video, so I can diagnose the issue.