<?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>
    <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>
  </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>
      </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>horizon_roughness</name>
        <type>float</type>
        <value><use>horizon_roughness</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>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>