#ifdef GL_ES // Set default precision to medium precision mediump int; precision mediump float; #endif uniform mat4 vp_matrix; uniform mat4 norm_matrix; uniform mat4 m_matrix; attribute vec4 a_position; attribute vec2 a_texcoord; attribute vec3 a_normal; varying vec2 v_texcoord; varying vec4 v_position; varying vec3 v_normal; void main() { // Calculate vertex position in screen space gl_Position = vp_matrix * norm_matrix * m_matrix * a_position; // Pass data to fragment shader // Value will be automatically interpolated to fragments inside polygon faces v_texcoord = a_texcoord; v_position = a_position; v_normal = a_normal; }