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

<PropertyList>
  <name>Effects/model-pbr-transparent</name>
  <inherits-from>Effects/model-pbr</inherits-from>

  <parameters>
    <texture n="8">
      <image>Textures/PBR/dfg_lut.dds</image>
	  <type>2d</type>
      <filter>linear</filter>
      <mag-filter>linear</mag-filter>
      <wrap-s>clamp-to-edge</wrap-s>
      <wrap-t>clamp-to-edge</wrap-t>
      <internal-format>normalized</internal-format>
    </texture>
    <!-- Alpha Coverage -->
    <blend>1</blend>
    <alpha-cutoff>-1.0</alpha-cutoff>
  </parameters>

  <technique n="108">
    <scheme>hdr-geometry</scheme>
  </technique>

  <technique n="118">
    <scheme>hdr-shadow</scheme>
  </technique>

  <technique n="128">
    <scheme>hdr-forward</scheme>
    <pass>
      <!-- Reverse floating point depth buffer -->
      <depth>
        <function>gequal</function>
        <near>1.0</near>
        <far>0.0</far>
        <write-mask>false</write-mask>
      </depth>
      <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>
      <texture-unit>
        <unit>1</unit>
        <type><use>texture[1]/type</use></type>
        <image><use>texture[1]/image</use></image>
        <filter><use>texture[1]/filter</use></filter>
        <mag-filter><use>texture[1]/mag-filter</use></mag-filter>
        <wrap-s><use>texture[1]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[1]/wrap-t</use></wrap-t>
      </texture-unit>
      <texture-unit>
        <unit>2</unit>
        <type><use>texture[2]/type</use></type>
        <image><use>texture[2]/image</use></image>
        <filter><use>texture[2]/filter</use></filter>
        <mag-filter><use>texture[2]/mag-filter</use></mag-filter>
        <wrap-s><use>texture[2]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[2]/wrap-t</use></wrap-t>
      </texture-unit>
      <texture-unit>
        <unit>3</unit>
        <type><use>texture[3]/type</use></type>
        <image><use>texture[3]/image</use></image>
        <filter><use>texture[3]/filter</use></filter>
        <mag-filter><use>texture[3]/mag-filter</use></mag-filter>
        <wrap-s><use>texture[3]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[3]/wrap-t</use></wrap-t>
      </texture-unit>
      <texture-unit>
        <unit>8</unit>
        <image><use>texture[8]/image</use></image>
		<type><use>texture[8]/type</use></type>
        <filter><use>texture[8]/filter</use></filter>
        <mag-filter><use>texture[8]/mag-filter</use></mag-filter>
        <wrap-s><use>texture[8]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[8]/wrap-t</use></wrap-t>
        <internal-format><use>texture[8]/internal-format</use></internal-format>
      </texture-unit>
      <blend><use>blend</use></blend>
      <rendering-hint>transparent</rendering-hint>
      <cull-face><use>cull-face</use></cull-face>
      <program>
        <vertex-shader>Shaders/HDR/geometry-pbr-transparent.vert</vertex-shader>
        <fragment-shader>Shaders/HDR/geometry-pbr-transparent.frag</fragment-shader>
        <fragment-shader>Shaders/HDR/gbuffer-include.frag</fragment-shader>
        <fragment-shader>Shaders/HDR/shadows-include.frag</fragment-shader>
        <fragment-shader>Shaders/HDR/lighting-include.frag</fragment-shader>
        <fragment-shader>Shaders/HDR/aerial-perspective-include.frag</fragment-shader>
        <attribute>
          <name>tangent</name>
          <index>6</index>
        </attribute>
        <attribute>
          <name>binormal</name>
          <index>7</index>
        </attribute>
      </program>
      <uniform>
        <name>base_color_tex</name>
        <type>sampler-2d</type>
        <value type="int">0</value>
      </uniform>
      <uniform>
        <name>normal_tex</name>
        <type>sampler-2d</type>
        <value type="int">1</value>
      </uniform>
      <uniform>
        <name>orm_tex</name>
        <type>sampler-2d</type>
        <value type="int">2</value>
      </uniform>
      <uniform>
        <name>emissive_tex</name>
        <type>sampler-2d</type>
        <value type="int">3</value>
      </uniform>
      <uniform>
        <name>base_color_factor</name>
        <type>float-vec4</type>
        <value><use>base-color-factor</use></value>
      </uniform>
      <uniform>
        <name>metallic_factor</name>
        <type>float</type>
        <value><use>metallic-factor</use></value>
      </uniform>
      <uniform>
        <name>roughness_factor</name>
        <type>float</type>
        <value><use>roughness-factor</use></value>
      </uniform>
      <uniform>
        <name>emissive_factor</name>
        <type>float-vec3</type>
        <value><use>emissive-factor</use></value>
      </uniform>
      <uniform>
        <name>flip_vertically</name>
        <type>bool</type>
        <value><use>flip-vertically</use></value>
      </uniform>
      <uniform>
        <name>alpha_cutoff</name>
        <type>float</type>
        <value><use>alpha-cutoff</use></value>
      </uniform>
      <!-- Shadows include -->
      <uniform>
        <name>depth_tex</name>
        <type>sampler-2d</type>
        <value type="int">7</value>
      </uniform>
      <uniform>
        <name>shadow_tex</name>
        <type>sampler-2d-shadow</type>
        <value type="int">10</value>
      </uniform>
      <!-- Lighting include -->
      <uniform>
        <name>dfg_lut</name>
        <type>sampler-2d</type>
        <value type="int">8</value>
      </uniform>
      <uniform>
        <name>prefiltered_envmap</name>
        <type>sampler-cube</type>
        <value type="int">9</value>
      </uniform>
      <!-- Aerial perspective include -->
      <uniform>
        <name>aerial_perspective_lut</name>
        <type>sampler-2d</type>
        <value type="int">11</value>
      </uniform>
      <uniform>
        <name>transmittance_lut</name>
        <type>sampler-2d</type>
        <value type="int">12</value>
      </uniform>
    </pass>
  </technique>
</PropertyList>