<?xml version="1.0" encoding="utf-8"?>
<PropertyList>
  <name>Effects/galaxy</name>

  <parameters>
    <texture n="0">
      <type>2d</type>
      <image>Textures/Sky/allsky_brightness_magten.png</image>
      <filter>linear-mipmap-linear</filter>
      <mag-filter>linear</mag-filter>
      <wrap-s>clamp-to-edge</wrap-s>
      <wrap-t>clamp-to-edge</wrap-t>
    </texture>

    <darksky_magnitude><use>/environment/darksky-brightness-magnitude</use></darksky_magnitude>
    <galaxy_magnitude><use>/environment/galaxy-bulge-brightness-magnitude</use></galaxy_magnitude>
    <atmosphere_top><use>/environment/atmosphere/altitude-troposphere-top</use></atmosphere_top>

    <!-- exposure.glsl -->
    <exposure-compensation>
      <use>/sim/rendering/hdr/exposure-compensation</use>
    </exposure-compensation>
  </parameters>

  <technique n="129">
    <scheme>hdr-forward</scheme>
    <pass>
      <depth>
        <enabled>true</enabled>
        <function>less</function>
        <write-mask>false</write-mask>
      </depth>
      <!--
          Make sure we render after the skydome
          Use same RenderBin as the stars/planets.
      -->
      <render-bin>
        <bin-number>-9</bin-number>
        <bin-name>RenderBin</bin-name>
      </render-bin>
      <texture-unit>
        <unit>0</unit>
        <type><use>texture[0]/type</use></type>
        <image><use>texture[0]/image</use></image>
        <filter><use>texture[0]/filter</use></filter>
        <mag-filter><use>texture[0]/mag-filter</use></mag-filter>
        <wrap-s><use>texture[0]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[0]/wrap-t</use></wrap-t>
      </texture-unit>
      <cull-face>off</cull-face>
      <!-- Additive blending to add the sky in-scattering from the skydome -->
      <blend>
        <active>true</active>
        <source>one</source>
        <destination>one</destination>
      </blend>
      <program>
        <vertex-shader>Shaders/HDR/galaxy.vert</vertex-shader>
        <fragment-shader>Shaders/HDR/galaxy.frag</fragment-shader>
        <fragment-shader>Shaders/HDR/celestial_body.glsl</fragment-shader>
        <fragment-shader>Shaders/HDR/math.glsl</fragment-shader>
        <fragment-shader>Shaders/HDR/atmos_spectral.glsl</fragment-shader>
        <fragment-shader>Shaders/HDR/exposure.glsl</fragment-shader>
        <fragment-shader>Shaders/HDR/logarithmic_depth.glsl</fragment-shader>
        <fragment-shader>Shaders/HDR/forward_pack.glsl</fragment-shader>
      </program>
      <uniform>
        <name>color_tex</name>
        <type>sampler-2d</type>
        <value type="int">0</value>
      </uniform>
      <!-- celestial_body.glsl -->
      <uniform>
        <name>transmittance_tex</name>
        <type>sampler-2d</type>
        <value type="int">12</value>
      </uniform>
      <!-- exposure.glsl -->
      <uniform>
        <name>lum_tex</name>
        <type>sampler-2d</type>
        <value type="int">14</value>
      </uniform>
      <uniform>
        <name>exposure_compensation</name>
        <type>float</type>
        <value><use>exposure-compensation</use></value>
      </uniform>
    </pass>
  </technique>
</PropertyList>
