From 1cf4b9d6a51bf4a5c75a03fb4900151f38e65cb6 Mon Sep 17 00:00:00 2001
From: Thorsten Renk <thorsten@science-and-fiction.org>
Date: Thu, 11 May 2017 13:58:43 +0300
Subject: [PATCH] Fix ice overlay on ALS inland water effect

---
 Effects/water-inland.eff | 100 +++++++++++++++++++++++----------------
 1 file changed, 60 insertions(+), 40 deletions(-)

diff --git a/Effects/water-inland.eff b/Effects/water-inland.eff
index 79343c11c..3188a7406 100644
--- a/Effects/water-inland.eff
+++ b/Effects/water-inland.eff
@@ -59,6 +59,14 @@
 			<wrap-t>repeat</wrap-t>
 			<internal-format>normalized</internal-format>
 		</texture>
+		<texture n="10">
+			<image>Textures/Terrain/packice-overlay.png</image>
+			<type>2d</type>
+			<filter>linear-mipmap-linear</filter>
+			<wrap-s>repeat</wrap-s>
+			<wrap-t>repeat</wrap-t>
+			<internal-format>normalized</internal-format>
+		</texture>
         <normalmap_dds type="float">0.0</normalmap_dds>
 		<saturation>
 			<use>/rendering/scene/saturation</use>
@@ -110,49 +118,30 @@
 		</WaveDAngle>
 
 		<!-- 	fog include -->
-		<visibility>
-			<use>/environment/ground-visibility-m</use>
-		</visibility>
-		<avisibility>
-			<use>/environment/visibility-m</use>
-		</avisibility>
-		<lthickness>
-			<use>/environment/ground-haze-thickness-m</use>
-		</lthickness>
-		<scattering>
-			<use>/rendering/scene/scattering</use>
-		</scattering>
-		<ground_scattering>
-			<use>/environment/surface/scattering</use>
-		</ground_scattering>
-		<terminator>
-			<use>/environment/terminator-relative-position-m</use>
-		</terminator>
-		<terrain_alt>
-			<use>/environment/mean-terrain-elevation-m</use>
-		</terrain_alt>
-		<overcast>
-			<use>/rendering/scene/overcast</use>
-		</overcast>
-		<eye_alt>
-			<use>/sim/rendering/eye-altitude-m</use>
-		</eye_alt>
-		<cloud_self_shading>
-			<use>/environment/cloud-self-shading</use>
-		</cloud_self_shading>
-    		<moonlight>
-			<use>/environment/moonlight</use>
-		</moonlight>
-		<fogtype>
-			<use>/sim/rendering/shaders/skydome</use>
-		</fogtype>
+		<visibility><use>/environment/ground-visibility-m</use></visibility>
+		<avisibility><use>/environment/visibility-m</use></avisibility>
+		<lthickness><use>/environment/ground-haze-thickness-m</use></lthickness>
+		<scattering><use>/rendering/scene/scattering</use></scattering>
+		<ground_scattering><use>/environment/surface/scattering</use></ground_scattering>
+		<terminator><use>/environment/terminator-relative-position-m</use></terminator>
+		<terrain_alt><use>/environment/mean-terrain-elevation-m</use></terrain_alt>
+		<overcast><use>/rendering/scene/overcast</use></overcast>
+		<eye_alt><use>/sim/rendering/eye-altitude-m</use></eye_alt>
+		<cloud_self_shading><use>/environment/cloud-self-shading</use></cloud_self_shading>
+    	<moonlight><use>/environment/moonlight</use></moonlight>
+		<fogtype><use>/sim/rendering/shaders/skydome</use></fogtype>
+		<fogstructure><use>/environment/fog-structure</use></fogstructure>
+		<air_pollution><use>/environment/air-pollution-norm</use></air_pollution>
+		<ice_cover><use>/environment/sea/surface/ice-cover</use></ice_cover>
+		<quality_level><use>/sim/rendering/shaders/landmass</use></quality_level>
+
 		<!-- filtering -->
    		<use_filtering><use>/sim/rendering/als-filters/use-filtering</use></use_filtering>
-    		<gamma><use>/sim/rendering/als-filters/gamma</use></gamma>
+    	<gamma><use>/sim/rendering/als-filters/gamma</use></gamma>
    		<brightness><use>/sim/rendering/als-filters/brightness</use></brightness>
-    		<use_night_vision><use>/sim/rendering/als-filters/use-night-vision</use></use_night_vision>
-    		<use_IR_vision><use>/sim/rendering/als-filters/use-IR-vision</use></use_IR_vision>
-    		<delta_T><use>/environment/surface/delta-T-water</use></delta_T>
+    	<use_night_vision><use>/sim/rendering/als-filters/use-night-vision</use></use_night_vision>
+    	<use_IR_vision><use>/sim/rendering/als-filters/use-IR-vision</use></use_IR_vision>
+    	<delta_T><use>/environment/surface/delta-T-water</use></delta_T>
 		<!-- cloud shadows -->
 		<cloudpos1_x><use>/local-weather/cloud-shadows/cloudpos-x[0]</use></cloudpos1_x>
 		<cloudpos1_y><use>/local-weather/cloud-shadows/cloudpos-y[0]</use></cloudpos1_y>
@@ -393,6 +382,27 @@
 					<use>texture[6]/internal-format</use>
 				</internal-format>
 			</texture-unit>
+			<texture-unit>
+				<unit>7</unit>
+				<image>
+					<use>texture[10]/image</use>
+				</image>
+				<type>
+					<use>texture[10]/type</use>
+				</type>
+				<filter>
+					<use>texture[10]/filter</use>
+				</filter>
+				<wrap-s>
+					<use>texture[10]/wrap-s</use>
+				</wrap-s>
+				<wrap-t>
+					<use>texture[10]/wrap-t</use>
+				</wrap-t>
+				<internal-format>
+					<use>texture[10]/internal-format</use>
+				</internal-format>
+			</texture-unit>
 
 			<program>
 				<vertex-shader>Shaders/water-ALS.vert</vertex-shader>
@@ -433,6 +443,11 @@
 				<type>sampler-2d</type>
 				<value type="int">6</value>
 			</uniform>
+			<uniform>
+				<name>ice_texture</name>
+				<type>sampler-2d</type>
+				<value type="int">7</value>
+			</uniform>
             <!-- normalmap is .dds-->
             <uniform>
                 <name>normalmap_dds</name>
@@ -587,6 +602,11 @@
 				<type>float</type>
 				<value><use>air_pollution</use></value>
 			</uniform>
+			<uniform>
+        			<name>ice_cover</name>
+        			<type>float</type>
+        			<value><use>ice_cover</use></value>
+      		</uniform>
  			<uniform>
         			<name>view_pitch_offset</name>
         			<type>float</type>