CCProgram vs %{
precision highp float;
#include
#include
in vec3 a_position;
in vec4 a_color;
out vec4 v_color;
#if USE_TEXTURE
in vec4 a_uv0;
out vec2 v_uv0[9];
#endif
uniform Constant{
vec2 textureSize;
float edgeOnly;
float time;
float burnAmount;
float lineWidth;
};
void main () {
vec4 pos = vec4(a_position, 1);
#if CC_USE_MODEL
pos = cc_matViewProj * cc_matWorld * pos;
#else
pos = cc_matViewProj * pos;
#endif
#if USE_TEXTURE
vec2 unit = 1.0 / textureSize;
v_uv0[0] = a_uv0.xy + vec2(-1, -1) * unit;
v_uv0[1] = a_uv0.xy + vec2( 0, -1) * unit;
v_uv0[2] = a_uv0.xy + vec2( 1, -1) * unit;
v_uv0[3] = a_uv0.xy + vec2(-1, 0) * unit;
v_uv0[4] = a_uv0.xy + vec2( 0, 0) * unit;
v_uv0[5] = a_uv0.xy + vec2( 1, 0) * unit;
v_uv0[6] = a_uv0.xy + vec2(-1, 1) * unit;
v_uv0[7] = a_uv0.xy + vec2( 0, 1) * unit;
v_uv0[8] = a_uv0.xy + vec2( 1, 1) * unit;
#endif
v_color = a_color;
gl_Position = pos;
}
}%
用顶点渲染器处理uv数组做边缘检测,Android平台没问题。但是IOS会出现link failed错误