dungeon_crawler

annotate prototype/sdr/deferred_omni.p.glsl @ 30:938a6a155c94

foo
author John Tsiombikas <nuclear@member.fsf.org>
date Mon, 27 Aug 2012 04:03:22 +0300
parents 2fc004802739
children 0357994effe2
rev   line source
nuclear@29 1 uniform sampler2D mrt0, mrt1, mrt2, mrt3;
nuclear@30 2 uniform vec2 tex_scale, fb_size;
nuclear@30 3
nuclear@30 4 varying vec3 ltpos;
nuclear@29 5
nuclear@29 6 void main()
nuclear@29 7 {
nuclear@30 8 vec2 tc = gl_FragCoord.xy * tex_scale / fb_size;
nuclear@29 9
nuclear@30 10 vec3 pos = texture2D(mrt0, tc).xyz;
nuclear@30 11 vec3 norm = texture2D(mrt1, tc).xyz;
nuclear@30 12
nuclear@30 13 vec4 texel3 = texture2D(mrt2, tc);
nuclear@30 14 vec3 dcol = texel3.xyz;
nuclear@30 15 float shin = texel3.w;
nuclear@30 16
nuclear@30 17 vec3 ldir = ltpos - pos;
nuclear@30 18 float dist = length(ldir);
nuclear@30 19 ldir = normalize(ldir);
nuclear@30 20
nuclear@30 21 float ndotl = dot(norm, ldir);
nuclear@30 22 vec3 color = dcol * ndotl;
nuclear@30 23
nuclear@30 24 float atten = 1.0;
nuclear@30 25 if(dist > 0.2) {
nuclear@30 26 atten = 0.0;
nuclear@29 27 }
nuclear@29 28
nuclear@30 29 gl_FragColor = vec4(color, 1.0);
nuclear@29 30 }