<?xml version="1.0" encoding="utf-8"?>
<material>
    <shader effect="model"/>
    <alternative material="player_trans_ao_spec.xml" quality="8"/>
    
    <define name="USE_PLAYERCOLOR" value="0"/>
    
    <!-- REQUIRES: Actor must provide a texture named "normTex", where the Alpha channel
                   is the heightmap (white = high). 
         COMMENT: Pixels that are exactly white are calculated more efficiently (on average) 
		  if dynamic branching is supported by the player's GPU.
	 EFFICIENCY: This is a moderately expensive effect, so use with care. -->
    <conditional_define name="USE_PARALLAX_MAP" value="1" type="draw_range" conf="PARALLAX_DIST"/>
    <conditional_define name="USE_HQ_PARALLAX" value="1" type="draw_range" conf="PARALLAX_HQ_DIST"/>
    
    <!-- REQUIRES: Actor must provide a texture named "normTex", where the RGB channels
		   are a normal map corresponding to XYZ normals.
	 EFFICIENCY: This is a relatively inexpensive effect that should run easily on most hardware. -->
    <define name="USE_NORMAL_MAP" value="1"/>
    
    <!-- REQUIRES: Actor must provide a texture named "specTex", where the RGB channels
		   provide a specular colour multiplier. 
		   Material must provide a uniform definition for "specularPower" that controls
		   the glossiness of the effect.
	 COMMENT: The intensity of the colour controls the specular amount, so black pixels have
		  no specularity. 
	 COMPATIBILITY: This effect is incompatible with the old "USE_SPECULAR" effect.
	 EFFICIENCY: This is a relatively inexpensive effect that should run easily on most hardware. -->
    <define name="USE_SPECULAR_MAP" value="1"/>
    
    <!-- REQUIRES: That "USE_SPECULAR_MAP" is enabled and a texture named "specTex" is provided by the Actor.
		   The Alpha channel of the texture defines the amount of self-illumination, with 
		   transparency being no self-illumination.
	 COMMENT: Full self-illumination means the screen colour of a pixel is equal to its baseTex value.
	 EFFICIENCY: This is a very cheap effect, however it also requires the calculation of specular. -->
    <!-- <define name="USE_SELF_LIGHT" value="1"/> -->
    
    <!-- REQUIRES: Actor must provide a texture named "aoTex", where the R channel is the Ambient Occlusion.
                   The model must provide a second, non-overlapping set of UV coordinates.
	 COMMENT: The texture is combined using a multiply blend of (2 * ao * baseTex). -->
    <define name="USE_AO" value="0"/>
    
    <!-- Settings for effects above:
         First value: Normal mapping intensity.
	 Second value: Specular power.
	 Third value: Parallax scale.
	 Fourth value: AO amount. -->
    <uniform name="effectSettings" value="5.0 50.0 0.0075 0.85"/>
</material>
