// Ambient_ps
fragment_program DeferredShading/post/Ambient_ps unified
{
	delegate DeferredShading/post/Ambient_ps_pCg
	delegate DeferredShading/post/Ambient_ps_pGLSL
	delegate DeferredShading/post/Ambient_ps_pGLSLES
}
fragment_program DeferredShading/post/Ambient_ps_pCg hlsl
{
	source Ambient_ps.cg
	target ps_2_0
	
	default_params
	{
		param_named_auto ambientColor ambient_light_colour
		param_named_auto proj projection_matrix
		param_named_auto farClipDistance far_clip_distance
	}
}
fragment_program DeferredShading/post/Ambient_ps_pGLSL glsl
{
	source Ambient_ps.glsl
	syntax glsl150
	
	default_params
	{
		param_named_auto ambientColor ambient_light_colour
		param_named_auto proj projection_matrix
		param_named_auto farClipDistance far_clip_distance
        param_named Tex0 int 0
        param_named Tex1 int 1
	}
}
fragment_program DeferredShading/post/Ambient_ps_pGLSLES glsles
{
	source Ambient_ps.glsl
	syntax glsl300es
	
	default_params
	{
		param_named_auto ambientColor ambient_light_colour
		param_named_auto proj projection_matrix
		param_named_auto farClipDistance far_clip_distance
        param_named Tex0 int 0
        param_named Tex1 int 1
	}
}

// ShowNormal_ps
fragment_program DeferredShading/post/ShowNormal_ps unified
{
    delegate DeferredShading/post/ShowNormal_ps_pGLSL
	delegate DeferredShading/post/ShowNormal_ps_pCg
}
fragment_program DeferredShading/post/ShowNormal_ps_pCg hlsl
{
	source ShowNormal_ps.cg
	target ps_2_0
}
fragment_program DeferredShading/post/ShowNormal_ps_pGLSL glsl glsles
{
	source ShowNormal_ps.glsl
	default_params
	{
        param_named Tex1 int 1
    }
}

// ShowDS_ps
fragment_program DeferredShading/post/ShowDS_ps unified
{
    delegate DeferredShading/post/ShowDS_ps_pGLSL
	delegate DeferredShading/post/ShowDS_ps_pCg
}
fragment_program DeferredShading/post/ShowDS_ps_pCg hlsl
{
	source ShowDS_ps.cg
	target ps_2_0
}
fragment_program DeferredShading/post/ShowDS_ps_pGLSL glsl glsles
{
	source ShowDS_ps.glsl
	default_params
	{
        param_named Tex0 int 0
        param_named Tex1 int 1
    }
}

// ShowColour_ps
fragment_program DeferredShading/post/ShowColour_ps unified
{
    delegate DeferredShading/post/ShowColour_ps_pGLSL
	delegate DeferredShading/post/ShowColour_ps_pCg
}
fragment_program DeferredShading/post/ShowColour_ps_pCg hlsl
{
	source ShowColour_ps.cg
	target ps_2_0
}
fragment_program DeferredShading/post/ShowColour_ps_pGLSL glsl glsles
{
	source ShowColour_ps.glsl
	default_params
	{
        param_named Tex0 int 0
    }
}
// Auxiliary lights
// cg
vertex_program DeferredShading/post/LightMaterial_vs unified
{
	delegate DeferredShading/post/LightMaterial_vs_pCg
	delegate DeferredShading/post/LightMaterial_vs_pGLSL
	delegate DeferredShading/post/LightMaterial_vs_pGLSLES
}
vertex_program DeferredShading/post/LightMaterial_vs_pCg hlsl
{
	source LightMaterial_vs.cg
	target vs_2_0
	default_params
	{
		param_named_auto worldViewProj worldviewproj_matrix
		//param_named_auto invProj inverse_projection_matrix
		//param_named_auto vpWidth viewport_width
		//param_named_auto vpHeight viewport_height
	}
}
vertex_program DeferredShading/post/LightMaterial_vs_pGLSL glsl
{
	source LightMaterial_vs.glsl
	syntax glsl150
	default_params
	{
		param_named_auto worldViewProj worldviewproj_matrix
	}
}
vertex_program DeferredShading/post/LightMaterial_vs_pGLSLES glsles
{
	source LightMaterial_vs.glsl
	syntax glsles
	default_params
	{
		param_named_auto worldViewProj worldviewproj_matrix
	}
}

// Post processors
vertex_program DeferredShading/post/vs unified
{
	delegate DeferredShading/post/vs_pCg
	delegate DeferredShading/post/vs_pGLSL
	delegate DeferredShading/post/vs_pGLSLES
}
vertex_program DeferredShading/post/vs_pCg hlsl
{
	source vs.cg
	target vs_2_0
	default_params
	{
		//param_named_auto invProj inverse_projection_matrix
		param_named_auto flip render_target_flipping
		param_named farCorner float3 1 1 1
	}
}
vertex_program DeferredShading/post/vs_pGLSL glsl
{
	source vs.glsl
	syntax glsl150
	default_params
	{
		param_named_auto flip render_target_flipping
		param_named farCorner float3 1 1 1
	}
}
vertex_program DeferredShading/post/vs_pGLSLES glsles
{
	source vs.glsl
	syntax glsles
	default_params
	{
		param_named_auto flip render_target_flipping
		param_named farCorner float3 1 1 1
	}
}
