fragment_program Ogre/Compositor/Dither_Cg_FP cg
{
	source DitherFP.cg
	entry_point Dither_ps
	profiles ps_4_0 ps_2_0 arbfp1
	
}

fragment_program Ogre/Compositor/Dither_GLSLES_FP glsles
{
	source DitherFP.glsles
}

fragment_program Ogre/Compositor/Dither_GLSL_FP glsl
{
	source DitherFP.glsl
	syntax glsl150
    default_params
   	{
   		param_named RT int 0
   		param_named noise int 1
   	}
}

fragment_program Ogre/Compositor/DitherFP unified
{
	delegate Ogre/Compositor/Dither_GLSL_FP
	delegate Ogre/Compositor/Dither_GLSLES_FP
	delegate Ogre/Compositor/Dither_Cg_FP
}

material Ogre/Compositor/Dither
{
    technique
    {

		pass
		{
			cull_hardware none
			cull_software none
			depth_func always_pass
            polygon_mode_overrideable false

			vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
			{
			}


			fragment_program_ref Ogre/Compositor/DitherFP
			{

			}

			texture_unit RT
			{
                tex_coord_set 0
				tex_address_mode clamp
				filtering trilinear
			}
			
			texture_unit noise
			{
				texture DitherTex
				tex_address_mode wrap
				tex_coord_set 1
				filtering none
			}
		}
	}
}
