attribute highp vec4 inVertex; attribute highp vec3 inNormal; attribute highp vec2 inTexCoord; uniform highp mat4 MVPMatrix; uniform highp vec3 LightDirection; uniform highp float MaterialBias; uniform highp float MaterialScale; varying lowp vec3 DiffuseLight; varying lowp vec3 SpecularLight; varying mediump vec2 TexCoord; void main() { gl_Position = MVPMatrix * inVertex; DiffuseLight = vec3(max(dot(inNormal, LightDirection), 0.0)); SpecularLight = vec3(max((DiffuseLight.x - MaterialBias) * MaterialScale, 0.0)); TexCoord = inTexCoord; }