<?xml version="1.0" encoding="utf-8"?>
<!-- Bump and specular effect
parameters :
    texture[0] -> colormap
    texture[2] -> normal map + specularity in alpha channel

eg :
in model.xml :
    <effect>
  <inherits-from>Aircraft/A320/Models/Effects/bumpspec</inherits-from>
  <object-name>Fuselage</object-name>
    </effect>

in Aircraft/A320/Models/Effects/a320_bumpspec.eff ( or whatever, private to the model )

<PropertyList>
  <name>Aircraft/A320/Models/Effects/a320_bumpspec</name>
  <inherits-from>Effects/bumpspec</inherits-from>
  <parameters>
    <texture n="2">
      <image>Aircraft/A320/Models/Effects/textures/a320_normals.png</image>
      <filter>linear-mipmap-linear</filter>
      <wrap-s>repeat</wrap-s>
      <wrap-t>repeat</wrap-t>
      <internal-format>normalized</internal-format>
    </texture>
  </parameters>
</PropertyList>
-->
<PropertyList>
  <name>Effects/bumpspec</name>
  <inherits-from>Effects/model-default</inherits-from>
  <generate>
    <tangent type="int">6</tangent>
    <binormal type="int">7</binormal>
  </generate>
  <technique n="10">
    <predicate>
      <and>
        <property>/sim/rendering/shader-effects</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>
      <texture-unit>
        <unit>0</unit>
        <image><use>texture[0]/image</use></image>
        <filter><use>texture[0]/filter</use></filter>
        <wrap-s><use>texture[0]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[0]/wrap-t</use></wrap-t>
        <internal-format><use>texture[1]/internal-format</use></internal-format>
      </texture-unit>
      <texture-unit>
        <unit>1</unit>
        <image><use>texture[2]/image</use></image>
        <filter><use>texture[2]/filter</use></filter>
        <wrap-s><use>texture[2]/wrap-s</use></wrap-s>
        <wrap-t><use>texture[2]/wrap-t</use></wrap-t>
        <internal-format><use>texture[2]/internal-format</use></internal-format>
      </texture-unit>
      <program>
        <vertex-shader n="0">Shaders/bumpspec.vert</vertex-shader>
        <fragment-shader n="0">Shaders/bumpspec.frag</fragment-shader>
        <attribute>
          <name>tangent</name>
          <index>6</index>
        </attribute>
        <attribute>
          <name>binormal</name>
          <index>7</index>
        </attribute>
      </program>
      <uniform>
        <name>tex_color</name>
        <type>sampler-2d</type>
        <value type="int">0</value>
      </uniform>
      <uniform>
        <name>tex_normal</name>
        <type>sampler-2d</type>
        <value type="int">1</value>
      </uniform>
    </pass>
  </technique>
</PropertyList>