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 } } } }