tesspot

annotate sdr/bezier.p.glsl @ 0:72b7f9f2eead

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sun, 02 Dec 2012 08:23:51 +0200
parents
children 178a9e3c3c8c
rev   line source
nuclear@0 1 #version 410 compatibility
nuclear@0 2
nuclear@0 3 in vec3 normal;
nuclear@0 4 in vec3 vpos;
nuclear@0 5
nuclear@0 6 void main()
nuclear@0 7 {
nuclear@0 8 vec3 ldir = gl_LightSource[0].position.xyz - vpos;
nuclear@0 9
nuclear@0 10 vec3 n = normalize(normal);
nuclear@0 11 vec3 v = -normalize(vpos);
nuclear@0 12 vec3 l = normalize(ldir);
nuclear@0 13 vec3 h = normalize(l + v);
nuclear@0 14
nuclear@0 15 float ndotl = max(dot(n, l), 0.0);
nuclear@0 16 float ndoth = max(dot(n, h), 0.0);
nuclear@0 17
nuclear@0 18 vec3 kd = gl_FrontMaterial.diffuse.xyz;
nuclear@0 19 vec3 ks = gl_FrontMaterial.specular.xyz;
nuclear@0 20 float shin = gl_FrontMaterial.shininess;
nuclear@0 21
nuclear@0 22 vec3 diffuse = kd * ndotl * gl_LightSource[0].diffuse.xyz;
nuclear@0 23 vec3 specular = ks * pow(ndoth, shin) * gl_LightSource[0].specular.xyz;
nuclear@0 24
nuclear@0 25 gl_FragColor = vec4(diffuse + specular, gl_FrontMaterial.diffuse.w);
nuclear@0 26 }