thinplastic.glsl 505 B

1234567891011121314151617181920212223
  1. varying vec4 Ca;
  2. varying vec4 Cd;
  3. varying vec4 Cs;
  4. varying vec4 V_eye;
  5. varying vec4 L_eye;
  6. varying vec4 N_eye;
  7. void main(void)
  8. {
  9. vec3 V = normalize(vec3(V_eye));
  10. vec3 L = normalize(vec3(L_eye));
  11. vec3 N = normalize(vec3(N_eye));
  12. float diffuse_f = clamp(dot(L, N), 0.0, 1.0);
  13. float diffuse_b = clamp(dot(L, -N), 0.0, 1.0);
  14. vec3 H = normalize(L + V);
  15. float specular = clamp(pow(dot(N, H), 32.0), 0.0, 1.0);
  16. gl_FragColor = Ca + 0.8*(Cd*diffuse_f) + 0.2*(Cd*diffuse_b) + (Cs*specular);
  17. }