I’m currently experimenting with photon mapping for assessing specular reflections to compare against some tools for assessing reflected heat from fires.
One question that has come up is how does the photon distribution algorithm deal with photons that intersect with a “light” material? Do those photons reflect, and if so, what is the reflectivity of the light material?
It’s not something I’ve ever particularly thought about before, and I expect it makes little difference in most cases, but I’d like to be able to give a decent answer.
As far as I know (not being the author of the photon-mapping code), that the “light” material only emits. The reflectance is effectively zero, which is OK under most conditions for lighting simulaiton, but sometimes doesn’t do what you want if you’re trying to simulate far-infrared interactions. There isn’t really a sanctioned workaround, unfortunately. Mixing materials doesn’t work properly with light sources. The best you could do is use a “trans” surface right in front of the source that has some diffuse reflection.
as author of the photon mapping code I can confirm that light sources currently absorb photons unconditionally. This is indeed a marginal case that warranted an ad-hoc solution, but as Greg implies, it’s ambiguous what the “correct” behaviour should be, as light sources on their own are strictly emitters. I am of course open to revise this behaviour if there’s a good case for it.