#extension GL_EXT_gpu_shader4 : enable
//
// attachment 0:  normal.x  |  normal.x  |  normal.y  |  normal.y
// attachment 1: diffuse.r  | diffuse.g  | diffuse.b  | material Id
// attachment 2: specular.l | shininess  | emission.l |  unused
//
uniform int materialID;
uniform sampler2D texture;
void encode_gbuffer(vec3 normal, vec3 color, int mId, float specular, float shininess, float emission, float depth);
void main() {
    vec4 texel = texture2D(texture, gl_TexCoord[0].st);
    if (texel.a < 0.1)
        discard;
    float specular = 0.0;
    float shininess = 0.1;
    float emission = 0.0;
        
    // Normal is straight towards the viewer. (FB: Are they really billboards ? )
    encode_gbuffer(vec3(0.5, 0.5, 0.0), gl_Color.rgb * texel.rgb, materialID, specular, shininess, emission, gl_FragCoord.z);
}