I am writing a tool to generate lightmaps using radiosity.
Right now I render a light as a white quad, but I want to expand it to multiple types, including spot, point and directional.
I am trying to think of how to support different lights types, but it is difficult.
I have two problems:
1 - As it is right now, any light that is visible, it will contribute to triangle color, even if it is kilometers away.
One idea I had was to use black fog, distance based, so distant lights/objects would gently fade to black, contributing little or nothing to the color.
Is this the best way or are there alternatives?
2 - What if I want a spot light, how to make only objects in the cone of the light get affected by it?
Or a point light, only affecting a certain radius?
Rendering the light as 3d cone/sphere would not work, unless I am missing something?