<?xml version="1.0" encoding="utf-8"?>

<PropertyList>
  <name>Effects/thrust-flame</name>

  <parameters>
    <flame_radius_fraction type="float">0.2</flame_radius_fraction>
    <thrust_collimation type="float">0.1</thrust_collimation>
    <thrust_density type="float">0.5</thrust_density>
    <base_flame_density type="float">1.0</base_flame_density>
    <shock_frequency type="float">0.5</shock_frequency>
    <noise_strength type="float">0.2</noise_strength>
    <noise_scale type="float">0.1</noise_scale>
    <random_seed type="float">0.0</random_seed>
    <deflection_coeff type="float">0.0</deflection_coeff>

    <use_shocks type="bool">true</use_shocks>
    <use_noise type="bool">true</use_noise>

    <!-- Legacy color definition -->
    <!--
    <flame_color_low_r type="float">0.95</flame_color_low_r>
    <flame_color_low_g type="float">0.55</flame_color_low_g>
    <flame_color_low_b type="float">0.0</flame_color_low_b>
    <flame_color_high_r type="float">1.0</flame_color_high_r>
    <flame_color_high_g type="float">0.8</flame_color_high_g>
    <flame_color_high_b type="float">0.3</flame_color_high_b>
    <base_flame_r type="float">1.0</base_flame_r>
    <base_flame_g type="float">0.8</base_flame_g>
    <base_flame_b type="float">0.3</base_flame_b>
    -->

    <!-- New color definition -->
    <flame_brightness type="float">20.0</flame_brightness>
    <flame_color_low type="vec3d">0.95 0.55 0.0</flame_color_low>
    <flame_color_high type="vec3d">1.0 0.8 0.3</flame_color_high>
    <base_flame type="vec3d">1.0 0.8 0.3</base_flame>
  </parameters>

  <technique n="129">
    <scheme>hdr-forward</scheme>
    <pass>
      <depth>
        <active>true</active>
        <write-mask>false</write-mask>
      </depth>
      <blend>
        <active>true</active>
        <!-- additive blending with RGB multiplication -->
        <source-rgb>src-alpha</source-rgb>
        <destination-rgb>one</destination-rgb>
        <source-alpha>zero</source-alpha>
        <destination-alpha>one</destination-alpha>
      </blend>
      <define n="300">
        <name>BLEND_ADDITIVE</name>
      </define>
      <rendering-hint>transparent</rendering-hint>
      <cull-face>back</cull-face>
      <program>
        <vertex-shader>Shaders/HDR/thrust_flame.vert</vertex-shader>
        <vertex-shader>Shaders/HDR/logarithmic_depth.glsl</vertex-shader>
        <fragment-shader>Shaders/HDR/thrust_flame.frag</fragment-shader>
        <fragment-shader>Shaders/HDR/logarithmic_depth.glsl</fragment-shader>
        <fragment-shader>Shaders/HDR/noise.glsl</fragment-shader>
        <fragment-shader>Shaders/HDR/forward_pack.glsl</fragment-shader>
      </program>
      <uniform>
        <name>flame_radius_fraction</name>
        <type>float</type>
        <value><use>flame_radius_fraction</use></value>
      </uniform>
      <uniform>
        <name>thrust_collimation</name>
        <type>float</type>
        <value><use>thrust_collimation</use></value>
      </uniform>
      <uniform>
        <name>thrust_density</name>
        <type>float</type>
        <value><use>thrust_density</use></value>
      </uniform>
      <uniform>
        <name>base_flame_density</name>
        <type>float</type>
        <value><use>base_flame_density</use></value>
      </uniform>
      <uniform>
        <name>shock_frequency</name>
        <type>float</type>
        <value><use>shock_frequency</use></value>
      </uniform>
      <uniform>
        <name>noise_strength</name>
        <type>float</type>
        <value><use>noise_strength</use></value>
      </uniform>
      <uniform>
        <name>noise_scale</name>
        <type>float</type>
        <value><use>noise_scale</use></value>
      </uniform>
      <uniform>
        <name>random_seed</name>
        <type>float</type>
        <value><use>random_seed</use></value>
      </uniform>
      <uniform>
        <name>deflection_coeff</name>
        <type>float</type>
        <value><use>deflection_coeff</use></value>
      </uniform>
      <uniform>
        <name>use_shocks</name>
        <type>bool</type>
        <value><use>use_shocks</use></value>
      </uniform>
      <uniform>
        <name>use_noise</name>
        <type>bool</type>
        <value><use>use_noise</use></value>
      </uniform>
      <uniform>
        <name>flame_brightness</name>
        <type>float</type>
        <value><use>flame_brightness</use></value>
      </uniform>
      <uniform>
        <name>flame_color_low</name>
        <type>float-vec3</type>
        <value><use>flame_color_low</use></value>
      </uniform>
      <uniform>
        <name>flame_color_high</name>
        <type>float-vec3</type>
        <value><use>flame_color_high</use></value>
      </uniform>
      <uniform>
        <name>base_flame</name>
        <type>float-vec3</type>
        <value><use>base_flame</use></value>
      </uniform>
      <!-- forward_pack.glsl -->
      <uniform>
        <name>clouds_depth_tex</name>
        <type>sampler-2d</type>
        <value type="int">15</value>
      </uniform>
    </pass>
  </technique>

</PropertyList>
