fragment_program SSAO/Post/Modulate_fp_hlsl hlsl
{
    source Modulate.hlsl
    entry_point Modulate_fp
    target ps_4_0
}

fragment_program SSAO/Post/Modulate_fp_cg cg
{
    source Modulate.cg
    entry_point Modulate_fp
    profiles ps_3_0 arbfp1
}

fragment_program SSAO/Post/Modulate_fp_glsl glsl
{
    source ModulateFP.glsl
    	
	default_params
	{
		param_named ssao int 0
		param_named scene int 1
	}
}

fragment_program SSAO/Post/Modulate_fp unified
{
	delegate SSAO/Post/Modulate_fp_glsl
	delegate SSAO/Post/Modulate_fp_hlsl
	delegate SSAO/Post/Modulate_fp_cg 
}

material SSAO/Post/Modulate
{
    technique
    {
        pass
        {
            lighting off

			vertex_program_ref Ogre/Compositor/StdQuad_vp {}
            fragment_program_ref SSAO/Post/Modulate_fp {}
            polygon_mode_overrideable false

			texture_unit
            {
				content_type compositor SSAO/Post/Modulate ssao
                filtering none
            }
			
			texture_unit
            {
				content_type compositor SSAO/GBuffer scene
                filtering bilinear
            }
        }
    }
}
