string description = "three texture fixed-function replacement with shadows and fog";

#define THREE_TEXTURES

#include "shaderAttrs.fxh"
#include "samplerDiffuse.fxh"
#include "shadows.fxh"
#include "shadows.hlsl"
#include "RigidBody.hlsl"

#define ID 16
//16/31
technique {

	pass basicShadow_pass {
		
		VertexShader = compile vs_2_0 shadowMain(
			modelViewProjection, ID );
		
		PixelShader = compile PS20_OR_PS14 shadowPixel(ID);
		AlphaRef = 0;

	}

	pass threeTextureFF_pass {
		
		VertexShader = compile vs_2_0 VSMain(
			modelViewProjection,
			modelWorld,
			shadowTextureWorldTransform,
			sunColor,
			sunDirectionObject,
			pointLightDiffuseColors,
			pointLightPositions,
			pointLightAttenuations,
			pointLightCount,
			fogColor,
			fogParams, ID );
		
		PixelShader = compile PS20_OR_PS14 PSMain(
			samplerDiffuse0,
			samplerDiffuse1,
			samplerDiffuse2,
			samplerShadow,
			sunAmbient,
			shadowSampleScale );
		
	}
}

