#version 330

uniform vec3 light_position;
uniform mat4 proj, model, view;

in vec3 position;
in vec3 normal;

out fData {
	vec3 to_eye;
	vec3 to_light;
	vec3 normal;
} frag;

void main() {
	vec4 pos_camera = view * (model * vec4(position, 1.0));
	gl_Position = proj * pos_camera;
	frag.to_light = (view * vec4(light_position, 1.0)).xyz - pos_camera.xyz;
	frag.to_eye = -pos_camera.xyz;
	frag.normal = (model * (view * vec4(normal, 0.0))).xyz;
}
