nuclear@3: varying vec3 vpos, ldir, norm; nuclear@3: nuclear@3: void main() nuclear@3: { nuclear@3: vec3 n = normalize(norm); nuclear@3: vec3 l = normalize(ldir); nuclear@3: vec3 v = -normalize(vpos); nuclear@3: vec3 h = normalize(v + l); nuclear@3: nuclear@3: const vec3 kd = vec3(0.87, 0.82, 0.74); nuclear@3: nuclear@3: float diff = abs(dot(n, l)); nuclear@3: float spec = pow(abs(dot(n, h)), 60.0); nuclear@3: nuclear@3: vec3 dcol = kd * diff; nuclear@3: vec3 scol = vec3(0.8, 0.8, 0.8) * spec; nuclear@3: nuclear@3: gl_FragColor = vec4(dcol + scol, 1.0); nuclear@3: }