//vertex:
attribute vec3 in_Position; // (x,y,z)
attribute vec4 in_Colour; // (r,g,b,a)
attribute vec2 in_TextureCoord; // (u,v)
varying vec2 v_vTexcoord;
varying vec2 v_vTexcoord2;
varying vec4 v_vColour;
uniform vec2 Scale;
void main(){
gl_Position = gm_Matrices[MATRIX_WORLD_VIEW_PROJECTION] * vec4( in_Position.xyz, 1.0);
v_vColour = in_Colour;
v_vTexcoord = in_TextureCoord;
v_vTexcoord2 = in_Position.xy * Scale;
}
//fragment
varying vec2 v_vTexcoord;
varying vec2 v_vTexcoord2;
varying vec4 v_vColour;
uniform sampler2D BackTexture;
void main(){
float Alpha = v_vColour.a * texture2D( gm_BaseTexture, v_vTexcoord ).a;
gl_FragColor = vec4(v_vColour.rgb * texture2D( BackTexture, v_vTexcoord2 ).rgb,Alpha);
}