#version 130 out vec3 src_normal, normal;//, et; out vec4 pos, col; out float fogCoord, fs_gid; uniform bool acc_fog; uniform vec2 dt; uniform vec3 eye; void main(void) { normal = (gl_NormalMatrix * gl_Normal); pos.xyz = vec3(gl_ModelViewMatrix * gl_Vertex); col = gl_Color; if (acc_fog) { fogCoord = (gl_Fog.end - length(pos.xyz) * 0.85) / (gl_Fog.end - gl_Fog.start); fogCoord = 1. - clamp(fogCoord, 0., 1.); } gl_TexCoord[0] = gl_MultiTexCoord0; gl_TexCoord[1] = gl_MultiTexCoord1; gl_Position = ftransform(); src_normal = normalize(/*gl_NormalMatrix * */vec3(pos.xy * dt * 2., 0)); //pos = gl_Position; //vec3 v = normalize(-pos.xyz); // vector to the eye /*vec3 t = gl_NormalMatrix * vec3(1., 0., 0.); vec3 b = gl_NormalMatrix * vec3(0., 1., 0.); et = vec3(dot(v, t), dot(v, b), dot(v, normal));*/ //vec3 t = normalize(gl_NormalMatrix * vec3(gl_MultiTexCoord0.yx, 1)); //vec3 b = cross(normal, t); /*mat3 tbnMatrix = mat3(t.x, b.x, normal.x, t.y, b.y, normal.y, t.z, b.z, normal.z); et = tbnMatrix * v;*/ pos.w = gl_Position.w; }