#version 330 compatibility // make this 120 for the mac: // out variables to be interpolated in the rasterizer and sent to each fragment shader: out vec3 vN; // normal vector out vec3 vL; // vector from point to light out vec3 vE; // vector from point to eye out vec2 vST; // (s,t) texture coordinates // where the light is: const vec3 LightPosition = ????? void main( ) { vST = gl_MultiTexCoord0.st; vec4 ECposition = ????? vN = ????? vL = ????? vE = ????? gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }