<?xml version='1.0' encoding='UTF-8'?>
<PropertyList>
  <name>Effects/flutter</name>
  <inherits-from>Effects/model-default</inherits-from>
  <parameters>
    <vertex-program-two-side type="bool">true</vertex-program-two-side>
    <material>
      <color-mode-uniform>1</color-mode-uniform>
      <!-- DIFFUSE -->
    </material>
    <shade-model>smooth</shade-model>
    <!-- unused ?
		<wind-speed>
			<!- -<use>/environment/Vinson/rel-wind-speed-kts</use>- ->
			<use>/environment/config/boundary/entry[0]/wind-speed-kt</use>
		</wind-speed>
                -->
    <offset>0.0</offset>
    <amplitude-factor>0.08</amplitude-factor>
    <windE>
      <use>/environment/sea/surface/wind-from-east-fps</use>
    </windE>
    <windN>
      <use>/environment/sea/surface/wind-from-north-fps</use>
    </windN>
    <speed-kt>0.0</speed-kt>
    <heading-deg>0.0</heading-deg>
    <!--  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>
    <terminator>
      <use>/environment/terminator-relative-position-m</use>
    </terminator>
    <fogtype>
      <use>/sim/rendering/shaders/skydome</use>
    </fogtype>
    <!-- 	END fog include -->
  </parameters>
  <technique n="7">
    <predicate>
      <and>
        <property>/sim/rendering/shaders/quality-level</property>
        <property>/sim/rendering/shaders/generic</property>
        <or>
          <less-equal>
            <value type="float">2.0</value>
            <glversion/>
          </less-equal>
          <and>
            <extension-supported>GL_ARB_shader_objects</extension-supported>
            <extension-supported>GL_ARB_shading_language_100</extension-supported>
            <extension-supported>GL_ARB_vertex_shader</extension-supported>
            <extension-supported>GL_ARB_fragment_shader</extension-supported>
          </and>
        </or>
      </and>
    </predicate>
    <pass>
      <lighting>true</lighting>
      <material>
        <active>
          <use>material/active</use>
        </active>
        <ambient>
          <use>material/ambient</use>
        </ambient>
        <diffuse>
          <use>material/diffuse</use>
        </diffuse>
        <specular>
          <use>material/specular</use>
        </specular>
        <emissive>
          <use>material/emissive</use>
        </emissive>
        <shininess>
          <use>material/shininess</use>
        </shininess>
        <color-mode>
          <use>material/color-mode</use>
        </color-mode>
      </material>
      <blend>
        <active>
          <use>blend/active</use>
        </active>
        <source>
          <use>blend/source</use>
        </source>
        <destination>
          <use>blend/destination</use>
        </destination>
      </blend>
      <shade-model>
        <use>shade-model</use>
      </shade-model>
      <cull-face>
        <use>cull-face</use>
      </cull-face>
      <rendering-hint>
        <use>rendering-hint</use>
      </rendering-hint>
      <texture-unit>
        <!-- The texture unit is always active because the shaders expect
             that. -->
        <unit>0</unit>
        <!-- If there is a texture, the type in the derived effect
        will be "2d". -->
        <type>
          <use>texture[0]/type</use>
        </type>
        <image>
          <use>texture[0]/image</use>
        </image>
        <filter>
          <use>texture[0]/filter</use>
        </filter>
        <wrap-s>
          <use>texture[0]/wrap-s</use>
        </wrap-s>
        <wrap-t>
          <use>texture[0]/wrap-t</use>
        </wrap-t>
        <!--
        <internal-format>
          <use>texture[0]/internal-format</use>
        </internal-format>
        -->
      </texture-unit>
      <texture-unit>
        <unit>1</unit>
        <type>noise</type>
      </texture-unit>
      <vertex-program-two-side>
        <use>vertex-program-two-side</use>
      </vertex-program-two-side>
      <program>
        <!-- 				<vertex-shader n="0">Shaders/Default/include_fog.vert</vertex-shader> -->
        <vertex-shader n="1">Shaders/Default/flutter.vert</vertex-shader>
        <fragment-shader n="0">Shaders/Default/include_fog.frag</fragment-shader>
        <fragment-shader n="1">Shaders/Default/default.frag</fragment-shader>
      </program>
      <!--<uniform>
				<name>texture</name>
				<type>sampler-2d</type>
				<value type="int">0</value>
			</uniform>-->
      <uniform>
        <name>colorMode</name>
        <type>int</type>
        <value>
          <use>material/color-mode-uniform</use>
        </value>
      </uniform>
      <!-- uniform> unused?
				<name>WindSpeed</name>
				<type>float</type>
				<value>
					<use>wind-speed</use>
				</value>
			</uniform-->
      <uniform>
        <name>Offset</name>
        <type>float</type>
        <value>
          <use>offset</use>
        </value>
      </uniform>
      <uniform>
        <name>AmpFactor</name>
        <type>float</type>
        <value>
          <use>amplitude-factor</use>
        </value>
      </uniform>
      <uniform>
        <name>Noise</name>
        <type>sampler-3d</type>
        <value type="int">1</value>
      </uniform>
      <uniform>
        <name>WindE</name>
        <type>float</type>
        <value>
          <use>windE</use>
        </value>
      </uniform>
      <uniform>
        <name>WindN</name>
        <type>float</type>
        <value>
          <use>windN</use>
        </value>
      </uniform>
      <uniform>
        <name>spd</name>
        <type>float</type>
        <value>
          <use>speed-kt</use>
        </value>
      </uniform>
      <uniform>
        <name>hdg</name>
        <type>float</type>
        <value>
          <use>heading-deg</use>
        </value>
      </uniform>
      <!-- 	    BEGIN fog include -->
      <uniform>
        <name>visibility</name>
        <type>float</type>
        <value>
          <use>visibility</use>
        </value>
      </uniform>
      <uniform>
        <name>avisibility</name>
        <type>float</type>
        <value>
          <use>avisibility</use>
        </value>
      </uniform>
      <uniform>
        <name>hazeLayerAltitude</name>
        <type>float</type>
        <value>
          <use>lthickness</use>
        </value>
      </uniform>
      <uniform>
        <name>scattering</name>
        <type>float</type>
        <value>
          <use>scattering</use>
        </value>
      </uniform>
      <uniform>
        <name>terminator</name>
        <type>float</type>
        <value>
          <use>terminator</use>
        </value>
      </uniform>
      <uniform>
        <name>fogType</name>
        <type>int</type>
        <value>
          <use>fogtype</use>
        </value>
      </uniform>
      <!-- 			END fog include -->
    </pass>
  </technique>
  <technique n="18">
    <scheme>als-lighting</scheme>
    <predicate>
      <and>
        <or>
          <less-equal>
            <value type="float">2.0</value>
            <glversion/>
          </less-equal>
          <and>
            <extension-supported>GL_ARB_shader_objects</extension-supported>
            <extension-supported>GL_ARB_shading_language_100</extension-supported>
            <extension-supported>GL_ARB_vertex_shader</extension-supported>
            <extension-supported>GL_ARB_fragment_shader</extension-supported>
          </and>
        </or>
      </and>
    </predicate>
    <pass>
      <lighting>true</lighting>
      <material>
        <active>
          <use>material/active</use>
        </active>
        <ambient>
          <use>material/ambient</use>
        </ambient>
        <diffuse>
          <use>material/diffuse</use>
        </diffuse>
        <specular>
          <use>material/specular</use>
        </specular>
        <emissive>
          <use>material/emissive</use>
        </emissive>
        <shininess>
          <use>material/shininess</use>
        </shininess>
        <color-mode>
          <use>material/color-mode</use>
        </color-mode>
      </material>
      <blend>
        <active>
          <use>blend/active</use>
        </active>
        <source>
          <use>blend/source</use>
        </source>
        <destination>
          <use>blend/destination</use>
        </destination>
      </blend>
      <shade-model>
        <use>shade-model</use>
      </shade-model>
      <cull-face>
        <use>cull-face</use>
      </cull-face>
      <rendering-hint>
        <use>rendering-hint</use>
      </rendering-hint>
      <texture-unit>
        <!-- The texture unit is always active because the shaders expect
             that. -->
        <unit>0</unit>
        <!-- If there is a texture, the type in the derived effect
        will be "2d". -->
        <type>
          <use>texture[0]/type</use>
        </type>
        <image>
          <use>texture[0]/image</use>
        </image>
        <filter>
          <use>texture[0]/filter</use>
        </filter>
        <wrap-s>
          <use>texture[0]/wrap-s</use>
        </wrap-s>
        <wrap-t>
          <use>texture[0]/wrap-t</use>
        </wrap-t>
      </texture-unit>
      <texture-unit>
        <unit>1</unit>
        <type>noise</type>
      </texture-unit>
      <vertex-program-two-side>
        <use>vertex-program-two-side</use>
      </vertex-program-two-side>
      <program>
        <vertex-shader>Shaders/ALS/flutter.vert</vertex-shader>
        <fragment-shader>Shaders/ALS/terrain-base.frag</fragment-shader>
        <fragment-shader>Shaders/ALS/hazes.frag</fragment-shader>
        <fragment-shader>Shaders/ALS/noise.frag</fragment-shader>
        <fragment-shader>Shaders/ALS/filters.frag</fragment-shader>
      </program>
      <uniform>
        <name>colorMode</name>
        <type>int</type>
        <value>
          <use>material/color-mode-uniform</use>
        </value>
      </uniform>
      <uniform>
        <name>Offset</name>
        <type>float</type>
        <value>
          <use>offset</use>
        </value>
      </uniform>
      <uniform>
        <name>AmpFactor</name>
        <type>float</type>
        <value>
          <use>amplitude-factor</use>
        </value>
      </uniform>
      <uniform>
        <name>Noise</name>
        <type>sampler-3d</type>
        <value type="int">1</value>
      </uniform>
      <uniform>
        <name>WindE</name>
        <type>float</type>
        <value>
          <use>windE</use>
        </value>
      </uniform>
      <uniform>
        <name>WindN</name>
        <type>float</type>
        <value>
          <use>windN</use>
        </value>
      </uniform>
      <uniform>
        <name>spd</name>
        <type>float</type>
        <value>
          <use>speed-kt</use>
        </value>
      </uniform>
      <uniform>
        <name>hdg</name>
        <type>float</type>
        <value>
          <use>heading-deg</use>
        </value>
      </uniform>
      <!-- 	    BEGIN fog include -->
      <uniform>
        <name>visibility</name>
        <type>float</type>
        <value>
          <use>visibility</use>
        </value>
      </uniform>
      <uniform>
        <name>avisibility</name>
        <type>float</type>
        <value>
          <use>avisibility</use>
        </value>
      </uniform>
      <uniform>
        <name>hazeLayerAltitude</name>
        <type>float</type>
        <value>
          <use>lthickness</use>
        </value>
      </uniform>
      <uniform>
        <name>scattering</name>
        <type>float</type>
        <value>
          <use>scattering</use>
        </value>
      </uniform>
      <uniform>
        <name>terminator</name>
        <type>float</type>
        <value>
          <use>terminator</use>
        </value>
      </uniform>
      <uniform>
        <name>fogType</name>
        <type>int</type>
        <value>
          <use>fogtype</use>
        </value>
      </uniform>
      <!-- filtering -->
      <uniform>
        <name>gamma</name>
        <type>float</type>
        <value>
          <use>gamma</use>
        </value>
      </uniform>
      <uniform>
        <name>brightness</name>
        <type>float</type>
        <value>
          <use>brightness</use>
        </value>
      </uniform>
      <uniform>
        <name>use_filtering</name>
        <type>bool</type>
        <value>
          <use>use_filtering</use>
        </value>
      </uniform>
      <uniform>
        <name>use_night_vision</name>
        <type>bool</type>
        <value>
          <use>use_night_vision</use>
        </value>
      </uniform>
      <uniform>
        <name>use_IR_vision</name>
        <type>bool</type>
        <value>
          <use>use_IR_vision</use>
        </value>
      </uniform>
      <uniform>
        <name>delta_T</name>
        <type>float</type>
        <value>
          <use>delta_T</use>
        </value>
      </uniform>
      <uniform>
        <name>fact_grey</name>
        <type>float</type>
        <value>
          <use>fact_grey</use>
        </value>
      </uniform>
      <uniform>
        <name>fact_black</name>
        <type>float</type>
        <value>
          <use>fact_black</use>
        </value>
      </uniform>
      <uniform>
        <name>display_xsize</name>
        <type>int</type>
        <value>
          <use>display_xsize</use>
        </value>
      </uniform>
      <uniform>
        <name>display_ysize</name>
        <type>int</type>
        <value>
          <use>display_ysize</use>
        </value>
      </uniform>
      <!-- 			END fog include -->
    </pass>
  </technique>
</PropertyList>
