vtm/vtm/resources/assets/shaders/texture_layer.glsl
Hannes Janetzek 18f6784e81 add GLShader:
- load shaders from assets
- start to move shaders to asset files
2014-03-27 03:03:31 +01:00

38 lines
740 B
GLSL

#ifdef GLES
precision highp float;
#endif
attribute vec4 vertex;
attribute vec2 tex_coord;
uniform mat4 u_mv;
uniform mat4 u_proj;
uniform float u_scale;
uniform vec2 u_div;
varying vec2 tex_c;
const float coord_scale = 1.0/8.0;
void
main(){
vec4 pos;
vec2 dir = vertex.zw;
if (mod(vertex.x, 2.0) == 0.0) {
pos = u_proj * (u_mv * vec4(vertex.xy + dir * u_scale, 0.0, 1.0));
}
else { // place as billboard
vec4 center = u_mv * vec4(vertex.xy, 0.0, 1.0);
pos = u_proj * (center + vec4(dir * coord_scale, 0.0, 0.0));
}
gl_Position = pos;
tex_c = tex_coord * u_div;
}
$$
#ifdef GLES
precision highp float;
#endif
uniform sampler2D tex;
varying vec2 tex_c;
void
main(){
gl_FragColor = texture2D(tex, tex_c.xy);
}