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/DitherFP unified { delegate Ogre/Compositor/Dither_Cg_FP delegate Ogre/Compositor/Dither_GLSLES_FP } material Ogre/Compositor/Dither { technique { pass { cull_hardware none cull_software none depth_func always_pass 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 } } } }