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 } |