+
+const char* VERTEX_SHADER_ANTI_ALIASING = DALI_COMPOSE_SHADER(
+ attribute mediump vec2 aPosition;\n
+ attribute mediump vec2 aDrift;\n
+ uniform mediump mat4 uMvpMatrix;\n
+ uniform mediump vec3 uSize;\n
+ uniform mediump float borderSize;\n
+ varying mediump float vAlpha;\n
+ \n
+ void main()\n
+ {\n
+ vec2 position = aPosition*(uSize.xy+vec2(0.75)) + aDrift*(borderSize+1.5);\n
+ gl_Position = uMvpMatrix * vec4(position, 0.0, 1.0);\n
+ vAlpha = min( abs(aDrift.x), abs(aDrift.y) )*(borderSize+1.5);
+ }\n
+);
+
+const char* FRAGMENT_SHADER_ANTI_ALIASING = DALI_COMPOSE_SHADER(
+ uniform lowp vec4 uColor;\n
+ uniform lowp vec4 borderColor;\n
+ uniform mediump float borderSize;\n
+ varying mediump float vAlpha;\n
+ \n
+ void main()\n
+ {\n
+ gl_FragColor = borderColor*uColor;\n
+ gl_FragColor.a *= smoothstep(0.0, 1.5, vAlpha)*smoothstep( borderSize+1.5, borderSize, vAlpha );\n
+ }\n
+);