blob: 693e4fcc2b872eb8b5e7042445ede0d215f7d581 [file] [log] [blame]
//
// ShaderPlain.fsh
//
#define USE_PHONG (1)
uniform lowp vec3 vMaterialAmbient;
uniform mediump vec4 vMaterialSpecular;
varying lowp vec4 colorDiffuse;
#if USE_PHONG
uniform highp vec3 vLight0;
varying mediump vec3 position;
varying mediump vec3 normal;
#else
varying lowp vec4 colorSpecular;
#endif
void main()
{
#if USE_PHONG
mediump vec3 halfVector = normalize(-vLight0 + position);
mediump float NdotH = max(dot(normalize(normal), halfVector), 0.0);
mediump float fPower = vMaterialSpecular.w;
mediump float specular = pow(NdotH, fPower);
lowp vec4 colorSpecular = vec4( vMaterialSpecular.xyz * specular, 1 );
gl_FragColor = colorDiffuse + colorSpecular;
#else
gl_FragColor = colorDiffuse + colorSpecular;
#endif
}