blob: 801a9ce082e43cee5894bab9f7b5d24f94b7a72d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#version 120
varying vec3 light_ss;
varying vec3 eye_ss;
varying vec3 pos_es;
varying vec3 normal_es;
const vec3 base_color = vec3(1.0, 0.7, 0.0);
/* Specular exponent.
*/
uniform float s;
void main(void)
{
vec3 l = normalize(light_ss);
vec3 v = normalize(eye_ss);
vec3 h = normalize(l + v);
vec3 n = vec3(0,0,1);
vec3 diff = base_color * dot(n, l);
float spec = pow(dot(n, h), s);
vec4 light = step(0.0, dot(n, l)) * vec4(diff + vec3(spec), 1.0);
gl_FragData[0] = light;
gl_FragData[1] = vec4(pos_es, 1);
gl_FragData[2] = vec4(normal_es, 1);
}
|