效果:
VSH:
#ifdef OPENGL_ES
precision mediump vec2;
precision mediump float;
#endif
// Attributes
attribute vec3 a_position;
attribute vec2 a_texCoord;
attribute vec4 a_color;
// Varyings
#ifdef GL_ES
varying vec2 v_texCoord;
#else
varying vec2 v_texCoord;
#endif
varying vec4 v_fragmentColor;
void main()
{
gl_Position = CC_PMatrix * vec4(a_position, 1.0);
v_texCoord = a_texCoord;
v_fragmentColor = a_color;
}
FSH:
#ifdef GL_ES
precision mediump float;
#endif
uniform sampler2D u_texture;
varying vec2 v_texCoord;
varying vec4 v_fragmentColor;
const vec3 nLightPlus = vec3(0.1, 0.1, 0.1);
uniform vec2 resolution;
void main()
{
vec4 col = texture2D(CC_Texture0, v_texCoord );
float x = v_texCoord.x * resolution.x;
float y = v_texCoord.y * resolution.y;
float realX = floor(x/5.0 + 0.5) * 5.0;
float realY = floor(y/5.0 + 0.5) * 5.0;
gl_FragColor = texture2D(CC_Texture0, vec2(realX/resolution.x, realY/resolution.y) );
}