Very good shader from http://www.raywenderlich.com/10862/how-t...ocos2d-2-x. It a MUST HAVE in PPSSPP. It adds so much depth into the games.
Fragment Shader Code
uniform sampler2D sampler0;
uniform vec2 u_texelDelta;
varying vec4 v_texcoord0;
void main()
{
vec3 ct = texture2D(sampler0, v_texcoord0.xy).xyz;
ct += texture2D(sampler0, v_texcoord0.xy - (vec2(1.0, 1.0) * u_texelDelta)).xyz;
ct -= texture2D(sampler0, v_texcoord0.xy + (vec2(1.0, 1.0) * u_texelDelta)).xyz;
gl_FragColor.xyz = ct;
gl_FragColor.a = 1.0;
}
Vertex Shader Code
attribute vec4 a_position;
attribute vec2 a_texcoord0;
varying vec4 v_texcoord0;
void main()
{
gl_Position = a_position;
v_texcoord0=a_texcoord0.xyxy;
}
Fragment Shader Code
uniform sampler2D sampler0;
uniform vec2 u_texelDelta;
varying vec4 v_texcoord0;
void main()
{
vec3 ct = texture2D(sampler0, v_texcoord0.xy).xyz;
ct += texture2D(sampler0, v_texcoord0.xy - (vec2(1.0, 1.0) * u_texelDelta)).xyz;
ct -= texture2D(sampler0, v_texcoord0.xy + (vec2(1.0, 1.0) * u_texelDelta)).xyz;
gl_FragColor.xyz = ct;
gl_FragColor.a = 1.0;
}
Vertex Shader Code
attribute vec4 a_position;
attribute vec2 a_texcoord0;
varying vec4 v_texcoord0;
void main()
{
gl_Position = a_position;
v_texcoord0=a_texcoord0.xyxy;
}

