1#version 300 es 2precision mediump float; 3 4uniform mediump vec4 vMaterialSpecular; 5uniform highp vec3 vLight0; 6 7in lowp vec4 colorDiffuse; 8in vec3 position; 9in vec3 normal; 10out vec4 outColor; 11 12void main() 13{ 14 mediump vec3 halfVector = normalize(-vLight0 + position); 15 mediump float NdotH = max(dot(normalize(normal), halfVector), 0.0); 16 mediump float fPower = vMaterialSpecular.w; 17 mediump float specular = pow(NdotH, fPower); 18 19 lowp vec4 colorSpecular = vec4( vMaterialSpecular.xyz * specular, 1 ); 20 outColor = colorDiffuse + colorSpecular; 21} 22