summaryrefslogtreecommitdiff
path: root/terrain_fragment.glsl
blob: 9c354c595ad6aa373957b47a68653931f59056e3 (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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
varying vec3 normal, light_pos, V, N;
varying vec4 diffuse, ambient;

uniform sampler2D tex;

void main() {
	//gl_FragColor = gl_Color * diffuse_value;
	//vec4 color = ambient;
	//vec3 n = normalize(normal);
	/*vec3 n = normal;
	vec3 hv;
	float dotL = max(dot(n, vec3(0, 1, 0)), 0.0);
	color += diffuse * dotL;
	hv = normalize(halfvector);
	float dotHV = max(dot(n, hv), 0.0);*/
	//color += gl_FrontMaterial.specular * gl_LightSource[0].specular * pow(dotHV, gl_FrontMaterial.shininess);

	vec3 n = normalize(normal);

	float NdotL = max(dot(light_pos, n), 0.0);
	float diffuse = max(dot(n, light_pos), 0.0);

	gl_FragColor = vec4(n, 0.0);

	//gl_FragColor = texture2D(tex, gl_TexCoord[0].st) /* diffuse_value*/ * diffuse;
	//gl_FragColor = gl_Color * diffuse;

	//gl_FragColor = NdotL * diffuse + ambient;

	return;

	vec3 L = normalize(light_pos - V);
	vec3 E = normalize(-V);
	vec3 R = normalize(-reflect(L, N));

	vec4 Iamb = gl_FrontLightProduct[0].ambient;
	vec4 Idiff = gl_FrontLightProduct[0].diffuse * max(dot(N, L), 0.0);
	vec4 Ispec = gl_FrontLightProduct[0].specular * pow(max(dot(R, E), 0.0), 0.3 * gl_FrontMaterial.shininess);

	gl_FragColor = gl_FrontLightModelProduct.sceneColor + Iamb + Idiff + Ispec;
}

/* vim: set syn=glsl: */