From daeea229996337d95d84adb333aed1e3a9403749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Garc=C3=ADa=20Li=C3=B1=C3=A1n?= Date: Sun, 3 Nov 2019 20:52:22 +0100 Subject: [PATCH] Compositor: Added shadow mapping to the ALS pipeline --- Compositor/ALS/als.xml | 76 ++++------- Compositor/Effects/ALS/shadow-pass.eff | 8 +- Compositor/Effects/agriculture.eff | 23 ++++ Compositor/Effects/airfield.eff | 23 ++++ Compositor/Effects/chrome.eff | 125 +++++++++++++++++++ Compositor/Effects/grass.eff | 45 +++++++ Compositor/Effects/model-combined.eff | 23 ++++ Compositor/Effects/model-default.eff | 31 +++++ Compositor/Effects/model-transparent.eff | 77 ++++++++++++ Compositor/Effects/runway.eff | 23 ++++ Compositor/Effects/terrain-default.eff | 77 ++++++++++++ Compositor/Shaders/ALS/agriculture.frag | 8 +- Compositor/Shaders/ALS/airfield.frag | 8 +- Compositor/Shaders/ALS/generic-base.vert | 3 + Compositor/Shaders/ALS/grass.frag | 4 +- Compositor/Shaders/ALS/grass.geom | 14 +++ Compositor/Shaders/ALS/model-base.frag | 8 +- Compositor/Shaders/ALS/model-ultra.frag | 5 + Compositor/Shaders/ALS/model-ultra.vert | 4 + Compositor/Shaders/ALS/runway.frag | 8 +- Compositor/Shaders/ALS/shadows-include.frag | 120 ++++++++++++++++++ Compositor/Shaders/ALS/shadows-include.vert | 38 ++++++ Compositor/Shaders/ALS/terrain-base.frag | 8 +- Compositor/Shaders/ALS/terrain-detailed.frag | 7 +- Compositor/Shaders/ALS/terrain-detailed.vert | 7 +- Compositor/Shaders/ALS/terrain-ultra.frag | 7 +- Compositor/Shaders/ALS/terrain-ultra.vert | 7 +- Models/Weather/altocumulus_layer1.xml | 3 + Models/Weather/altocumulus_layer10.xml | 3 + Models/Weather/altocumulus_layer2.xml | 3 + Models/Weather/altocumulus_layer3.xml | 3 + Models/Weather/altocumulus_layer4.xml | 3 + Models/Weather/altocumulus_layer5.xml | 3 + Models/Weather/altocumulus_layer6.xml | 3 + Models/Weather/altocumulus_layer7.xml | 3 + Models/Weather/altocumulus_layer8.xml | 3 + Models/Weather/altocumulus_layer9.xml | 3 + Models/Weather/altocumulus_shader1.xml | 3 + Models/Weather/altocumulus_shader10.xml | 3 + Models/Weather/altocumulus_shader2.xml | 3 + Models/Weather/altocumulus_shader3.xml | 3 + Models/Weather/altocumulus_shader4.xml | 3 + Models/Weather/altocumulus_shader5.xml | 3 + Models/Weather/altocumulus_shader6.xml | 3 + Models/Weather/altocumulus_shader7.xml | 3 + Models/Weather/altocumulus_shader8.xml | 3 + Models/Weather/altocumulus_shader9.xml | 3 + Models/Weather/altocumulus_thinlayer1.xml | 3 + Models/Weather/altocumulus_thinlayer10.xml | 3 + Models/Weather/altocumulus_thinlayer2.xml | 3 + Models/Weather/altocumulus_thinlayer3.xml | 3 + Models/Weather/altocumulus_thinlayer4.xml | 3 + Models/Weather/altocumulus_thinlayer5.xml | 3 + Models/Weather/altocumulus_thinlayer6.xml | 3 + Models/Weather/altocumulus_thinlayer7.xml | 3 + Models/Weather/altocumulus_thinlayer8.xml | 3 + Models/Weather/altocumulus_thinlayer9.xml | 3 + Models/Weather/big_thunderstorm.xml | 3 + Models/Weather/bigstorm.xml | 3 + Models/Weather/cirrocumulus1.xml | 3 + Models/Weather/cirrocumulus10.xml | 3 + Models/Weather/cirrocumulus2.xml | 3 + Models/Weather/cirrocumulus3.xml | 3 + Models/Weather/cirrocumulus4.xml | 3 + Models/Weather/cirrocumulus5.xml | 3 + Models/Weather/cirrocumulus6.xml | 3 + Models/Weather/cirrocumulus7.xml | 3 + Models/Weather/cirrocumulus8.xml | 3 + Models/Weather/cirrocumulus9.xml | 3 + Models/Weather/cirrocumulus_cloudlet1.xml | 3 + Models/Weather/cirrocumulus_cloudlet10.xml | 3 + Models/Weather/cirrocumulus_cloudlet2.xml | 3 + Models/Weather/cirrocumulus_cloudlet3.xml | 3 + Models/Weather/cirrocumulus_cloudlet4.xml | 3 + Models/Weather/cirrocumulus_cloudlet5.xml | 3 + Models/Weather/cirrocumulus_cloudlet6.xml | 3 + Models/Weather/cirrocumulus_cloudlet7.xml | 3 + Models/Weather/cirrocumulus_cloudlet8.xml | 3 + Models/Weather/cirrocumulus_cloudlet9.xml | 3 + Models/Weather/cirrocumulus_hires1.xml | 3 + Models/Weather/cirrocumulus_hires2.xml | 3 + Models/Weather/cirrocumulus_hires3.xml | 3 + Models/Weather/cirrocumulus_hires4.xml | 3 + Models/Weather/cirrostratus1.xml | 3 + Models/Weather/cirrostratus2.xml | 3 + Models/Weather/cirrostratus3.xml | 3 + Models/Weather/cirrostratus4.xml | 3 + Models/Weather/cirrus1.xml | 3 + Models/Weather/cirrus10.xml | 3 + Models/Weather/cirrus11.xml | 3 + Models/Weather/cirrus12.xml | 3 + Models/Weather/cirrus2.xml | 3 + Models/Weather/cirrus3.xml | 3 + Models/Weather/cirrus4.xml | 3 + Models/Weather/cirrus5.xml | 3 + Models/Weather/cirrus6.xml | 3 + Models/Weather/cirrus7.xml | 3 + Models/Weather/cirrus8.xml | 3 + Models/Weather/cirrus9.xml | 3 + Models/Weather/cirrus_amorphous1.xml | 3 + Models/Weather/cirrus_amorphous2.xml | 3 + Models/Weather/cirrus_amorphous3.xml | 3 + Models/Weather/cirrus_amorphous4.xml | 3 + Models/Weather/cloudbox1.xml | 3 + Models/Weather/cloudbox2.xml | 3 + Models/Weather/cloudbox3.xml | 3 + Models/Weather/cloudbox4.xml | 3 + Models/Weather/cloudbox5.xml | 3 + Models/Weather/cloudbox_bottom1.xml | 3 + Models/Weather/cloudbox_bottom2.xml | 3 + Models/Weather/cloudbox_bottom3.xml | 3 + Models/Weather/cloudbox_core1.xml | 3 + Models/Weather/cloudbox_core2.xml | 3 + Models/Weather/cloudbox_core3.xml | 3 + Models/Weather/cloudbox_core4.xml | 3 + Models/Weather/cloudbox_core5.xml | 3 + Models/Weather/congestus_bottom1.xml | 3 + Models/Weather/congestus_sl1.xml | 3 + Models/Weather/congestus_sl2.xml | 3 + Models/Weather/congestus_sl3.xml | 3 + Models/Weather/congestus_sl4.xml | 3 + Models/Weather/congestus_sl5.xml | 3 + Models/Weather/contrail_shader1.xml | 3 + Models/Weather/contrail_shader2.xml | 3 + Models/Weather/cumulonimbus1.xml | 3 + Models/Weather/cumulonimbus2.xml | 3 + Models/Weather/cumulonimbus_sl1.xml | 3 + Models/Weather/cumulonimbus_sl2.xml | 3 + Models/Weather/cumulonimbus_sl3.xml | 3 + Models/Weather/cumulonimbus_sl4.xml | 3 + Models/Weather/cumulonimbus_sl5.xml | 3 + Models/Weather/cumulonimbus_sl6.xml | 3 + Models/Weather/cumulonimbus_sl7.xml | 3 + Models/Weather/cumulonimbus_sl8.xml | 3 + Models/Weather/cumulonimbus_small1.xml | 3 + Models/Weather/cumulonimbus_small2.xml | 3 + Models/Weather/cumulus_bottom1.xml | 3 + Models/Weather/cumulus_shader1.xml | 3 + Models/Weather/cumulus_shader2.xml | 3 + Models/Weather/cumulus_shader3.xml | 3 + Models/Weather/cumulus_shader4.xml | 3 + Models/Weather/cumulus_shader5.xml | 3 + Models/Weather/cumulus_shader6.xml | 3 + Models/Weather/cumulus_sl1.xml | 3 + Models/Weather/cumulus_sl10.xml | 3 + Models/Weather/cumulus_sl11.xml | 3 + Models/Weather/cumulus_sl2.xml | 3 + Models/Weather/cumulus_sl3.xml | 3 + Models/Weather/cumulus_sl4.xml | 3 + Models/Weather/cumulus_sl5.xml | 3 + Models/Weather/cumulus_sl6.xml | 3 + Models/Weather/cumulus_sl7.xml | 3 + Models/Weather/cumulus_sl8.xml | 3 + Models/Weather/cumulus_sl9.xml | 3 + Models/Weather/cumulus_small1.xml | 3 + Models/Weather/cumulus_small2.xml | 3 + Models/Weather/cumulus_small3.xml | 3 + Models/Weather/cumulus_small4.xml | 3 + Models/Weather/cumulus_small5.xml | 3 + Models/Weather/cumulus_small_shader1.xml | 3 + Models/Weather/cumulus_small_shader2.xml | 3 + Models/Weather/cumulus_small_shader3.xml | 3 + Models/Weather/cumulus_small_shader4.xml | 3 + Models/Weather/cumulus_small_shader5.xml | 3 + Models/Weather/cumulus_small_sl1.xml | 3 + Models/Weather/cumulus_small_sl2.xml | 3 + Models/Weather/cumulus_small_sl3.xml | 3 + Models/Weather/cumulus_small_sl4.xml | 3 + Models/Weather/cumulus_small_sl5.xml | 3 + Models/Weather/cumulus_small_sl6.xml | 3 + Models/Weather/cumulus_small_sl7.xml | 3 + Models/Weather/cumulus_small_sl8.xml | 3 + Models/Weather/cumulus_whisp1.xml | 3 + Models/Weather/cumulus_whisp2.xml | 3 + Models/Weather/cumulus_whisp3.xml | 3 + Models/Weather/cumulus_whisp4.xml | 3 + Models/Weather/cumulus_whisp5.xml | 3 + Models/Weather/impostor_broken1.xml | 3 + Models/Weather/impostor_broken2.xml | 3 + Models/Weather/impostor_few1.xml | 3 + Models/Weather/impostor_few2.xml | 3 + Models/Weather/impostor_nimbus.xml | 3 + Models/Weather/impostor_scattered1.xml | 3 + Models/Weather/impostor_scattered2.xml | 3 + Models/Weather/lightning.xml | 3 + Models/Weather/lightning1.xml | 3 + Models/Weather/lightning2.xml | 3 + Models/Weather/lightning_combined.xml | 3 + Models/Weather/nimbus1.xml | 3 + Models/Weather/nimbus_sl1.xml | 3 + Models/Weather/nimbus_sl2.xml | 3 + Models/Weather/nimbus_sl3.xml | 3 + Models/Weather/nimbus_sl4.xml | 3 + Models/Weather/nimbus_sl5.xml | 3 + Models/Weather/nimbus_sl6.xml | 3 + Models/Weather/nimbus_sls1.xml | 3 + Models/Weather/nimbus_sls2.xml | 3 + Models/Weather/nimbus_sls3.xml | 3 + Models/Weather/nimbus_sls4.xml | 3 + Models/Weather/nimbus_sls5.xml | 3 + Models/Weather/nimbus_sls6.xml | 3 + Models/Weather/noctilucent10.xml | 3 + Models/Weather/noctilucent7.xml | 3 + Models/Weather/noctilucent8.xml | 3 + Models/Weather/noctilucent9.xml | 3 + Models/Weather/rain.xml | 3 + Models/Weather/rain1.xml | 3 + Models/Weather/rain2.xml | 3 + Models/Weather/single_cloud.xml | 3 + Models/Weather/stratocumulus_bottom1.xml | 3 + Models/Weather/stratocumulus_sl1.xml | 3 + Models/Weather/stratocumulus_sl2.xml | 3 + Models/Weather/stratocumulus_sl3.xml | 3 + Models/Weather/stratocumulus_sl4.xml | 3 + Models/Weather/stratocumulus_sl5.xml | 3 + Models/Weather/stratocumulus_small1.xml | 3 + Models/Weather/stratocumulus_small2.xml | 3 + Models/Weather/stratocumulus_small3.xml | 3 + Models/Weather/stratocumulus_small4.xml | 3 + Models/Weather/stratocumulus_small5.xml | 3 + Models/Weather/stratus_layer1.xml | 3 + Models/Weather/stratus_layer2.xml | 3 + Models/Weather/stratus_layer3.xml | 3 + Models/Weather/stratus_layer4.xml | 3 + Models/Weather/stratus_layer5.xml | 3 + Models/Weather/stratus_small_layer1.xml | 3 + Models/Weather/stratus_small_layer2.xml | 3 + Models/Weather/stratus_small_layer3.xml | 3 + Models/Weather/stratus_small_layer4.xml | 3 + Models/Weather/stratus_small_layer5.xml | 3 + Models/Weather/stratus_thick1.xml | 3 + Models/Weather/stratus_thick2.xml | 3 + Models/Weather/stratus_thick3.xml | 3 + Models/Weather/stratus_thick4.xml | 3 + Models/Weather/stratus_thick5.xml | 3 + Models/Weather/stratus_thin1.xml | 3 + Models/Weather/stratus_thin2.xml | 3 + Models/Weather/stratus_thin3.xml | 3 + Models/Weather/stratus_thin4.xml | 3 + Models/Weather/stratus_thin5.xml | 3 + Models/Weather/stratus_tlayer1.xml | 3 + Models/Weather/stratus_tlayer2.xml | 3 + Models/Weather/stratus_tlayer3.xml | 3 + Models/Weather/stratus_tlayer4.xml | 3 + Models/Weather/stratus_tlayer5.xml | 3 + Models/Weather/thunderstorm.xml | 3 + 246 files changed, 1365 insertions(+), 79 deletions(-) create mode 100644 Compositor/Effects/chrome.eff create mode 100644 Compositor/Shaders/ALS/shadows-include.frag create mode 100644 Compositor/Shaders/ALS/shadows-include.vert 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 + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 + + /rendering/scene/chrome-light + + + + false + + blend/active + blend/source + blend/destination + + shade-model + cull-face + rendering-hint + + 0 + texture[0]/type + texture[0]/image + texture[0]/filter + texture[0]/wrap-s + texture[0]/wrap-t + + + modulate + constant + src-color + texture1 + src-color + chrome-light + + + + 1 + chrome-texture + linear-mipmap-linear + repeat + repeat + + interpolate + texture0 + src-color + previous + src-color + texture0 + src-alpha + + replace + texture1 + src-alpha + + + sphere-map + + + + + + als-lighting + + false + + blend/active + blend/source + blend/destination + + shade-model + cull-face + rendering-hint + + 0 + texture[0]/type + texture[0]/image + texture[0]/filter + texture[0]/wrap-s + texture[0]/wrap-t + + + modulate + constant + src-color + texture1 + src-color + chrome-light + + + + 1 + chrome-texture + 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 + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 @@ wind_effects + + + shadow_tex + sampler-2d + 10 + + + shadows_enabled + bool + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + true src-alpha 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 rembrandt + + + shadow_tex + sampler-2d + 10 + + + shadows_enabled + bool + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 @@ /sim/rendering/shaders/transition + + + /sim/rendering/als/shadows/enabled + + + /sim/rendering/als/shadows/sun-atlas-size + + @@ -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 @@ tquality_level + + + shadow_tex + sampler-2d + 10 + + + shadows_enabled + bool + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 + + + + material/active + + + material/ambient + + + material/diffuse + + + material/specular + + + material/emissive + + + material/shininess + + + material/color-mode + + + + + blend/active + + + blend/source + + + blend/destination + + + + shade-model + + + cull-face + + + 111 + DepthSortedBin + + + 0 + + texture[0]/active + + + texture[0]/type + + + texture[0]/image + + + texture[0]/filter + + + texture[0]/wrap-s + + + texture[0]/wrap-t + + + 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 + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + + + /sim/rendering/als/shadows/enabled + + + /sim/rendering/als/shadows/sun-atlas-size + + @@ -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 + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 + + shadows_enabled + + + + sun_atlas_size + int + + sun_atlas_size + + + 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 +