fragment_program Ogre/Compositor/SharpenEdgesFP_cg cg
{
	source SharpenEdgesFP.cg
    entry_point sharpenEdges_fp
	profiles ps_4_0  ps_2_0 arbfp1
}

fragment_program Ogre/Compositor/SharpenEdgesFP_ps_2_a hlsl
{
	source SharpenEdgesFP.cg
    entry_point sharpenEdges_fp
	target ps_2_a
}

fragment_program Ogre/Compositor/SharpenEdgesFP_glsles glsles
{
	source SharpenEdgesFP.glsles
}

fragment_program Ogre/Compositor/SharpenEdgesFP_glsl glsl
{
	source SharpenEdgesFP.glsl
	syntax glsl150
}

fragment_program Ogre/Compositor/SharpenEdgesFP unified
{
	delegate Ogre/Compositor/SharpenEdgesFP_ps_2_a
	delegate Ogre/Compositor/SharpenEdgesFP_glsl
	delegate Ogre/Compositor/SharpenEdgesFP_glsles
	delegate Ogre/Compositor/SharpenEdgesFP_cg

	default_params
	{
		param_named_auto vTexelSize inverse_texture_size 0
	}
}

material Ogre/Compositor/SharpenEdges
{
    technique
    {

		pass
		{
			cull_hardware none
			cull_software none
			depth_func always_pass
            polygon_mode_overrideable false

			//DirectX 9.0 HLSL Vertex Shader vs_1_1
			//vertex_program_ref PostFilters/SharpenEdgesVP
			//{
			//}

			vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
			{
			}

			//DirectX 9.0 HLSL Pixel Shader ps_2_0
			fragment_program_ref Ogre/Compositor/SharpenEdgesFP
			{
			}

			texture_unit
			{
                tex_coord_set 0
				tex_address_mode clamp
				filtering trilinear
			}

		}
	}
}
