// Auxiliary lights
vertex_program DeferredShading/Shadows/CasterVP unified
{
	delegate DeferredShading/Shadows/CasterVP_pCg
	delegate DeferredShading/Shadows/CasterVP_pGLSL
	delegate DeferredShading/Shadows/CasterVP_pGLSLES
}
vertex_program DeferredShading/Shadows/CasterVP_pCg hlsl
{
	source ShadowCaster.cg
	target vs_2_0
	entry_point ShadowCasterVP
	default_params
	{
		param_named_auto cWorldViewProj worldviewproj_matrix
		param_named_auto cWorldView worldview_matrix
	}
}
vertex_program DeferredShading/Shadows/CasterVP_pGLSL glsl
{
	source ShadowCaster_vp.glsl
	default_params
	{
		param_named_auto cWorldViewProj worldviewproj_matrix
		param_named_auto cWorldView worldview_matrix
	}
}

vertex_program DeferredShading/Shadows/CasterVP_pGLSLES glsles
{
	source ShadowCaster_vp.glsl
	syntax glsles
	default_params
	{
		param_named_auto cWorldViewProj worldviewproj_matrix
		param_named_auto cWorldView worldview_matrix
	}
}

fragment_program DeferredShading/Shadows/CasterFP unified
{
	delegate DeferredShading/Shadows/CasterFP_pCg
	delegate DeferredShading/Shadows/CasterFP_pGLSL
	delegate DeferredShading/Shadows/CasterFP_pGLSLES
}
fragment_program DeferredShading/Shadows/CasterFP_pCg hlsl
{
	source ShadowCaster.cg
	target ps_2_0
	entry_point ShadowCasterFP

	default_params
	{
		param_named_auto cFarDistance far_clip_distance
	}
}
fragment_program DeferredShading/Shadows/CasterFP_pGLSL glsl
{
	source ShadowCaster_fp.glsl
	default_params
	{
		param_named_auto cFarDistance far_clip_distance
	}
}

fragment_program DeferredShading/Shadows/CasterFP_pGLSLES glsles
{
	source ShadowCaster_fp.glsl
	syntax glsles

	default_params
	{
		param_named_auto cFarDistance far_clip_distance
	}
}
