dungeon_crawler

annotate prototype/sdr/multi2.p.glsl @ 70:f55ddab0f3a4

"fixed" the disappearing lights issue
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 09 Oct 2012 02:54:01 +0300
parents
children
rev   line source
nuclear@60 1 /* multipass renderer shader 2: RGB: diffuse color, A: shininess str. */
nuclear@60 2
nuclear@60 3 uniform sampler2D tex_dif;
nuclear@60 4
nuclear@60 5 varying vec3 pos, norm, tang;
nuclear@60 6
nuclear@60 7 const float fog_start = 3.0;
nuclear@60 8 const float fog_end = 6.0;
nuclear@60 9
nuclear@60 10 void main()
nuclear@60 11 {
nuclear@60 12 float fog = clamp((fog_end + pos.z) / (fog_end - fog_start), 0.0, 1.0);
nuclear@60 13
nuclear@60 14 vec4 texel = texture2D(tex_dif, gl_TexCoord[0].st);
nuclear@60 15 vec3 diffuse = fog * (gl_FrontMaterial.diffuse * texel).xyz;
nuclear@60 16 vec3 spec = fog * gl_FrontMaterial.specular.xyz;
nuclear@60 17 float sstr = (spec.x + spec.y + spec.z) / 3.0;
nuclear@60 18
nuclear@60 19 gl_FragColor = vec4(diffuse, sstr);
nuclear@60 20 }