nuclear@3: varying vec3 vpos, vnorm; nuclear@3: varying vec3 ldir, vdir; nuclear@3: nuclear@3: void main() nuclear@3: { nuclear@3: vec3 n = normalize(vnorm); nuclear@3: vec3 l = normalize(ldir); nuclear@3: vec3 v = normalize(vdir); nuclear@3: vec3 h = normalize(l + v); nuclear@3: nuclear@3: vec3 diff = vec3(0.8, 0.25, 0.2) * max(dot(l, n), 0.0); nuclear@3: vec3 spec = vec3(0.6, 0.4, 0.32) * pow(max(dot(h, n), 0.0), 60.0); nuclear@3: nuclear@3: gl_FragColor = vec4(diff + spec, 1.0); nuclear@3: }