varying vec3 nnormal; varying vec3 ECposition; void main() { gl_TexCoord[0] = gl_MultiTexCoord0; float s = gl_MultiTexCoord0.s; float t = gl_MultiTexCoord0.t; float x = gl_Vertex.x; float y = gl_Vertex.y; float z = gl_Vertex.z; vec3 normal; if( abs(x) > abs(y) && abs(x) > abs(z) ) { normal = vec3( x, s, t ); } else if( abs(y) > abs(x) && abs(y) > abs(z) ) { normal = vec3( s, y, t ); } else { normal = vec3( s, t, z ); } nnormal = normalize( gl_NormalMatrix * normal ); ECposition = vec3( gl_ModelViewMatrix * gl_Vertex ); // nnormal = gl_Normal; gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }