diff --git a/Compositor/ALS/als.xml b/Compositor/ALS/als.xml
index dbbe3c78d..860627a89 100644
--- a/Compositor/ALS/als.xml
+++ b/Compositor/ALS/als.xml
@@ -10,13 +10,6 @@
screen
rgba8
-
- depth
- 2d
- screen
- screen
- depth32f
-
sun-shadowmap-atlas
2d
@@ -33,8 +26,6 @@
-
-
csm0
@@ -50,7 +41,7 @@
csm1
3.0
- 30.0
+ 50.0
0.5
0.0
@@ -60,8 +51,8 @@
csm2
- 30.0
- 300.0
+ 50.0
+ 150.0
0.0
0.5
@@ -71,8 +62,8 @@
csm3
- 300.0
- 3000.0
+ 150.0
+ 1500.0
0.5
0.5
@@ -80,67 +71,42 @@
0.5
-
+
forward
scene
als-lighting
-
+
csm0
csm1
csm2
csm3
-
+
sun-shadowmap-atlas
10
-
+
color
color0
-
-
-
- depth
- depth
-
-
- display
- quad
-
- color
- 0
-
-
-
- depth-debug
- quad
- depth
-
- 0.8
- 0.0
- 0.2
- 0.2
- 1.0
-
-
- depth
- 0
-
+ display
+ quad
+
+ color
+ 0
+
-
diff --git a/Compositor/Effects/ALS/shadow-pass.eff b/Compositor/Effects/ALS/shadow-pass.eff
index 76ed58c02..3a9e20a65 100644
--- a/Compositor/Effects/ALS/shadow-pass.eff
+++ b/Compositor/Effects/ALS/shadow-pass.eff
@@ -7,12 +7,10 @@
false
0 0 0 0
back
-
+ Shaders/Default/trivial.vert
+ Shaders/Default/trivial.frag
+
diff --git a/Compositor/Effects/agriculture.eff b/Compositor/Effects/agriculture.eff
index f3dd04b60..b07fddb72 100644
--- a/Compositor/Effects/agriculture.eff
+++ b/Compositor/Effects/agriculture.eff
@@ -433,12 +433,14 @@
Shaders/ALS/terrain-ultra.vert
Shaders/ALS/filters.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/agriculture.frag
Shaders/ALS/cloud-shadowfunc.frag
Shaders/ALS/noise.frag
Shaders/ALS/hazes.frag
Shaders/ALS/secondary_lights.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
grain_strength
@@ -1147,6 +1149,27 @@
2
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
lequal
diff --git a/Compositor/Effects/airfield.eff b/Compositor/Effects/airfield.eff
index 576f98e63..9094d5357 100644
--- a/Compositor/Effects/airfield.eff
+++ b/Compositor/Effects/airfield.eff
@@ -198,12 +198,14 @@
Shaders/ALS/terrain-ultra.vert
Shaders/ALS/filters.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/airfield.frag
Shaders/ALS/cloud-shadowfunc.frag
Shaders/ALS/noise.frag
Shaders/ALS/hazes.frag
Shaders/ALS/secondary_lights.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
visibility
@@ -859,6 +861,27 @@
2
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
lequal
false
diff --git a/Compositor/Effects/chrome.eff b/Compositor/Effects/chrome.eff
new file mode 100644
index 000000000..8a7776411
--- /dev/null
+++ b/Compositor/Effects/chrome.eff
@@ -0,0 +1,125 @@
+
+
+ Effects/chrome
+
+
+ transparent
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ modulate
+ constant
+ src-color
+ texture1
+ src-color
+
+
+
+
+ 1
+
+ linear-mipmap-linear
+ repeat
+ repeat
+
+ interpolate
+ texture0
+ src-color
+ previous
+ src-color
+ texture0
+ src-alpha
+
+ replace
+ texture1
+ src-alpha
+
+
+ sphere-map
+
+
+
+
+
+ als-lighting
+
+ false
+
+
+
+
+
+
+
+
+
+ 0
+
+
+
+
+
+
+
+ modulate
+ constant
+ src-color
+ texture1
+ src-color
+
+
+
+
+ 1
+
+ linear-mipmap-linear
+ repeat
+ repeat
+
+ interpolate
+ texture0
+ src-color
+ previous
+ src-color
+ texture0
+ src-alpha
+
+ replace
+ texture1
+ src-alpha
+
+
+ sphere-map
+
+
+
+
+
diff --git a/Compositor/Effects/grass.eff b/Compositor/Effects/grass.eff
index c6e3fbad0..cdf137959 100644
--- a/Compositor/Effects/grass.eff
+++ b/Compositor/Effects/grass.eff
@@ -201,12 +201,14 @@
Shaders/ALS/terrain-ultra.vert
Shaders/ALS/filters.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/airfield.frag
Shaders/ALS/cloud-shadowfunc.frag
Shaders/ALS/noise.frag
Shaders/ALS/hazes.frag
Shaders/ALS/secondary_lights.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
visibility
@@ -862,6 +864,27 @@
2
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
lequal
false
@@ -938,6 +961,7 @@
Shaders/ALS/grass.frag
Shaders/ALS/noise.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
96
triangles
triangle-strip
@@ -1123,6 +1147,27 @@
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
true
diff --git a/Compositor/Effects/model-combined.eff b/Compositor/Effects/model-combined.eff
index cd96f2791..4514fd6dc 100644
--- a/Compositor/Effects/model-combined.eff
+++ b/Compositor/Effects/model-combined.eff
@@ -1081,12 +1081,14 @@ please see Docs/README.model-combined.eff for documentation
Shaders/ALS/model-ultra.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/model-ultra.frag
Shaders/ALS/cloud-shadowfunc.frag
Shaders/ALS/hazes.frag
Shaders/ALS/secondary_lights.frag
Shaders/ALS/noise.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
BaseTex
@@ -1997,6 +1999,27 @@ please see Docs/README.model-combined.eff for documentation
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
diff --git a/Compositor/Effects/model-default.eff b/Compositor/Effects/model-default.eff
index b430d0f28..aa3575b8b 100644
--- a/Compositor/Effects/model-default.eff
+++ b/Compositor/Effects/model-default.eff
@@ -125,6 +125,14 @@
+
+
+
+
+
+
+
+
@@ -466,11 +474,13 @@
Shaders/ALS/generic-base.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/model-base.frag
Shaders/ALS/hazes.frag
Shaders/ALS/secondary_lights.frag
Shaders/ALS/noise.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
visibility
@@ -785,6 +795,27 @@
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
diff --git a/Compositor/Effects/model-transparent.eff b/Compositor/Effects/model-transparent.eff
index 983862b39..560c1e9c0 100644
--- a/Compositor/Effects/model-transparent.eff
+++ b/Compositor/Effects/model-transparent.eff
@@ -117,4 +117,81 @@
-->
+
+ als-lighting
+
+ true
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 111
+ DepthSortedBin
+
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ modulate
+
+
+
+
diff --git a/Compositor/Effects/runway.eff b/Compositor/Effects/runway.eff
index 84c2ce804..3d2eaa7be 100644
--- a/Compositor/Effects/runway.eff
+++ b/Compositor/Effects/runway.eff
@@ -657,6 +657,7 @@
Shaders/ALS/terrain-ultra.vert
Shaders/ALS/filters.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/runway.frag
Shaders/ALS/cloud-shadowfunc.frag
Shaders/ALS/noise.frag
@@ -664,6 +665,7 @@
Shaders/ALS/secondary_lights.frag
Shaders/ALS/filters.frag
Shaders/ALS/lightspot.frag
+ Shaders/ALS/shadows-include.frag
visibility
@@ -1552,6 +1554,27 @@
2
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
+
+
+
+
+
+
+
@@ -820,12 +828,14 @@
Shaders/ALS/terrain-ultra.vert
Shaders/ALS/filters.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/terrain-ultra.frag
Shaders/ALS/noise.frag
Shaders/ALS/cloud-shadowfunc.frag
Shaders/ALS/hazes.frag
Shaders/ALS/secondary_lights.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
grain_strength
@@ -1517,6 +1527,27 @@
2
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
lequal
@@ -1677,10 +1708,12 @@
Shaders/ALS/terrain-detailed.vert
Shaders/ALS/filters.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/terrain-detailed.frag
Shaders/ALS/noise.frag
Shaders/ALS/hazes.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
visibility
@@ -1935,6 +1968,27 @@
2
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
lequal
false -->
@@ -2055,10 +2109,12 @@
Shaders/ALS/generic-base.vert
+ Shaders/ALS/shadows-include.vert
Shaders/ALS/terrain-base.frag
Shaders/ALS/hazes.frag
Shaders/ALS/noise.frag
Shaders/ALS/filters.frag
+ Shaders/ALS/shadows-include.frag
visibility
@@ -2226,6 +2282,27 @@
2
+
+
+ shadow_tex
+ sampler-2d
+ 10
+
+
+ shadows_enabled
+ bool
+
+
+
+
+
+ sun_atlas_size
+ int
+
+
+
+
+
lequal
diff --git a/Compositor/Shaders/ALS/agriculture.frag b/Compositor/Shaders/ALS/agriculture.frag
index a1176d668..ad132b962 100644
--- a/Compositor/Shaders/ALS/agriculture.frag
+++ b/Compositor/Shaders/ALS/agriculture.frag
@@ -92,6 +92,8 @@ vec3 searchlight();
vec3 landing_light(in float offset, in float offsetv);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
+
// a fade function for procedural scales which are smaller than a pixel
@@ -417,13 +419,15 @@ if ((dist < 5000.0)&& (quality_level > 3) && (combined_wetness>0.0))
NdotL = NdotL + 0.05 * noisegrad_1m * detail_fade(1.0, view_angle,dist);
if (NdotL > 0.0) {
+ float shadowmap = getShadowing();
if (cloud_shadow_flag == 1) {NdotL = NdotL * shadow_func(relPos.x, relPos.y, 0.3 * noise_250m + 0.5 * noise_500m+0.2 * noise_1500m, dist);}
- color += diffuse_term * NdotL;
+ color += diffuse_term * NdotL * shadowmap;
NdotHV = max(dot(n, halfVector), 0.0);
if (gl_FrontMaterial.shininess > 0.0)
specular.rgb = ((gl_FrontMaterial.specular.rgb * 0.1 + (water_factor * vec3 (1.0, 1.0, 1.0)))
* light_specular.rgb
- * pow(NdotHV, gl_FrontMaterial.shininess + (20.0 * water_factor)));
+ * pow(NdotHV, gl_FrontMaterial.shininess + (20.0 * water_factor))
+ * shadowmap);
}
color.a = 1.0;//diffuse_term.a;
// This shouldn't be necessary, but our lighting becomes very
diff --git a/Compositor/Shaders/ALS/airfield.frag b/Compositor/Shaders/ALS/airfield.frag
index 12bdd2e23..753ed0555 100644
--- a/Compositor/Shaders/ALS/airfield.frag
+++ b/Compositor/Shaders/ALS/airfield.frag
@@ -78,6 +78,8 @@ vec3 searchlight();
vec3 landing_light(in float offset, in float offsetv);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
+
float detail_fade (in float scale, in float angle, in float dist)
{
@@ -282,9 +284,10 @@ if (quality_level > 3)
}
if (NdotL > 0.0) {
+ float shadowmap = getShadowing();
if (cloud_shadow_flag == 1)
{NdotL = NdotL * shadow_func(relPos.x, relPos.y, noise_1500m, dist);}
- color += diffuse_term * NdotL;
+ color += diffuse_term * NdotL * shadowmap;
@@ -294,7 +297,8 @@ if (quality_level > 3)
if (gl_FrontMaterial.shininess > 0.0)
specular.rgb = ((gl_FrontMaterial.specular.rgb + (water_factor * vec3 (1.0, 1.0, 1.0)))
* light_specular.rgb
- * pow(NdotHV, (gl_FrontMaterial.shininess + 20.0 * water_factor)));
+ * pow(NdotHV, (gl_FrontMaterial.shininess + 20.0 * water_factor))
+ * shadowmap);
}
color.a = 1.0;
// This shouldn't be necessary, but our lighting becomes very
diff --git a/Compositor/Shaders/ALS/generic-base.vert b/Compositor/Shaders/ALS/generic-base.vert
index ecabf9e44..cd1150e29 100644
--- a/Compositor/Shaders/ALS/generic-base.vert
+++ b/Compositor/Shaders/ALS/generic-base.vert
@@ -37,6 +37,8 @@ uniform float ground_scattering;
uniform float moonlight;
+void setupShadows(vec4 eyeSpacePos);
+
// This is the value used in the skydome scattering shader - use the same here for consistency?
const float EarthRadius = 5800000.0;
const float terminator_width = 200000.0;
@@ -239,6 +241,7 @@ else // the faster, full-day version without lightfields
gl_FrontColor.rgb = constant_term.rgb; gl_FrontColor.a = 1.0;
gl_BackColor.rgb = constant_term.rgb; gl_BackColor.a = 0.0;
+ setupShadows(gl_ModelViewMatrix * gl_Vertex);
}
diff --git a/Compositor/Shaders/ALS/grass.frag b/Compositor/Shaders/ALS/grass.frag
index 34238f2b9..ad22c1116 100755
--- a/Compositor/Shaders/ALS/grass.frag
+++ b/Compositor/Shaders/ALS/grass.frag
@@ -37,6 +37,8 @@ float rand2D(in vec2 co);
float Noise2D(in vec2 co, in float wavelength);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
+
float map(float s, float a1, float a2, float b1, float b2)
{
@@ -153,7 +155,7 @@ void main()
texel.r = min(1.0, (1.0 + 2.5 * 0.1 * season) * texel.r);
texel.g = texel.g;
texel.b = max(0.0, (1.0 - 4.0 * 0.1 * season) * texel.b);
- float intensity = length(texel.rgb) * (1.0 - 0.5 * smoothstep(1.1,2.0,season));
+ float intensity = length(texel.rgb) * (1.0 - 0.5 * smoothstep(1.1,2.0,season)) * mix(0.3, 1.0, getShadowing());
texel.rgb = intensity * normalize(mix(texel.rgb, vec3(0.23,0.17,0.08), smoothstep(1.1,2.0, season)));
float base_alpha = clamp(0.4 * max_height/0.3, 0.4, 1.0);
diff --git a/Compositor/Shaders/ALS/grass.geom b/Compositor/Shaders/ALS/grass.geom
index f53049850..ba5f7531f 100755
--- a/Compositor/Shaders/ALS/grass.geom
+++ b/Compositor/Shaders/ALS/grass.geom
@@ -15,6 +15,18 @@ varying out float g_distance_to_eye;
varying out float g_layer;
+uniform mat4 fg_LightMatrix_csm0;
+uniform mat4 fg_LightMatrix_csm1;
+uniform mat4 fg_LightMatrix_csm2;
+uniform mat4 fg_LightMatrix_csm3;
+varying out vec4 lightSpacePos[4];
+void setupShadows(vec4 eyeSpacePos)
+{
+ lightSpacePos[0] = fg_LightMatrix_csm0 * eyeSpacePos;
+ lightSpacePos[1] = fg_LightMatrix_csm1 * eyeSpacePos;
+ lightSpacePos[2] = fg_LightMatrix_csm2 * eyeSpacePos;
+ lightSpacePos[3] = fg_LightMatrix_csm3 * eyeSpacePos;
+}
float min3(in float a, in float b, in float c)
{
@@ -45,6 +57,8 @@ void main()
g_distance_to_eye = distances[i];
g_layer = currDeltaLayer;
+ setupShadows(gl_ModelViewMatrix * pos);
+
gl_Position = gl_ModelViewProjectionMatrix * pos;
gl_TexCoord[0] = gl_TexCoordIn[i][0];
EmitVertex();
diff --git a/Compositor/Shaders/ALS/model-base.frag b/Compositor/Shaders/ALS/model-base.frag
index 833bf3349..ecd756ff1 100644
--- a/Compositor/Shaders/ALS/model-base.frag
+++ b/Compositor/Shaders/ALS/model-base.frag
@@ -56,6 +56,8 @@ vec3 searchlight();
vec3 landing_light(in float offset, in float offsetv);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
+
float luminance(vec3 color)
{
return dot(vec3(0.212671, 0.715160, 0.072169), color);
@@ -107,12 +109,14 @@ void main()
NdotL = dot(n, lightDir);
if (NdotL > 0.0) {
- color += diffuse_term * NdotL;
+ float shadowmap = getShadowing();
+ color += diffuse_term * NdotL * shadowmap;
NdotHV = max(dot(n, halfVector), 0.0);
if (gl_FrontMaterial.shininess > 0.0)
specular.rgb = (gl_FrontMaterial.specular.rgb
* light_specular.rgb
- * pow(NdotHV, gl_FrontMaterial.shininess));
+ * pow(NdotHV, gl_FrontMaterial.shininess)
+ * shadowmap);
}
color.a = diffuse_term.a;
// This shouldn't be necessary, but our lighting becomes very
diff --git a/Compositor/Shaders/ALS/model-ultra.frag b/Compositor/Shaders/ALS/model-ultra.frag
index 0c61f7392..c60154d52 100644
--- a/Compositor/Shaders/ALS/model-ultra.frag
+++ b/Compositor/Shaders/ALS/model-ultra.frag
@@ -119,6 +119,8 @@ vec3 filter_combined (in vec3 color) ;
vec3 moonlight_perception (in vec3 light) ;
vec3 addLights(in vec3 color1, in vec3 color2);
+float getShadowing();
+
float light_func (in float x, in float a, in float b, in float c, in float d, in float e)
{
@@ -340,6 +342,8 @@ void main (void)
{pf1 = pow(nDotHV1, 0.5*gl_FrontMaterial.shininess);}
+ float shadowmap = getShadowing();
+ light_diffuse *= shadowmap;
if (cloud_shadow_flag == 1)
{
@@ -387,6 +391,7 @@ void main (void)
Specular+= gl_FrontMaterial.specular * pow(max(0.0,-dot(N,normalize(vertVec))),gl_FrontMaterial.shininess) * vec4(secondary_light,1.0);
Specular *= refl_d;
+ Specular *= shadowmap;
vec4 color = gl_Color + Diffuse * gl_FrontMaterial.diffuse;
color = clamp( color, 0.0, 1.0 );
diff --git a/Compositor/Shaders/ALS/model-ultra.vert b/Compositor/Shaders/ALS/model-ultra.vert
index c60ba8da4..844aadf99 100644
--- a/Compositor/Shaders/ALS/model-ultra.vert
+++ b/Compositor/Shaders/ALS/model-ultra.vert
@@ -28,6 +28,8 @@ uniform int shader_qual;
// void fog_Func(int type);
////////////////////////////
+void setupShadows(vec4 eyeSpacePos);
+
void rotationMatrixPR(in float sinRx, in float cosRx, in float sinRy, in float cosRy, out mat4 rotmat)
{
rotmat = mat4( cosRy , sinRx * sinRy , cosRx * sinRy, 0.0,
@@ -112,4 +114,6 @@ void main(void)
gl_Position = ftransform();
gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
+
+ setupShadows(ecPosition);
}
diff --git a/Compositor/Shaders/ALS/runway.frag b/Compositor/Shaders/ALS/runway.frag
index 4fb90f0ff..06e600676 100644
--- a/Compositor/Shaders/ALS/runway.frag
+++ b/Compositor/Shaders/ALS/runway.frag
@@ -73,6 +73,8 @@ vec3 rayleigh_out_shift(in vec3 color, in float outscatter);
vec3 get_hazeColor(in float light_arg);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
+
void main()
{
@@ -286,14 +288,16 @@ if ((dist < 5000.0)&& (quality_level > 3) && (wetness>0.0))
}
if (NdotL > 0.0)
{
+ float shadowmap = getShadowing();
if (cloud_shadow_flag == 1)
{NdotL = NdotL * shadow_func(relPos.x, relPos.y, 1.0, dist);}
- color += diffuse_term * NdotL;
+ color += diffuse_term * NdotL * shadowmap;
NdotHV = max(dot(n, halfVector), 0.0);
fresnel = 1.0 + 5.0 * (1.0-smoothstep(0.0,0.2, dot(E,n)));
specular.rgb = ((vec3 (0.2,0.2,0.2) * fresnel + (water_factor * vec3 (1.0, 1.0, 1.0)))
* light_specular.rgb
- * pow(NdotHV, max(4.0, (20.0 * water_factor))));
+ * pow(NdotHV, max(4.0, (20.0 * water_factor)))
+ * shadowmap);
}
// raindrops
diff --git a/Compositor/Shaders/ALS/shadows-include.frag b/Compositor/Shaders/ALS/shadows-include.frag
new file mode 100644
index 000000000..8361c6f61
--- /dev/null
+++ b/Compositor/Shaders/ALS/shadows-include.frag
@@ -0,0 +1,120 @@
+#version 120
+
+uniform sampler2DShadow shadow_tex;
+
+uniform bool shadows_enabled;
+uniform int sun_atlas_size;
+
+varying vec4 lightSpacePos[4];
+
+const float depth_bias = 0.0005;
+
+// Ideally these should be passed as an uniform, but we don't support uniform
+// arrays yet
+const vec2 uv_shifts[4] = vec2[4](
+ vec2(0.0, 0.0), vec2(0.5, 0.0),
+ vec2(0.0, 0.5), vec2(0.5, 0.5));
+const vec2 uv_factor = vec2(0.5, 0.5);
+
+
+float checkWithinBounds(vec2 coords, vec2 bottomLeft, vec2 topRight)
+{
+ vec2 r = step(bottomLeft, coords) - step(topRight, coords);
+ return r.x * r.y;
+}
+
+float sampleOffset(vec4 pos, vec2 offset, vec2 invTexelSize)
+{
+ return shadow2DProj(
+ shadow_tex, vec4(
+ pos.xy + offset * invTexelSize * pos.w,
+ pos.z - depth_bias,
+ pos.w)).r;
+}
+
+// OptimizedPCF from https://github.com/TheRealMJP/Shadows
+// Original by Ignacio CastaƱo for The Witness
+// Released under The MIT License
+float sampleOptimizedPCF(vec4 pos)
+{
+ vec2 invTexelSize = vec2(1.0 / float(sun_atlas_size));
+
+ vec2 uv = pos.xy * sun_atlas_size;
+ vec2 base_uv = floor(uv + 0.5);
+ float s = (uv.x + 0.5 - base_uv.x);
+ float t = (uv.y + 0.5 - base_uv.y);
+ base_uv -= vec2(0.5);
+ base_uv *= invTexelSize;
+ pos.xy = base_uv.xy;
+
+ float sum = 0.0;
+
+ float uw0 = (4.0 - 3.0 * s);
+ float uw1 = 7.0;
+ float uw2 = (1.0 + 3.0 * s);
+
+ float u0 = (3.0 - 2.0 * s) / uw0 - 2.0;
+ float u1 = (3.0 + s) / uw1;
+ float u2 = s / uw2 + 2.0;
+
+ float vw0 = (4.0 - 3.0 * t);
+ float vw1 = 7.0;
+ float vw2 = (1.0 + 3.0 * t);
+
+ float v0 = (3.0 - 2.0 * t) / vw0 - 2.0;
+ float v1 = (3.0 + t) / vw1;
+ float v2 = t / vw2 + 2.0;
+
+ sum += uw0 * vw0 * sampleOffset(pos, vec2(u0, v0), invTexelSize);
+ sum += uw1 * vw0 * sampleOffset(pos, vec2(u1, v0), invTexelSize);
+ sum += uw2 * vw0 * sampleOffset(pos, vec2(u2, v0), invTexelSize);
+
+ sum += uw0 * vw1 * sampleOffset(pos, vec2(u0, v1), invTexelSize);
+ sum += uw1 * vw1 * sampleOffset(pos, vec2(u1, v1), invTexelSize);
+ sum += uw2 * vw1 * sampleOffset(pos, vec2(u2, v1), invTexelSize);
+
+ sum += uw0 * vw2 * sampleOffset(pos, vec2(u0, v2), invTexelSize);
+ sum += uw1 * vw2 * sampleOffset(pos, vec2(u1, v2), invTexelSize);
+ sum += uw2 * vw2 * sampleOffset(pos, vec2(u2, v2), invTexelSize);
+
+ return sum / 144.0;
+}
+
+float sampleShadowMap(int n)
+{
+ float s = 1.0;
+ if (n < 4) {
+ vec4 pos = lightSpacePos[n];
+ pos.xy *= uv_factor;
+ pos.xy += uv_shifts[n];
+ s = sampleOptimizedPCF(pos);
+ }
+ return s;
+}
+
+// Get a value between 0.0 and 1.0 where 0.0 means shadowed and 1.0 means lit
+float getShadowing()
+{
+ if (!shadows_enabled)
+ return 1.0;
+
+ const float band_size = 0.2;
+ const vec2 bandBottomLeft = vec2(band_size);
+ const vec2 bandTopRight = vec2(1.0 - band_size);
+
+ for (int i = 0; i < 4; ++i) {
+ if (checkWithinBounds(lightSpacePos[i].xy, vec2(0.0), vec2(1.0)) > 0.0 &&
+ (lightSpacePos[i].z / lightSpacePos[i].w) <= 1.0) {
+ if (checkWithinBounds(lightSpacePos[i].xy, bandBottomLeft, bandTopRight) < 1.0) {
+ vec2 s =
+ smoothstep(vec2(0.0), bandBottomLeft, lightSpacePos[i].xy) -
+ smoothstep(bandTopRight, vec2(1.0), lightSpacePos[i].xy);
+ float blend = 1.0 - s.x * s.y;
+ return mix(sampleShadowMap(i), sampleShadowMap(i+1), blend);
+ }
+ return sampleShadowMap(i);
+ }
+ }
+
+ return 1.0;
+}
diff --git a/Compositor/Shaders/ALS/shadows-include.vert b/Compositor/Shaders/ALS/shadows-include.vert
new file mode 100644
index 000000000..4e80c8c68
--- /dev/null
+++ b/Compositor/Shaders/ALS/shadows-include.vert
@@ -0,0 +1,38 @@
+#version 120
+
+uniform mat4 fg_LightMatrix_csm0;
+uniform mat4 fg_LightMatrix_csm1;
+uniform mat4 fg_LightMatrix_csm2;
+uniform mat4 fg_LightMatrix_csm3;
+
+varying vec4 lightSpacePos[4];
+
+
+void setupShadows(vec4 eyeSpacePos)
+{
+ float normalOffset = 0.005;
+
+ float costheta = clamp(dot(gl_Normal, gl_LightSource[0].position.xyz), 0.0, 1.0);
+ float slopeScale = 1.0 - costheta;
+ normalOffset *= slopeScale;
+
+ vec4 offsetPos = gl_ModelViewMatrix *
+ (gl_Vertex + vec4(gl_Normal, 0.0) * normalOffset);
+
+ vec4 offsets[4];
+ offsets[0] = fg_LightMatrix_csm0 * offsetPos;
+ offsets[1] = fg_LightMatrix_csm1 * offsetPos;
+ offsets[2] = fg_LightMatrix_csm2 * offsetPos;
+ offsets[3] = fg_LightMatrix_csm3 * offsetPos;
+
+ lightSpacePos[0] = fg_LightMatrix_csm0 * eyeSpacePos;
+ lightSpacePos[1] = fg_LightMatrix_csm1 * eyeSpacePos;
+ lightSpacePos[2] = fg_LightMatrix_csm2 * eyeSpacePos;
+ lightSpacePos[3] = fg_LightMatrix_csm3 * eyeSpacePos;
+
+ // Offset only in UV space
+ lightSpacePos[0].xy = offsets[0].xy;
+ lightSpacePos[1].xy = offsets[1].xy;
+ lightSpacePos[2].xy = offsets[2].xy;
+ lightSpacePos[3].xy = offsets[3].xy;
+}
diff --git a/Compositor/Shaders/ALS/terrain-base.frag b/Compositor/Shaders/ALS/terrain-base.frag
index 04eb1e660..d50d4126e 100644
--- a/Compositor/Shaders/ALS/terrain-base.frag
+++ b/Compositor/Shaders/ALS/terrain-base.frag
@@ -35,6 +35,8 @@ float fog_func (in float targ, in float alt);
vec3 get_hazeColor(in float light_arg);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
+
float luminance(vec3 color)
{
return dot(vec3(0.212671, 0.715160, 0.072169), color);
@@ -69,12 +71,14 @@ void main()
NdotL = dot(n, lightDir);
if (NdotL > 0.0) {
- color += diffuse_term * NdotL;
+ float shadowmap = getShadowing();
+ color += diffuse_term * NdotL * shadowmap;
NdotHV = max(dot(n, halfVector), 0.0);
if (gl_FrontMaterial.shininess > 0.0)
specular.rgb = (gl_FrontMaterial.specular.rgb
* light_specular.rgb
- * pow(NdotHV, gl_FrontMaterial.shininess));
+ * pow(NdotHV, gl_FrontMaterial.shininess)
+ * shadowmap);
}
color.a = diffuse_term.a;
// This shouldn't be necessary, but our lighting becomes very
diff --git a/Compositor/Shaders/ALS/terrain-detailed.frag b/Compositor/Shaders/ALS/terrain-detailed.frag
index e79306ad0..82368bef4 100644
--- a/Compositor/Shaders/ALS/terrain-detailed.frag
+++ b/Compositor/Shaders/ALS/terrain-detailed.frag
@@ -56,6 +56,7 @@ float fog_func (in float targ, in float alt);
vec3 get_hazeColor(in float light_arg);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
@@ -305,12 +306,14 @@ if ((dist < 5000.0)&& (quality_level > 3) && (wetness>0.0))
NdotL = NdotL + 1.0 * (noisegrad_10m + 0.5* noisegrad_5m) * mix_factor/0.8 * (1.0 - smoothstep(1000.0, 2000.0, dist));
}
if (NdotL > 0.0) {
- color += diffuse_term * NdotL;
+ float shadowmap = getShadowing();
+ color += diffuse_term * NdotL * shadowmap;
NdotHV = max(dot(n, halfVector), 0.0);
if (gl_FrontMaterial.shininess > 0.0)
specular.rgb = ((gl_FrontMaterial.specular.rgb * 0.1 + (water_factor * vec3 (1.0, 1.0, 1.0)))
* light_specular.rgb
- * pow(NdotHV, gl_FrontMaterial.shininess + (20.0 * water_factor)));
+ * pow(NdotHV, gl_FrontMaterial.shininess + (20.0 * water_factor))
+ * shadowmap);
}
color.a = 1.0;//diffuse_term.a;
// This shouldn't be necessary, but our lighting becomes very
diff --git a/Compositor/Shaders/ALS/terrain-detailed.vert b/Compositor/Shaders/ALS/terrain-detailed.vert
index 660919b35..5bdaa4470 100644
--- a/Compositor/Shaders/ALS/terrain-detailed.vert
+++ b/Compositor/Shaders/ALS/terrain-detailed.vert
@@ -55,6 +55,7 @@ const float EarthRadius = 5800000.0;
const float terminator_width = 200000.0;
vec3 moonlight_perception (in vec3 light);
+void setupShadows(vec4 eyeSpacePos);
float light_func (in float x, in float a, in float b, in float c, in float d, in float e)
{
@@ -84,7 +85,8 @@ void main()
float scattering;
rawPos = gl_Vertex.xy;
- worldPos = (osg_ViewMatrixInverse *gl_ModelViewMatrix * gl_Vertex).xyz;
+ vec4 eyePos = gl_ModelViewMatrix * gl_Vertex;
+ worldPos = (osg_ViewMatrixInverse * eyePos).xyz;
steepness = dot(normalize(gl_Normal), vec3 (0.0, 0.0, 1.0));
@@ -298,7 +300,8 @@ if (use_IR_vision)
gl_FrontColor.a = mie_angle;
gl_BackColor.a = mie_angle;
}
-
+
+setupShadows(eyePos);
}
diff --git a/Compositor/Shaders/ALS/terrain-ultra.frag b/Compositor/Shaders/ALS/terrain-ultra.frag
index 65a52e2bc..a72393771 100644
--- a/Compositor/Shaders/ALS/terrain-ultra.frag
+++ b/Compositor/Shaders/ALS/terrain-ultra.frag
@@ -88,6 +88,7 @@ vec3 searchlight();
vec3 landing_light(in float offset, in float offsetv);
vec3 filter_combined (in vec3 color) ;
+float getShadowing();
// a fade function for procedural scales which are smaller than a pixel
@@ -442,13 +443,15 @@ if ((dist < 5000.0) && (combined_wetness>0.0))
NdotL = NdotL + (1.0-snow_mix_factor) * 0.3* dot_texel.a * (0.5* dotnoisegrad_10m * detail_fade(1.0 * dot_size, view_angle, dist) +0.5 * dotnoisegrad_10m * noise_01m * detail_fade(0.1, view_angle, dist)) ;
if (NdotL > 0.0) {
+ float shadowmap = getShadowing();
if (cloud_shadow_flag == 1) {NdotL = NdotL * shadow_func(relPos.x, relPos.y, 0.3 * noise_250m + 0.5 * noise_500m+0.2 * noise_1500m, dist);}
- color += diffuse_term * NdotL;
+ color += diffuse_term * NdotL * shadowmap;
NdotHV = max(dot(n, halfVector), 0.0);
if (gl_FrontMaterial.shininess > 0.0)
specular.rgb = ((gl_FrontMaterial.specular.rgb * 0.1 + (water_factor * vec3 (1.0, 1.0, 1.0)))
* light_specular.rgb
- * pow(NdotHV, gl_FrontMaterial.shininess + (20.0 * water_factor)));
+ * pow(NdotHV, gl_FrontMaterial.shininess + (20.0 * water_factor))
+ * shadowmap);
}
color.a = 1.0;//diffuse_term.a;
// This shouldn't be necessary, but our lighting becomes very
diff --git a/Compositor/Shaders/ALS/terrain-ultra.vert b/Compositor/Shaders/ALS/terrain-ultra.vert
index c3dcf9f28..2d5ef969c 100644
--- a/Compositor/Shaders/ALS/terrain-ultra.vert
+++ b/Compositor/Shaders/ALS/terrain-ultra.vert
@@ -51,6 +51,8 @@ uniform mat4 osg_ViewMatrixInverse;
float earthShade;
float yprime_alt;
+void setupShadows(vec4 eyeSpacePos);
+
vec3 moonlight_perception (in vec3 light);
// This is the value used in the skydome scattering shader - use the same here for consistency?
@@ -88,7 +90,8 @@ void main()
float scattering;
rawPos = gl_Vertex.xy;
- worldPos = (osg_ViewMatrixInverse *gl_ModelViewMatrix * gl_Vertex).xyz;
+ vec4 eyePos = gl_ModelViewMatrix * gl_Vertex;
+ worldPos = (osg_ViewMatrixInverse * eyePos).xyz;
steepness = dot(normalize(gl_Normal), vec3 (0.0, 0.0, 1.0));
@@ -290,7 +293,7 @@ if (use_IR_vision)
gl_FrontColor.a = mie_angle;
gl_BackColor.a = mie_angle;
-
+ setupShadows(eyePos);
}
diff --git a/Models/Weather/altocumulus_layer1.xml b/Models/Weather/altocumulus_layer1.xml
index a2f1a5d10..458800d20 100644
--- a/Models/Weather/altocumulus_layer1.xml
+++ b/Models/Weather/altocumulus_layer1.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer10.xml b/Models/Weather/altocumulus_layer10.xml
index aec891d78..bfd0e1e1e 100644
--- a/Models/Weather/altocumulus_layer10.xml
+++ b/Models/Weather/altocumulus_layer10.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer2.xml b/Models/Weather/altocumulus_layer2.xml
index 0e9de3c8e..b017e9215 100644
--- a/Models/Weather/altocumulus_layer2.xml
+++ b/Models/Weather/altocumulus_layer2.xml
@@ -15,4 +15,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer3.xml b/Models/Weather/altocumulus_layer3.xml
index 8f8851966..68a4d8206 100644
--- a/Models/Weather/altocumulus_layer3.xml
+++ b/Models/Weather/altocumulus_layer3.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer4.xml b/Models/Weather/altocumulus_layer4.xml
index 7899a15ec..7804c25c6 100644
--- a/Models/Weather/altocumulus_layer4.xml
+++ b/Models/Weather/altocumulus_layer4.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer5.xml b/Models/Weather/altocumulus_layer5.xml
index 6d260edd1..251b351f3 100644
--- a/Models/Weather/altocumulus_layer5.xml
+++ b/Models/Weather/altocumulus_layer5.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer6.xml b/Models/Weather/altocumulus_layer6.xml
index 60c36563e..e89161218 100644
--- a/Models/Weather/altocumulus_layer6.xml
+++ b/Models/Weather/altocumulus_layer6.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer7.xml b/Models/Weather/altocumulus_layer7.xml
index af059ca48..c9accfb34 100644
--- a/Models/Weather/altocumulus_layer7.xml
+++ b/Models/Weather/altocumulus_layer7.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer8.xml b/Models/Weather/altocumulus_layer8.xml
index dfd137b28..e6289f336 100644
--- a/Models/Weather/altocumulus_layer8.xml
+++ b/Models/Weather/altocumulus_layer8.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_layer9.xml b/Models/Weather/altocumulus_layer9.xml
index 2bee6506f..02f0d4669 100644
--- a/Models/Weather/altocumulus_layer9.xml
+++ b/Models/Weather/altocumulus_layer9.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader1.xml b/Models/Weather/altocumulus_shader1.xml
index 6da3053cb..5a614baea 100644
--- a/Models/Weather/altocumulus_shader1.xml
+++ b/Models/Weather/altocumulus_shader1.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader10.xml b/Models/Weather/altocumulus_shader10.xml
index c35115d19..e108e7516 100644
--- a/Models/Weather/altocumulus_shader10.xml
+++ b/Models/Weather/altocumulus_shader10.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader2.xml b/Models/Weather/altocumulus_shader2.xml
index 039ffb56d..eff5f95ea 100644
--- a/Models/Weather/altocumulus_shader2.xml
+++ b/Models/Weather/altocumulus_shader2.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader3.xml b/Models/Weather/altocumulus_shader3.xml
index 1fc4631d5..24c056a64 100644
--- a/Models/Weather/altocumulus_shader3.xml
+++ b/Models/Weather/altocumulus_shader3.xml
@@ -17,4 +17,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader4.xml b/Models/Weather/altocumulus_shader4.xml
index ca8372e8d..055f9bc25 100644
--- a/Models/Weather/altocumulus_shader4.xml
+++ b/Models/Weather/altocumulus_shader4.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader5.xml b/Models/Weather/altocumulus_shader5.xml
index ec8025681..30e34d587 100644
--- a/Models/Weather/altocumulus_shader5.xml
+++ b/Models/Weather/altocumulus_shader5.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader6.xml b/Models/Weather/altocumulus_shader6.xml
index cb9884292..84b87a323 100644
--- a/Models/Weather/altocumulus_shader6.xml
+++ b/Models/Weather/altocumulus_shader6.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader7.xml b/Models/Weather/altocumulus_shader7.xml
index 0f71b9459..ce916744d 100644
--- a/Models/Weather/altocumulus_shader7.xml
+++ b/Models/Weather/altocumulus_shader7.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader8.xml b/Models/Weather/altocumulus_shader8.xml
index 5e01d71f0..f202c53e2 100644
--- a/Models/Weather/altocumulus_shader8.xml
+++ b/Models/Weather/altocumulus_shader8.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_shader9.xml b/Models/Weather/altocumulus_shader9.xml
index 8d3ade43e..287099632 100644
--- a/Models/Weather/altocumulus_shader9.xml
+++ b/Models/Weather/altocumulus_shader9.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer1.xml b/Models/Weather/altocumulus_thinlayer1.xml
index 73164edbd..08ec21341 100644
--- a/Models/Weather/altocumulus_thinlayer1.xml
+++ b/Models/Weather/altocumulus_thinlayer1.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer10.xml b/Models/Weather/altocumulus_thinlayer10.xml
index 20e2c548d..787193e74 100644
--- a/Models/Weather/altocumulus_thinlayer10.xml
+++ b/Models/Weather/altocumulus_thinlayer10.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer2.xml b/Models/Weather/altocumulus_thinlayer2.xml
index 00ec20444..4d4626a0b 100644
--- a/Models/Weather/altocumulus_thinlayer2.xml
+++ b/Models/Weather/altocumulus_thinlayer2.xml
@@ -15,4 +15,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer3.xml b/Models/Weather/altocumulus_thinlayer3.xml
index e8ccfab02..3970af692 100644
--- a/Models/Weather/altocumulus_thinlayer3.xml
+++ b/Models/Weather/altocumulus_thinlayer3.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer4.xml b/Models/Weather/altocumulus_thinlayer4.xml
index 6c9f06266..cf7a79428 100644
--- a/Models/Weather/altocumulus_thinlayer4.xml
+++ b/Models/Weather/altocumulus_thinlayer4.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer5.xml b/Models/Weather/altocumulus_thinlayer5.xml
index 0586fadee..3958fd8e2 100644
--- a/Models/Weather/altocumulus_thinlayer5.xml
+++ b/Models/Weather/altocumulus_thinlayer5.xml
@@ -15,4 +15,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer6.xml b/Models/Weather/altocumulus_thinlayer6.xml
index 5d02c5fbc..4c2b26a58 100644
--- a/Models/Weather/altocumulus_thinlayer6.xml
+++ b/Models/Weather/altocumulus_thinlayer6.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer7.xml b/Models/Weather/altocumulus_thinlayer7.xml
index c205e826d..45cb0aa5e 100644
--- a/Models/Weather/altocumulus_thinlayer7.xml
+++ b/Models/Weather/altocumulus_thinlayer7.xml
@@ -15,4 +15,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer8.xml b/Models/Weather/altocumulus_thinlayer8.xml
index e2152e0fc..874c5ee1e 100644
--- a/Models/Weather/altocumulus_thinlayer8.xml
+++ b/Models/Weather/altocumulus_thinlayer8.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/altocumulus_thinlayer9.xml b/Models/Weather/altocumulus_thinlayer9.xml
index 2fbc1767f..a439993ed 100644
--- a/Models/Weather/altocumulus_thinlayer9.xml
+++ b/Models/Weather/altocumulus_thinlayer9.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/big_thunderstorm.xml b/Models/Weather/big_thunderstorm.xml
index bc973210e..3f8b8833f 100644
--- a/Models/Weather/big_thunderstorm.xml
+++ b/Models/Weather/big_thunderstorm.xml
@@ -383,4 +383,7 @@ print("Done.");
-->
+
+ noshadow
+
diff --git a/Models/Weather/bigstorm.xml b/Models/Weather/bigstorm.xml
index 495344996..8c41dfff0 100644
--- a/Models/Weather/bigstorm.xml
+++ b/Models/Weather/bigstorm.xml
@@ -30,4 +30,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus1.xml b/Models/Weather/cirrocumulus1.xml
index 397566a54..b4c02c15c 100644
--- a/Models/Weather/cirrocumulus1.xml
+++ b/Models/Weather/cirrocumulus1.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus10.xml b/Models/Weather/cirrocumulus10.xml
index 721f36b7b..a823b5fbb 100644
--- a/Models/Weather/cirrocumulus10.xml
+++ b/Models/Weather/cirrocumulus10.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus2.xml b/Models/Weather/cirrocumulus2.xml
index 6870c2d5e..14e406238 100644
--- a/Models/Weather/cirrocumulus2.xml
+++ b/Models/Weather/cirrocumulus2.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus3.xml b/Models/Weather/cirrocumulus3.xml
index 9d3fe75cc..d2f4d5858 100644
--- a/Models/Weather/cirrocumulus3.xml
+++ b/Models/Weather/cirrocumulus3.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus4.xml b/Models/Weather/cirrocumulus4.xml
index e6def8869..a30ffd466 100644
--- a/Models/Weather/cirrocumulus4.xml
+++ b/Models/Weather/cirrocumulus4.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus5.xml b/Models/Weather/cirrocumulus5.xml
index 2ef6f6071..78a594e6e 100644
--- a/Models/Weather/cirrocumulus5.xml
+++ b/Models/Weather/cirrocumulus5.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus6.xml b/Models/Weather/cirrocumulus6.xml
index 3a70c2b28..a615b6098 100644
--- a/Models/Weather/cirrocumulus6.xml
+++ b/Models/Weather/cirrocumulus6.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus7.xml b/Models/Weather/cirrocumulus7.xml
index fe1452bf2..d6509f87e 100644
--- a/Models/Weather/cirrocumulus7.xml
+++ b/Models/Weather/cirrocumulus7.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus8.xml b/Models/Weather/cirrocumulus8.xml
index c5a44f28d..8c179c08a 100644
--- a/Models/Weather/cirrocumulus8.xml
+++ b/Models/Weather/cirrocumulus8.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus9.xml b/Models/Weather/cirrocumulus9.xml
index 7792af64a..3f2e71cc2 100644
--- a/Models/Weather/cirrocumulus9.xml
+++ b/Models/Weather/cirrocumulus9.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet1.xml b/Models/Weather/cirrocumulus_cloudlet1.xml
index 78b778946..dbc543829 100644
--- a/Models/Weather/cirrocumulus_cloudlet1.xml
+++ b/Models/Weather/cirrocumulus_cloudlet1.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet10.xml b/Models/Weather/cirrocumulus_cloudlet10.xml
index 346a0bbf3..a6569b6fd 100644
--- a/Models/Weather/cirrocumulus_cloudlet10.xml
+++ b/Models/Weather/cirrocumulus_cloudlet10.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet2.xml b/Models/Weather/cirrocumulus_cloudlet2.xml
index 8cd393609..8959f0a20 100644
--- a/Models/Weather/cirrocumulus_cloudlet2.xml
+++ b/Models/Weather/cirrocumulus_cloudlet2.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet3.xml b/Models/Weather/cirrocumulus_cloudlet3.xml
index 87f7f6b0a..062ad816b 100644
--- a/Models/Weather/cirrocumulus_cloudlet3.xml
+++ b/Models/Weather/cirrocumulus_cloudlet3.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet4.xml b/Models/Weather/cirrocumulus_cloudlet4.xml
index 1f9080304..52d4e8aba 100644
--- a/Models/Weather/cirrocumulus_cloudlet4.xml
+++ b/Models/Weather/cirrocumulus_cloudlet4.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet5.xml b/Models/Weather/cirrocumulus_cloudlet5.xml
index bf4f0481f..a836b530a 100644
--- a/Models/Weather/cirrocumulus_cloudlet5.xml
+++ b/Models/Weather/cirrocumulus_cloudlet5.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet6.xml b/Models/Weather/cirrocumulus_cloudlet6.xml
index 8d2fd5c2e..5c486c284 100644
--- a/Models/Weather/cirrocumulus_cloudlet6.xml
+++ b/Models/Weather/cirrocumulus_cloudlet6.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet7.xml b/Models/Weather/cirrocumulus_cloudlet7.xml
index 1aa8fe096..8c679a66b 100644
--- a/Models/Weather/cirrocumulus_cloudlet7.xml
+++ b/Models/Weather/cirrocumulus_cloudlet7.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet8.xml b/Models/Weather/cirrocumulus_cloudlet8.xml
index 3501000be..18bb79a39 100644
--- a/Models/Weather/cirrocumulus_cloudlet8.xml
+++ b/Models/Weather/cirrocumulus_cloudlet8.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_cloudlet9.xml b/Models/Weather/cirrocumulus_cloudlet9.xml
index 093365ccd..520be643e 100644
--- a/Models/Weather/cirrocumulus_cloudlet9.xml
+++ b/Models/Weather/cirrocumulus_cloudlet9.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_hires1.xml b/Models/Weather/cirrocumulus_hires1.xml
index 5c787da88..9297e3287 100644
--- a/Models/Weather/cirrocumulus_hires1.xml
+++ b/Models/Weather/cirrocumulus_hires1.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_hires2.xml b/Models/Weather/cirrocumulus_hires2.xml
index 0d6f4589a..6303dd5ee 100644
--- a/Models/Weather/cirrocumulus_hires2.xml
+++ b/Models/Weather/cirrocumulus_hires2.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_hires3.xml b/Models/Weather/cirrocumulus_hires3.xml
index 52768a4b8..2ed9fb64b 100644
--- a/Models/Weather/cirrocumulus_hires3.xml
+++ b/Models/Weather/cirrocumulus_hires3.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cirrocumulus_hires4.xml b/Models/Weather/cirrocumulus_hires4.xml
index 813cb320d..26d7c392f 100644
--- a/Models/Weather/cirrocumulus_hires4.xml
+++ b/Models/Weather/cirrocumulus_hires4.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cirrostratus1.xml b/Models/Weather/cirrostratus1.xml
index e9c98c764..6037317df 100644
--- a/Models/Weather/cirrostratus1.xml
+++ b/Models/Weather/cirrostratus1.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrostratus2.xml b/Models/Weather/cirrostratus2.xml
index d511c81e6..52742be90 100644
--- a/Models/Weather/cirrostratus2.xml
+++ b/Models/Weather/cirrostratus2.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrostratus3.xml b/Models/Weather/cirrostratus3.xml
index 608ca42e1..9d7b3c721 100644
--- a/Models/Weather/cirrostratus3.xml
+++ b/Models/Weather/cirrostratus3.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrostratus4.xml b/Models/Weather/cirrostratus4.xml
index 9423ee0ff..a19f3701b 100644
--- a/Models/Weather/cirrostratus4.xml
+++ b/Models/Weather/cirrostratus4.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cirrus1.xml b/Models/Weather/cirrus1.xml
index 8ebf601cc..a92e1fe5c 100644
--- a/Models/Weather/cirrus1.xml
+++ b/Models/Weather/cirrus1.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus10.xml b/Models/Weather/cirrus10.xml
index 6c3e38f58..9f6e52361 100644
--- a/Models/Weather/cirrus10.xml
+++ b/Models/Weather/cirrus10.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus11.xml b/Models/Weather/cirrus11.xml
index 584887832..d77ea6992 100644
--- a/Models/Weather/cirrus11.xml
+++ b/Models/Weather/cirrus11.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus12.xml b/Models/Weather/cirrus12.xml
index f07943d14..d72b7ae6d 100644
--- a/Models/Weather/cirrus12.xml
+++ b/Models/Weather/cirrus12.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus2.xml b/Models/Weather/cirrus2.xml
index a8a650af1..e98fd0c99 100644
--- a/Models/Weather/cirrus2.xml
+++ b/Models/Weather/cirrus2.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus3.xml b/Models/Weather/cirrus3.xml
index f7f390096..b5241cc6b 100644
--- a/Models/Weather/cirrus3.xml
+++ b/Models/Weather/cirrus3.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus4.xml b/Models/Weather/cirrus4.xml
index 8fe9e6bc3..79aa06e61 100644
--- a/Models/Weather/cirrus4.xml
+++ b/Models/Weather/cirrus4.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus5.xml b/Models/Weather/cirrus5.xml
index 972007ba5..e04cbac17 100644
--- a/Models/Weather/cirrus5.xml
+++ b/Models/Weather/cirrus5.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus6.xml b/Models/Weather/cirrus6.xml
index 0b4a4abb4..461271b16 100644
--- a/Models/Weather/cirrus6.xml
+++ b/Models/Weather/cirrus6.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus7.xml b/Models/Weather/cirrus7.xml
index a2f3bdc09..ca32faa8e 100644
--- a/Models/Weather/cirrus7.xml
+++ b/Models/Weather/cirrus7.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus8.xml b/Models/Weather/cirrus8.xml
index 5871b900d..7fa8f9fa3 100644
--- a/Models/Weather/cirrus8.xml
+++ b/Models/Weather/cirrus8.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus9.xml b/Models/Weather/cirrus9.xml
index 593344f6f..b11779ed8 100644
--- a/Models/Weather/cirrus9.xml
+++ b/Models/Weather/cirrus9.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/cirrus_amorphous1.xml b/Models/Weather/cirrus_amorphous1.xml
index 618b5aac6..636ca2fd1 100644
--- a/Models/Weather/cirrus_amorphous1.xml
+++ b/Models/Weather/cirrus_amorphous1.xml
@@ -14,4 +14,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cirrus_amorphous2.xml b/Models/Weather/cirrus_amorphous2.xml
index 59693e716..0b40e2658 100644
--- a/Models/Weather/cirrus_amorphous2.xml
+++ b/Models/Weather/cirrus_amorphous2.xml
@@ -14,4 +14,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cirrus_amorphous3.xml b/Models/Weather/cirrus_amorphous3.xml
index 9070bd6a1..427d3bed5 100644
--- a/Models/Weather/cirrus_amorphous3.xml
+++ b/Models/Weather/cirrus_amorphous3.xml
@@ -14,4 +14,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cirrus_amorphous4.xml b/Models/Weather/cirrus_amorphous4.xml
index fe90415bd..697c753c8 100644
--- a/Models/Weather/cirrus_amorphous4.xml
+++ b/Models/Weather/cirrus_amorphous4.xml
@@ -14,4 +14,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox1.xml b/Models/Weather/cloudbox1.xml
index c99e4d941..cac45f02d 100644
--- a/Models/Weather/cloudbox1.xml
+++ b/Models/Weather/cloudbox1.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox2.xml b/Models/Weather/cloudbox2.xml
index 4c9b448c0..6f1697404 100644
--- a/Models/Weather/cloudbox2.xml
+++ b/Models/Weather/cloudbox2.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox3.xml b/Models/Weather/cloudbox3.xml
index ae4239385..b279483a1 100644
--- a/Models/Weather/cloudbox3.xml
+++ b/Models/Weather/cloudbox3.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox4.xml b/Models/Weather/cloudbox4.xml
index c06d77f11..42caa28e2 100644
--- a/Models/Weather/cloudbox4.xml
+++ b/Models/Weather/cloudbox4.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox5.xml b/Models/Weather/cloudbox5.xml
index 87079f90e..9a5df95f7 100644
--- a/Models/Weather/cloudbox5.xml
+++ b/Models/Weather/cloudbox5.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_bottom1.xml b/Models/Weather/cloudbox_bottom1.xml
index b7d80c4b0..a62e3ca1f 100644
--- a/Models/Weather/cloudbox_bottom1.xml
+++ b/Models/Weather/cloudbox_bottom1.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_bottom2.xml b/Models/Weather/cloudbox_bottom2.xml
index 2fe107e8a..8e16e4e51 100644
--- a/Models/Weather/cloudbox_bottom2.xml
+++ b/Models/Weather/cloudbox_bottom2.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_bottom3.xml b/Models/Weather/cloudbox_bottom3.xml
index d9cf860b8..16fd2dc4d 100644
--- a/Models/Weather/cloudbox_bottom3.xml
+++ b/Models/Weather/cloudbox_bottom3.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_core1.xml b/Models/Weather/cloudbox_core1.xml
index 5cf38cf2c..394e26c58 100644
--- a/Models/Weather/cloudbox_core1.xml
+++ b/Models/Weather/cloudbox_core1.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_core2.xml b/Models/Weather/cloudbox_core2.xml
index 31c9d13e0..5ccb2200a 100644
--- a/Models/Weather/cloudbox_core2.xml
+++ b/Models/Weather/cloudbox_core2.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_core3.xml b/Models/Weather/cloudbox_core3.xml
index 0ed086fab..b967c9bac 100644
--- a/Models/Weather/cloudbox_core3.xml
+++ b/Models/Weather/cloudbox_core3.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_core4.xml b/Models/Weather/cloudbox_core4.xml
index c39ad9d6d..0d4320680 100644
--- a/Models/Weather/cloudbox_core4.xml
+++ b/Models/Weather/cloudbox_core4.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cloudbox_core5.xml b/Models/Weather/cloudbox_core5.xml
index 8d3f57517..5a789bc01 100644
--- a/Models/Weather/cloudbox_core5.xml
+++ b/Models/Weather/cloudbox_core5.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/congestus_bottom1.xml b/Models/Weather/congestus_bottom1.xml
index 7093cfd53..06c345ab7 100644
--- a/Models/Weather/congestus_bottom1.xml
+++ b/Models/Weather/congestus_bottom1.xml
@@ -18,4 +18,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/congestus_sl1.xml b/Models/Weather/congestus_sl1.xml
index c2a35e1f0..5d6691acf 100644
--- a/Models/Weather/congestus_sl1.xml
+++ b/Models/Weather/congestus_sl1.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/congestus_sl2.xml b/Models/Weather/congestus_sl2.xml
index 55c167928..e57331690 100644
--- a/Models/Weather/congestus_sl2.xml
+++ b/Models/Weather/congestus_sl2.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/congestus_sl3.xml b/Models/Weather/congestus_sl3.xml
index 770506b92..26de07bc5 100644
--- a/Models/Weather/congestus_sl3.xml
+++ b/Models/Weather/congestus_sl3.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/congestus_sl4.xml b/Models/Weather/congestus_sl4.xml
index af3d494b8..2e917fabc 100644
--- a/Models/Weather/congestus_sl4.xml
+++ b/Models/Weather/congestus_sl4.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/congestus_sl5.xml b/Models/Weather/congestus_sl5.xml
index eb6830b21..d06efc548 100644
--- a/Models/Weather/congestus_sl5.xml
+++ b/Models/Weather/congestus_sl5.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/contrail_shader1.xml b/Models/Weather/contrail_shader1.xml
index 6ec7807ef..66d54e555 100644
--- a/Models/Weather/contrail_shader1.xml
+++ b/Models/Weather/contrail_shader1.xml
@@ -94,4 +94,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/contrail_shader2.xml b/Models/Weather/contrail_shader2.xml
index 38311ba96..36b4f1b4b 100644
--- a/Models/Weather/contrail_shader2.xml
+++ b/Models/Weather/contrail_shader2.xml
@@ -9,4 +9,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus1.xml b/Models/Weather/cumulonimbus1.xml
index 5a6770cd0..166c76bcb 100644
--- a/Models/Weather/cumulonimbus1.xml
+++ b/Models/Weather/cumulonimbus1.xml
@@ -15,4 +15,7 @@
Effects/clouds-thick
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus2.xml b/Models/Weather/cumulonimbus2.xml
index 01f06ca72..c18824245 100644
--- a/Models/Weather/cumulonimbus2.xml
+++ b/Models/Weather/cumulonimbus2.xml
@@ -18,4 +18,7 @@
rect8
Effects/clouds-thick
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl1.xml b/Models/Weather/cumulonimbus_sl1.xml
index 7076eefd8..0639c75b0 100644
--- a/Models/Weather/cumulonimbus_sl1.xml
+++ b/Models/Weather/cumulonimbus_sl1.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl2.xml b/Models/Weather/cumulonimbus_sl2.xml
index b5dbafcbf..dd481a495 100644
--- a/Models/Weather/cumulonimbus_sl2.xml
+++ b/Models/Weather/cumulonimbus_sl2.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl3.xml b/Models/Weather/cumulonimbus_sl3.xml
index 468f429f1..40e54b2af 100644
--- a/Models/Weather/cumulonimbus_sl3.xml
+++ b/Models/Weather/cumulonimbus_sl3.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl4.xml b/Models/Weather/cumulonimbus_sl4.xml
index 2fe489657..680dace8a 100644
--- a/Models/Weather/cumulonimbus_sl4.xml
+++ b/Models/Weather/cumulonimbus_sl4.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl5.xml b/Models/Weather/cumulonimbus_sl5.xml
index c53005adc..162ddb169 100644
--- a/Models/Weather/cumulonimbus_sl5.xml
+++ b/Models/Weather/cumulonimbus_sl5.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl6.xml b/Models/Weather/cumulonimbus_sl6.xml
index 05355a7a2..0c69a9652 100644
--- a/Models/Weather/cumulonimbus_sl6.xml
+++ b/Models/Weather/cumulonimbus_sl6.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl7.xml b/Models/Weather/cumulonimbus_sl7.xml
index ff3a02f7e..1c3dd2bd2 100644
--- a/Models/Weather/cumulonimbus_sl7.xml
+++ b/Models/Weather/cumulonimbus_sl7.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_sl8.xml b/Models/Weather/cumulonimbus_sl8.xml
index fbc24da5e..d9b37e335 100644
--- a/Models/Weather/cumulonimbus_sl8.xml
+++ b/Models/Weather/cumulonimbus_sl8.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_small1.xml b/Models/Weather/cumulonimbus_small1.xml
index 1b0e887dd..5f6d43349 100644
--- a/Models/Weather/cumulonimbus_small1.xml
+++ b/Models/Weather/cumulonimbus_small1.xml
@@ -17,4 +17,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cumulonimbus_small2.xml b/Models/Weather/cumulonimbus_small2.xml
index bae2f621c..027e4f439 100644
--- a/Models/Weather/cumulonimbus_small2.xml
+++ b/Models/Weather/cumulonimbus_small2.xml
@@ -17,4 +17,7 @@
Effects/clouds-thick
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_bottom1.xml b/Models/Weather/cumulus_bottom1.xml
index 858c53386..62972b950 100644
--- a/Models/Weather/cumulus_bottom1.xml
+++ b/Models/Weather/cumulus_bottom1.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_shader1.xml b/Models/Weather/cumulus_shader1.xml
index babd1411f..f058afee7 100644
--- a/Models/Weather/cumulus_shader1.xml
+++ b/Models/Weather/cumulus_shader1.xml
@@ -17,4 +17,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_shader2.xml b/Models/Weather/cumulus_shader2.xml
index 3ebfd11dd..eb07a498a 100644
--- a/Models/Weather/cumulus_shader2.xml
+++ b/Models/Weather/cumulus_shader2.xml
@@ -15,4 +15,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_shader3.xml b/Models/Weather/cumulus_shader3.xml
index c361efadb..311205cb2 100644
--- a/Models/Weather/cumulus_shader3.xml
+++ b/Models/Weather/cumulus_shader3.xml
@@ -15,4 +15,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_shader4.xml b/Models/Weather/cumulus_shader4.xml
index 95f36e261..9ee65c505 100644
--- a/Models/Weather/cumulus_shader4.xml
+++ b/Models/Weather/cumulus_shader4.xml
@@ -15,4 +15,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_shader5.xml b/Models/Weather/cumulus_shader5.xml
index e9f262fa5..a944406f0 100644
--- a/Models/Weather/cumulus_shader5.xml
+++ b/Models/Weather/cumulus_shader5.xml
@@ -15,4 +15,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_shader6.xml b/Models/Weather/cumulus_shader6.xml
index 16df3a10c..f96f949b8 100644
--- a/Models/Weather/cumulus_shader6.xml
+++ b/Models/Weather/cumulus_shader6.xml
@@ -15,4 +15,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl1.xml b/Models/Weather/cumulus_sl1.xml
index 2b2c87c84..35fd7500a 100644
--- a/Models/Weather/cumulus_sl1.xml
+++ b/Models/Weather/cumulus_sl1.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl10.xml b/Models/Weather/cumulus_sl10.xml
index 3794eb061..f460aa388 100644
--- a/Models/Weather/cumulus_sl10.xml
+++ b/Models/Weather/cumulus_sl10.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl11.xml b/Models/Weather/cumulus_sl11.xml
index bf1174e4a..64f8e9c34 100644
--- a/Models/Weather/cumulus_sl11.xml
+++ b/Models/Weather/cumulus_sl11.xml
@@ -18,4 +18,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl2.xml b/Models/Weather/cumulus_sl2.xml
index 7007dba35..e96b6064d 100644
--- a/Models/Weather/cumulus_sl2.xml
+++ b/Models/Weather/cumulus_sl2.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl3.xml b/Models/Weather/cumulus_sl3.xml
index d9f5d0102..2a3af395e 100644
--- a/Models/Weather/cumulus_sl3.xml
+++ b/Models/Weather/cumulus_sl3.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl4.xml b/Models/Weather/cumulus_sl4.xml
index 32b227d3b..2d9dcbdba 100644
--- a/Models/Weather/cumulus_sl4.xml
+++ b/Models/Weather/cumulus_sl4.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl5.xml b/Models/Weather/cumulus_sl5.xml
index 1ddd8cafd..583e96c6c 100644
--- a/Models/Weather/cumulus_sl5.xml
+++ b/Models/Weather/cumulus_sl5.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl6.xml b/Models/Weather/cumulus_sl6.xml
index 7a74e6313..fd024cf0b 100644
--- a/Models/Weather/cumulus_sl6.xml
+++ b/Models/Weather/cumulus_sl6.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl7.xml b/Models/Weather/cumulus_sl7.xml
index 603dff747..2ff05fbcf 100644
--- a/Models/Weather/cumulus_sl7.xml
+++ b/Models/Weather/cumulus_sl7.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl8.xml b/Models/Weather/cumulus_sl8.xml
index 93a153bb4..e42aead55 100644
--- a/Models/Weather/cumulus_sl8.xml
+++ b/Models/Weather/cumulus_sl8.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_sl9.xml b/Models/Weather/cumulus_sl9.xml
index 518463f83..8b337f0c6 100644
--- a/Models/Weather/cumulus_sl9.xml
+++ b/Models/Weather/cumulus_sl9.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small1.xml b/Models/Weather/cumulus_small1.xml
index c3bc86aea..3bcfa35dd 100644
--- a/Models/Weather/cumulus_small1.xml
+++ b/Models/Weather/cumulus_small1.xml
@@ -48,4 +48,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small2.xml b/Models/Weather/cumulus_small2.xml
index 81a3619a0..9d9532a52 100644
--- a/Models/Weather/cumulus_small2.xml
+++ b/Models/Weather/cumulus_small2.xml
@@ -48,4 +48,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small3.xml b/Models/Weather/cumulus_small3.xml
index 35ecbccf5..5ee144788 100644
--- a/Models/Weather/cumulus_small3.xml
+++ b/Models/Weather/cumulus_small3.xml
@@ -48,4 +48,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small4.xml b/Models/Weather/cumulus_small4.xml
index 35ecbccf5..5ee144788 100644
--- a/Models/Weather/cumulus_small4.xml
+++ b/Models/Weather/cumulus_small4.xml
@@ -48,4 +48,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small5.xml b/Models/Weather/cumulus_small5.xml
index 155ed851c..bf841d58f 100644
--- a/Models/Weather/cumulus_small5.xml
+++ b/Models/Weather/cumulus_small5.xml
@@ -50,4 +50,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_shader1.xml b/Models/Weather/cumulus_small_shader1.xml
index 683350b12..039f6791c 100644
--- a/Models/Weather/cumulus_small_shader1.xml
+++ b/Models/Weather/cumulus_small_shader1.xml
@@ -14,4 +14,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_shader2.xml b/Models/Weather/cumulus_small_shader2.xml
index d6b878ebd..4262a3a20 100644
--- a/Models/Weather/cumulus_small_shader2.xml
+++ b/Models/Weather/cumulus_small_shader2.xml
@@ -13,4 +13,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_shader3.xml b/Models/Weather/cumulus_small_shader3.xml
index 5242cad07..9bd09db80 100644
--- a/Models/Weather/cumulus_small_shader3.xml
+++ b/Models/Weather/cumulus_small_shader3.xml
@@ -13,4 +13,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_shader4.xml b/Models/Weather/cumulus_small_shader4.xml
index 97558e36b..e1c0f6707 100644
--- a/Models/Weather/cumulus_small_shader4.xml
+++ b/Models/Weather/cumulus_small_shader4.xml
@@ -13,4 +13,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_shader5.xml b/Models/Weather/cumulus_small_shader5.xml
index 18c516e19..2021d7266 100644
--- a/Models/Weather/cumulus_small_shader5.xml
+++ b/Models/Weather/cumulus_small_shader5.xml
@@ -13,4 +13,7 @@
rect2
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl1.xml b/Models/Weather/cumulus_small_sl1.xml
index 26797d00c..ba94aafb5 100644
--- a/Models/Weather/cumulus_small_sl1.xml
+++ b/Models/Weather/cumulus_small_sl1.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl2.xml b/Models/Weather/cumulus_small_sl2.xml
index 4d4bda9bd..1813a71de 100644
--- a/Models/Weather/cumulus_small_sl2.xml
+++ b/Models/Weather/cumulus_small_sl2.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl3.xml b/Models/Weather/cumulus_small_sl3.xml
index 0b20b2f82..453c484da 100644
--- a/Models/Weather/cumulus_small_sl3.xml
+++ b/Models/Weather/cumulus_small_sl3.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl4.xml b/Models/Weather/cumulus_small_sl4.xml
index f502beb15..9110915de 100644
--- a/Models/Weather/cumulus_small_sl4.xml
+++ b/Models/Weather/cumulus_small_sl4.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl5.xml b/Models/Weather/cumulus_small_sl5.xml
index b95d3d40f..83a5278c1 100644
--- a/Models/Weather/cumulus_small_sl5.xml
+++ b/Models/Weather/cumulus_small_sl5.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl6.xml b/Models/Weather/cumulus_small_sl6.xml
index 7dd4b280c..2fc08599b 100644
--- a/Models/Weather/cumulus_small_sl6.xml
+++ b/Models/Weather/cumulus_small_sl6.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl7.xml b/Models/Weather/cumulus_small_sl7.xml
index b995f28fd..a14f140ad 100644
--- a/Models/Weather/cumulus_small_sl7.xml
+++ b/Models/Weather/cumulus_small_sl7.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_small_sl8.xml b/Models/Weather/cumulus_small_sl8.xml
index c28e83855..0f51909d3 100644
--- a/Models/Weather/cumulus_small_sl8.xml
+++ b/Models/Weather/cumulus_small_sl8.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_whisp1.xml b/Models/Weather/cumulus_whisp1.xml
index cb9884292..84b87a323 100644
--- a/Models/Weather/cumulus_whisp1.xml
+++ b/Models/Weather/cumulus_whisp1.xml
@@ -16,4 +16,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_whisp2.xml b/Models/Weather/cumulus_whisp2.xml
index 39716f248..9b9a0d783 100644
--- a/Models/Weather/cumulus_whisp2.xml
+++ b/Models/Weather/cumulus_whisp2.xml
@@ -14,4 +14,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_whisp3.xml b/Models/Weather/cumulus_whisp3.xml
index 5150bfb37..48f046045 100644
--- a/Models/Weather/cumulus_whisp3.xml
+++ b/Models/Weather/cumulus_whisp3.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_whisp4.xml b/Models/Weather/cumulus_whisp4.xml
index 8d3ade43e..287099632 100644
--- a/Models/Weather/cumulus_whisp4.xml
+++ b/Models/Weather/cumulus_whisp4.xml
@@ -15,4 +15,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/cumulus_whisp5.xml b/Models/Weather/cumulus_whisp5.xml
index 513640c68..7a03b1bed 100644
--- a/Models/Weather/cumulus_whisp5.xml
+++ b/Models/Weather/cumulus_whisp5.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/impostor_broken1.xml b/Models/Weather/impostor_broken1.xml
index 273892456..cfb251f39 100644
--- a/Models/Weather/impostor_broken1.xml
+++ b/Models/Weather/impostor_broken1.xml
@@ -14,4 +14,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/impostor_broken2.xml b/Models/Weather/impostor_broken2.xml
index 1654da462..1d9bdde7b 100644
--- a/Models/Weather/impostor_broken2.xml
+++ b/Models/Weather/impostor_broken2.xml
@@ -14,4 +14,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/impostor_few1.xml b/Models/Weather/impostor_few1.xml
index 57f2a158a..81a66922e 100644
--- a/Models/Weather/impostor_few1.xml
+++ b/Models/Weather/impostor_few1.xml
@@ -14,4 +14,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/impostor_few2.xml b/Models/Weather/impostor_few2.xml
index d87ef448b..a12d227e6 100644
--- a/Models/Weather/impostor_few2.xml
+++ b/Models/Weather/impostor_few2.xml
@@ -14,4 +14,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/impostor_nimbus.xml b/Models/Weather/impostor_nimbus.xml
index 78672d732..9f8ca25d1 100644
--- a/Models/Weather/impostor_nimbus.xml
+++ b/Models/Weather/impostor_nimbus.xml
@@ -14,4 +14,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/impostor_scattered1.xml b/Models/Weather/impostor_scattered1.xml
index d5dc16ea6..33240ee7a 100644
--- a/Models/Weather/impostor_scattered1.xml
+++ b/Models/Weather/impostor_scattered1.xml
@@ -14,4 +14,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/impostor_scattered2.xml b/Models/Weather/impostor_scattered2.xml
index 014dc4e28..bf8d67d04 100644
--- a/Models/Weather/impostor_scattered2.xml
+++ b/Models/Weather/impostor_scattered2.xml
@@ -14,4 +14,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/lightning.xml b/Models/Weather/lightning.xml
index 6c2789ba6..ed43a3c27 100644
--- a/Models/Weather/lightning.xml
+++ b/Models/Weather/lightning.xml
@@ -58,4 +58,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/lightning1.xml b/Models/Weather/lightning1.xml
index bada6bc2e..81695fedf 100644
--- a/Models/Weather/lightning1.xml
+++ b/Models/Weather/lightning1.xml
@@ -57,4 +57,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/lightning2.xml b/Models/Weather/lightning2.xml
index 02e976f2e..d499fc617 100644
--- a/Models/Weather/lightning2.xml
+++ b/Models/Weather/lightning2.xml
@@ -57,4 +57,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/lightning_combined.xml b/Models/Weather/lightning_combined.xml
index 3cacc872b..5224532be 100644
--- a/Models/Weather/lightning_combined.xml
+++ b/Models/Weather/lightning_combined.xml
@@ -14,4 +14,7 @@
lightning2.xml
+
+ noshadow
+
diff --git a/Models/Weather/nimbus1.xml b/Models/Weather/nimbus1.xml
index 8f0c15e54..b5e06f0e2 100644
--- a/Models/Weather/nimbus1.xml
+++ b/Models/Weather/nimbus1.xml
@@ -37,4 +37,7 @@
rain
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sl1.xml b/Models/Weather/nimbus_sl1.xml
index 29d3b2b86..29b56aed3 100644
--- a/Models/Weather/nimbus_sl1.xml
+++ b/Models/Weather/nimbus_sl1.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sl2.xml b/Models/Weather/nimbus_sl2.xml
index 18c5bea0c..82ed70e5b 100644
--- a/Models/Weather/nimbus_sl2.xml
+++ b/Models/Weather/nimbus_sl2.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sl3.xml b/Models/Weather/nimbus_sl3.xml
index bff6f6773..9ae3ab5d9 100644
--- a/Models/Weather/nimbus_sl3.xml
+++ b/Models/Weather/nimbus_sl3.xml
@@ -14,4 +14,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sl4.xml b/Models/Weather/nimbus_sl4.xml
index 46d14a265..693713313 100644
--- a/Models/Weather/nimbus_sl4.xml
+++ b/Models/Weather/nimbus_sl4.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sl5.xml b/Models/Weather/nimbus_sl5.xml
index 7ba723f22..4274e79fc 100644
--- a/Models/Weather/nimbus_sl5.xml
+++ b/Models/Weather/nimbus_sl5.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sl6.xml b/Models/Weather/nimbus_sl6.xml
index 5ef8a1949..1ef45a523 100644
--- a/Models/Weather/nimbus_sl6.xml
+++ b/Models/Weather/nimbus_sl6.xml
@@ -18,4 +18,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sls1.xml b/Models/Weather/nimbus_sls1.xml
index ce975538a..ba099e6bf 100644
--- a/Models/Weather/nimbus_sls1.xml
+++ b/Models/Weather/nimbus_sls1.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sls2.xml b/Models/Weather/nimbus_sls2.xml
index 1a6de60ba..4d67c995d 100644
--- a/Models/Weather/nimbus_sls2.xml
+++ b/Models/Weather/nimbus_sls2.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sls3.xml b/Models/Weather/nimbus_sls3.xml
index a6bb14b5c..c4fc01395 100644
--- a/Models/Weather/nimbus_sls3.xml
+++ b/Models/Weather/nimbus_sls3.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sls4.xml b/Models/Weather/nimbus_sls4.xml
index 57ad04fa4..5ecd30c1a 100644
--- a/Models/Weather/nimbus_sls4.xml
+++ b/Models/Weather/nimbus_sls4.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sls5.xml b/Models/Weather/nimbus_sls5.xml
index a5d4da69d..b733f76ab 100644
--- a/Models/Weather/nimbus_sls5.xml
+++ b/Models/Weather/nimbus_sls5.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/nimbus_sls6.xml b/Models/Weather/nimbus_sls6.xml
index b69b21759..ad39d738d 100644
--- a/Models/Weather/nimbus_sls6.xml
+++ b/Models/Weather/nimbus_sls6.xml
@@ -18,4 +18,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/noctilucent10.xml b/Models/Weather/noctilucent10.xml
index 1a0cf6ace..b74d2a100 100644
--- a/Models/Weather/noctilucent10.xml
+++ b/Models/Weather/noctilucent10.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/noctilucent7.xml b/Models/Weather/noctilucent7.xml
index e20e23049..8f84dc21d 100644
--- a/Models/Weather/noctilucent7.xml
+++ b/Models/Weather/noctilucent7.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/noctilucent8.xml b/Models/Weather/noctilucent8.xml
index 00a167029..f5143416e 100644
--- a/Models/Weather/noctilucent8.xml
+++ b/Models/Weather/noctilucent8.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/noctilucent9.xml b/Models/Weather/noctilucent9.xml
index 38c65793a..130676807 100644
--- a/Models/Weather/noctilucent9.xml
+++ b/Models/Weather/noctilucent9.xml
@@ -14,4 +14,7 @@
mesh
+
+ noshadow
+
diff --git a/Models/Weather/rain.xml b/Models/Weather/rain.xml
index afff3f5d4..a8c023bad 100644
--- a/Models/Weather/rain.xml
+++ b/Models/Weather/rain.xml
@@ -80,4 +80,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/rain1.xml b/Models/Weather/rain1.xml
index 081ba4a92..cf694c8a3 100644
--- a/Models/Weather/rain1.xml
+++ b/Models/Weather/rain1.xml
@@ -17,4 +17,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/rain2.xml b/Models/Weather/rain2.xml
index d065d7f15..4ff55cc41 100644
--- a/Models/Weather/rain2.xml
+++ b/Models/Weather/rain2.xml
@@ -17,4 +17,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/single_cloud.xml b/Models/Weather/single_cloud.xml
index e298c7521..0a8de0c82 100644
--- a/Models/Weather/single_cloud.xml
+++ b/Models/Weather/single_cloud.xml
@@ -15,4 +15,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_bottom1.xml b/Models/Weather/stratocumulus_bottom1.xml
index 7093cfd53..06c345ab7 100644
--- a/Models/Weather/stratocumulus_bottom1.xml
+++ b/Models/Weather/stratocumulus_bottom1.xml
@@ -18,4 +18,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_sl1.xml b/Models/Weather/stratocumulus_sl1.xml
index c2a35e1f0..5d6691acf 100644
--- a/Models/Weather/stratocumulus_sl1.xml
+++ b/Models/Weather/stratocumulus_sl1.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_sl2.xml b/Models/Weather/stratocumulus_sl2.xml
index 939c80c9e..f27bb5c60 100644
--- a/Models/Weather/stratocumulus_sl2.xml
+++ b/Models/Weather/stratocumulus_sl2.xml
@@ -16,4 +16,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_sl3.xml b/Models/Weather/stratocumulus_sl3.xml
index 770506b92..26de07bc5 100644
--- a/Models/Weather/stratocumulus_sl3.xml
+++ b/Models/Weather/stratocumulus_sl3.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_sl4.xml b/Models/Weather/stratocumulus_sl4.xml
index af3d494b8..2e917fabc 100644
--- a/Models/Weather/stratocumulus_sl4.xml
+++ b/Models/Weather/stratocumulus_sl4.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_sl5.xml b/Models/Weather/stratocumulus_sl5.xml
index eb6830b21..d06efc548 100644
--- a/Models/Weather/stratocumulus_sl5.xml
+++ b/Models/Weather/stratocumulus_sl5.xml
@@ -12,4 +12,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_small1.xml b/Models/Weather/stratocumulus_small1.xml
index 2fe796874..3b7c7d1f7 100644
--- a/Models/Weather/stratocumulus_small1.xml
+++ b/Models/Weather/stratocumulus_small1.xml
@@ -20,4 +20,7 @@
rect3
rect4
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_small2.xml b/Models/Weather/stratocumulus_small2.xml
index 3f338c57c..62d7140cf 100644
--- a/Models/Weather/stratocumulus_small2.xml
+++ b/Models/Weather/stratocumulus_small2.xml
@@ -21,4 +21,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_small3.xml b/Models/Weather/stratocumulus_small3.xml
index 44d9be3e0..566f073d0 100644
--- a/Models/Weather/stratocumulus_small3.xml
+++ b/Models/Weather/stratocumulus_small3.xml
@@ -23,4 +23,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_small4.xml b/Models/Weather/stratocumulus_small4.xml
index 01fed233f..d79ae4401 100644
--- a/Models/Weather/stratocumulus_small4.xml
+++ b/Models/Weather/stratocumulus_small4.xml
@@ -21,4 +21,7 @@
rect4
+
+ noshadow
+
diff --git a/Models/Weather/stratocumulus_small5.xml b/Models/Weather/stratocumulus_small5.xml
index 9eca063a8..0fa351c5a 100644
--- a/Models/Weather/stratocumulus_small5.xml
+++ b/Models/Weather/stratocumulus_small5.xml
@@ -23,4 +23,7 @@
+
+ noshadow
+
diff --git a/Models/Weather/stratus_layer1.xml b/Models/Weather/stratus_layer1.xml
index 153c896d4..16e61c5a8 100644
--- a/Models/Weather/stratus_layer1.xml
+++ b/Models/Weather/stratus_layer1.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_layer2.xml b/Models/Weather/stratus_layer2.xml
index f5b0ef69f..8929b000f 100644
--- a/Models/Weather/stratus_layer2.xml
+++ b/Models/Weather/stratus_layer2.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_layer3.xml b/Models/Weather/stratus_layer3.xml
index f455d72f9..7624ab990 100644
--- a/Models/Weather/stratus_layer3.xml
+++ b/Models/Weather/stratus_layer3.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_layer4.xml b/Models/Weather/stratus_layer4.xml
index e1ab8fe1d..c37484dc3 100644
--- a/Models/Weather/stratus_layer4.xml
+++ b/Models/Weather/stratus_layer4.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_layer5.xml b/Models/Weather/stratus_layer5.xml
index 3e1996cac..bce8b1d1b 100644
--- a/Models/Weather/stratus_layer5.xml
+++ b/Models/Weather/stratus_layer5.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_small_layer1.xml b/Models/Weather/stratus_small_layer1.xml
index 708a99cf8..621c5f610 100644
--- a/Models/Weather/stratus_small_layer1.xml
+++ b/Models/Weather/stratus_small_layer1.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratus_small_layer2.xml b/Models/Weather/stratus_small_layer2.xml
index ef4957673..b98e32575 100644
--- a/Models/Weather/stratus_small_layer2.xml
+++ b/Models/Weather/stratus_small_layer2.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratus_small_layer3.xml b/Models/Weather/stratus_small_layer3.xml
index e2fd565b7..a921105d5 100644
--- a/Models/Weather/stratus_small_layer3.xml
+++ b/Models/Weather/stratus_small_layer3.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratus_small_layer4.xml b/Models/Weather/stratus_small_layer4.xml
index a27fa66cf..e7a120427 100644
--- a/Models/Weather/stratus_small_layer4.xml
+++ b/Models/Weather/stratus_small_layer4.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratus_small_layer5.xml b/Models/Weather/stratus_small_layer5.xml
index 1e6872df4..c72aaca6f 100644
--- a/Models/Weather/stratus_small_layer5.xml
+++ b/Models/Weather/stratus_small_layer5.xml
@@ -13,4 +13,7 @@
rect
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thick1.xml b/Models/Weather/stratus_thick1.xml
index 311c4fbe6..8722c09f0 100644
--- a/Models/Weather/stratus_thick1.xml
+++ b/Models/Weather/stratus_thick1.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thick2.xml b/Models/Weather/stratus_thick2.xml
index 3e2a0345c..579643c75 100644
--- a/Models/Weather/stratus_thick2.xml
+++ b/Models/Weather/stratus_thick2.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thick3.xml b/Models/Weather/stratus_thick3.xml
index 71d6662d3..90825d0f8 100644
--- a/Models/Weather/stratus_thick3.xml
+++ b/Models/Weather/stratus_thick3.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thick4.xml b/Models/Weather/stratus_thick4.xml
index decec3dd4..30df17f70 100644
--- a/Models/Weather/stratus_thick4.xml
+++ b/Models/Weather/stratus_thick4.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thick5.xml b/Models/Weather/stratus_thick5.xml
index 6173594fa..34dc81307 100644
--- a/Models/Weather/stratus_thick5.xml
+++ b/Models/Weather/stratus_thick5.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thin1.xml b/Models/Weather/stratus_thin1.xml
index e508d89a3..a898444fc 100644
--- a/Models/Weather/stratus_thin1.xml
+++ b/Models/Weather/stratus_thin1.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thin2.xml b/Models/Weather/stratus_thin2.xml
index a279d1115..d97751c60 100644
--- a/Models/Weather/stratus_thin2.xml
+++ b/Models/Weather/stratus_thin2.xml
@@ -12,4 +12,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thin3.xml b/Models/Weather/stratus_thin3.xml
index 1beca1b58..1042003a5 100644
--- a/Models/Weather/stratus_thin3.xml
+++ b/Models/Weather/stratus_thin3.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thin4.xml b/Models/Weather/stratus_thin4.xml
index b69fa243d..0568f8549 100644
--- a/Models/Weather/stratus_thin4.xml
+++ b/Models/Weather/stratus_thin4.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_thin5.xml b/Models/Weather/stratus_thin5.xml
index 70d127d31..ee37bc3ae 100644
--- a/Models/Weather/stratus_thin5.xml
+++ b/Models/Weather/stratus_thin5.xml
@@ -13,4 +13,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_tlayer1.xml b/Models/Weather/stratus_tlayer1.xml
index ced237978..55055d105 100644
--- a/Models/Weather/stratus_tlayer1.xml
+++ b/Models/Weather/stratus_tlayer1.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_tlayer2.xml b/Models/Weather/stratus_tlayer2.xml
index 29200a0f5..508de0ca9 100644
--- a/Models/Weather/stratus_tlayer2.xml
+++ b/Models/Weather/stratus_tlayer2.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_tlayer3.xml b/Models/Weather/stratus_tlayer3.xml
index afb7d675e..65f842f5d 100644
--- a/Models/Weather/stratus_tlayer3.xml
+++ b/Models/Weather/stratus_tlayer3.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_tlayer4.xml b/Models/Weather/stratus_tlayer4.xml
index ef3886a0c..f465312ff 100644
--- a/Models/Weather/stratus_tlayer4.xml
+++ b/Models/Weather/stratus_tlayer4.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/stratus_tlayer5.xml b/Models/Weather/stratus_tlayer5.xml
index a3f19b632..cda00169a 100644
--- a/Models/Weather/stratus_tlayer5.xml
+++ b/Models/Weather/stratus_tlayer5.xml
@@ -14,4 +14,7 @@
false
+
+ noshadow
+
diff --git a/Models/Weather/thunderstorm.xml b/Models/Weather/thunderstorm.xml
index bdf24f2c9..0742fc919 100644
--- a/Models/Weather/thunderstorm.xml
+++ b/Models/Weather/thunderstorm.xml
@@ -29,4 +29,7 @@
50000
+
+ noshadow
+