dungeon_crawler

annotate prototype/sdr/mrt.p.glsl @ 21:0588f8a1a351

converting LIGHT meshes to lights
author John Tsiombikas <nuclear@member.fsf.org>
date Tue, 21 Aug 2012 06:33:36 +0300
parents 8a0ae6b4aa9b
children 0357994effe2
rev   line source
nuclear@20 1 /* MRT assignments
nuclear@20 2 * 0 - RGB: position
nuclear@20 3 * 1 - RGB: normal
nuclear@20 4 * 3 - RGB: diffuse color, A: shininess str.
nuclear@20 5 * 4 - unused
nuclear@20 6 */
nuclear@20 7
nuclear@20 8 uniform sampler2D tex_dif, tex_norm;
nuclear@20 9
nuclear@20 10 varying vec3 pos, norm;
nuclear@16 11
nuclear@16 12 void main()
nuclear@16 13 {
nuclear@20 14 vec3 n = normalize(norm);
nuclear@20 15
nuclear@16 16 vec4 texel = texture2D(tex_dif, gl_TexCoord[0].st);
nuclear@20 17 vec3 diffuse = (gl_FrontMaterial.diffuse * texel).xyz;
nuclear@20 18 vec3 spec = gl_FrontMaterial.specular.xyz;
nuclear@20 19 float sstr = (spec.x + spec.y + spec.z) / 3.0;
nuclear@20 20
nuclear@20 21 gl_FragData[0] = vec4(pos, 0.0);
nuclear@20 22 gl_FragData[1] = vec4(norm, 0.0);
nuclear@20 23 gl_FragData[2] = vec4(diffuse, sstr);
nuclear@20 24 gl_FragData[3] = vec4(0.0, 0.0, 0.0, 0.0);
nuclear@16 25 }