+virtual IncomingLight get_incoming_light(int index, vec3 world_pos)
+{
+ vec4 light_pos = light_sources[index].position;
+ vec3 rel_pos = light_pos.xyz-world_pos*light_pos.w;
+ float d = length(rel_pos);
+ return IncomingLight(rel_pos/d, light_sources[index].color);
+}
+