morph.frag 452 B

123456789101112131415161718
  1. uniform vec4 lightDir;
  2. varying vec3 vViewVec;
  3. varying vec3 vNormal;
  4. varying vec4 vDiffuse;
  5. void main(void)
  6. {
  7. vec3 lDir = vec3 (lightDir.x, lightDir.y, -lightDir.z);
  8. vec3 nNormal = normalize(vNormal);
  9. // Soft diffuse
  10. float diffuse = 0.5 + 0.5 * dot(lDir, nNormal);
  11. // Standard specular
  12. float specular = pow(clamp(dot(reflect(-normalize(vViewVec), nNormal), lDir),0.0, 1.0), 24.0);
  13. gl_FragColor = diffuse * vDiffuse + specular;
  14. }