<?xml version="1.0" encoding="utf-8"?>
<PropertyList>
  <name>Effects/skydome</name>
  <parameters>
    <mie><use>/sim/rendering/mie</use></mie>
    <rayleigh><use>/sim/rendering/rayleigh</use></rayleigh>
    <density><use>/sim/rendering/dome-density</use></density>
    <overcast><use>/rendering/scene/overcast</use></overcast>
    <saturation><use>/rendering/scene/saturation</use></saturation>
    <scattering><use>/rendering/scene/scattering</use></scattering>
    <visibility><use>/environment/ground-visibility-m</use></visibility>
    <avisibility><use>/environment/visibility-m</use></avisibility>
    <ice_hex_col><use>/environment/scattering-phenomena/ice-hexagonal-column-factor</use></ice_hex_col>
    <ice_hex_sheet><use>/environment/scattering-phenomena/ice-hexagonal-sheet-factor</use></ice_hex_sheet>
    <parhelic><use>/environment/scattering-phenomena/parhelic-factor</use></parhelic>
    <aurora_strength><use>/environment/aurora/strength</use></aurora_strength>
    <aurora_vsize><use>/environment/aurora/vsize</use></aurora_vsize>
    <aurora_hsize><use>/environment/aurora/hsize</use></aurora_hsize>
    <aurora_ray_factor><use>/environment/aurora/ray-factor</use></aurora_ray_factor>
    <lthickness><use>/environment/ground-haze-thickness-m</use></lthickness>
    <terminator><use>/environment/terminator-relative-position-m</use></terminator>
    <terrain_alt><use>/environment/mean-terrain-elevation-m</use></terrain_alt>
    <cloud_self_shading><use>/environment/cloud-self-shading</use></cloud_self_shading>
    <horizon_roughness><use>/local-weather/config/small-scale-persistence</use></horizon_roughness>
    <display_xsize><use>/sim/startup/xsize</use></display_xsize>
    <display_ysize><use>/sim/startup/ysize</use></display_ysize>
    <view_pitch_offset><use>/sim/current-view/pitch-offset-deg</use></view_pitch_offset>
    <view_heading_offset><use>/sim/current-view/heading-offset-deg</use></view_heading_offset>
    <view_fov><use>/sim/current-view/field-of-view</use></view_fov>
    <use_searchlight><use>/sim/rendering/als-secondary-lights/use-searchlight</use></use_searchlight>
    <use_landing_light><use>/sim/rendering/als-secondary-lights/use-landing-light</use></use_landing_light>
    <use_alt_landing_light><use>/sim/rendering/als-secondary-lights/use-alt-landing-light</use></use_alt_landing_light>
    <landing_light1_offset><use>/sim/rendering/als-secondary-lights/landing-light1-offset-deg</use></landing_light1_offset>
    <landing_light2_offset><use>/sim/rendering/als-secondary-lights/landing-light2-offset-deg</use></landing_light2_offset>
    <landing_light3_offset><use>/sim/rendering/als-secondary-lights/landing-light3-offset-deg</use></landing_light3_offset>
    <use_filtering><use>/sim/rendering/als-filters/use-filtering</use></use_filtering>
    <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>-50.0</delta_T>
    <air_pollution><use>/environment/air-pollution-norm</use></air_pollution>
  </parameters>
  <technique n="8">
    <predicate>
      <and>
        <property>/sim/rendering/shaders/skydome</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>
      <shade-model>smooth</shade-model>
      <cull-face>back</cull-face>
      <program>
        <vertex-shader>Shaders/skydome-ALS.vert</vertex-shader>
        <fragment-shader>Shaders/skydome-ALS.frag</fragment-shader>
	<fragment-shader>Shaders/noise.frag</fragment-shader>
	<fragment-shader>Shaders/secondary_lights.frag</fragment-shader>
        <fragment-shader>Shaders/filters-ALS.frag</fragment-shader>
      </program>
      <uniform>
        <name>mK</name>
        <type>float</type>
        <value><use>mie</use></value>
      </uniform>
      <uniform>
        <name>rK</name>
        <type>float</type>
        <value><use>rayleigh</use></value>
      </uniform>
      <uniform>
        <name>density</name>
        <type>float</type>
        <value><use>density</use></value>
      </uniform>
      <uniform>
        <name>overcast</name>
        <type>float</type>
        <value><use>overcast</use></value>
      </uniform>
      <uniform>
        <name>saturation</name>
        <type>float</type>
        <value><use>saturation</use></value>
      </uniform>
      <uniform>
        <name>scattering</name>
        <type>float</type>
        <value><use>scattering</use></value>
      </uniform>
      <uniform>
        <name>visibility</name>
        <type>float</type>
        <value><use>visibility</use></value>
      </uniform>
       <uniform>
        <name>hazeLayerAltitude</name>
        <type>float</type>
        <value><use>lthickness</use></value>
      </uniform>
      <uniform>
        <name>terminator</name>
        <type>float</type>
        <value><use>terminator</use></value>
      </uniform>
      <uniform>
        <name>avisibility</name>
        <type>float</type>
        <value><use>avisibility</use></value>
      </uniform>
      <uniform>
        <name>terrain_alt</name>
        <type>float</type>
        <value><use>terrain_alt</use></value>
      </uniform>
      <uniform>
        <name>cloud_self_shading</name>
        <type>float</type>
        <value><use>cloud_self_shading</use></value>
      </uniform>
      <uniform>
        <name>air_pollution</name>
        <type>float</type>
        <value><use>air_pollution</use></value>
      </uniform>
      <uniform>
        <name>ice_hex_col</name>
        <type>float</type>
        <value><use>ice_hex_col</use></value>
      </uniform>
      <uniform>
        <name>parhelic</name>
        <type>float</type>
        <value><use>parhelic</use></value>
      </uniform>
      <uniform>
        <name>ice_hex_sheet</name>
        <type>float</type>
        <value><use>ice_hex_sheet</use></value>
      </uniform>
      <uniform>
        <name>aurora_strength</name>
        <type>float</type>
        <value><use>aurora_strength</use></value>
      </uniform>
      <uniform>
        <name>aurora_vsize</name>
        <type>float</type>
        <value><use>aurora_vsize</use></value>
      </uniform>
      <uniform>
        <name>aurora_hsize</name>
        <type>float</type>
        <value><use>aurora_hsize</use></value>
      </uniform>
      <uniform>
        <name>aurora_ray_factor</name>
        <type>float</type>
        <value><use>aurora_ray_factor</use></value>
      </uniform>
      <uniform>
        <name>horizon_roughness</name>
        <type>float</type>
        <value><use>horizon_roughness</use></value>
      </uniform>
      <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>delta_T</name>
        <type>float</type>
        <value><use>delta_T</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>view_pitch_offset</name>
        <type>float</type>
        <value><use>view_pitch_offset</use></value>
      </uniform>
      <uniform>
        <name>view_heading_offset</name>
        <type>float</type>
        <value><use>view_heading_offset</use></value>
      </uniform>
      <uniform>
        <name>field_of_view</name>
        <type>float</type>
        <value><use>view_fov</use></value>
      </uniform>
      <uniform>
        <name>landing_light1_offset</name>
        <type>float</type>
        <value><use>landing_light1_offset</use></value>
      </uniform>
      <uniform>
        <name>landing_light2_offset</name>
        <type>float</type>
        <value><use>landing_light2_offset</use></value>
      </uniform>
      <uniform>
        <name>landing_light3_offset</name>
        <type>float</type>
        <value><use>landing_light3_offset</use></value>
      </uniform>
      <uniform>
	<name>use_searchlight</name>
	<type>int</type>
	<value>	<use>use_searchlight</use></value>
      </uniform>
      <uniform>
	<name>use_landing_light</name>
	<type>int</type>
	<value>	<use>use_landing_light</use></value>
      </uniform>
      <uniform>
	<name>use_alt_landing_light</name>
	<type>int</type>
	<value>	<use>use_alt_landing_light</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>
    </pass>
  </technique>

  <!-- fall back without shaders -->
  <technique n="11">
    <pass>
      <lighting>false</lighting>
      <shade-model>smooth</shade-model>
      <cull-face>back</cull-face>
    </pass>
  </technique>

</PropertyList>