struct Light { int type; vec3 direction; vec3 position; vec3 diffuse; vec3 ambient; vec3 specular; float intensity; };