#version 300 es #define gl_Vertex _glesVertex in vec4 _glesVertex; #define gl_MultiTexCoord0 _glesMultiTexCoord0 in vec4 _glesMultiTexCoord0; #define TANGENT vec4(normalize(_glesTANGENT.xyz), _glesTANGENT.w) in vec4 _glesTANGENT; struct v2f { highp vec4 pos; mediump vec2 uv; lowp vec4 color; }; uniform highp mat4 glstate_matrix_mvp; v2f vert( in highp vec4 pos, in mediump vec2 uv, in highp vec4 tangent ) { v2f o; o.pos = (glstate_matrix_mvp * pos); o.color.xy = (uv * 0.3); o.color.xyz += ((tangent.xyz * 0.5) + 0.5); o.color.w = 0.0; o.uv = uv; return o; } out mediump vec2 xlv_TEXCOORD0; out lowp vec4 xlv_TEXCOORD1; void main() { v2f xl_retval; xl_retval = vert( vec4(gl_Vertex), vec2(gl_MultiTexCoord0), vec4(TANGENT)); gl_Position = vec4(xl_retval.pos); xlv_TEXCOORD0 = vec2(xl_retval.uv); xlv_TEXCOORD1 = vec4(xl_retval.color); }