I'm new to Indigo, but intrigued by the possibilities of it's spectrally-based simulation. I don't have much of a physics background, but was wondering if the phenomena of fluorescence or phosphorescence are possible within Indigo's lighting model, or if they require a more complex photon model?
http://en.wikipedia.org/wiki/Fluorescence
http://en.wikipedia.org/wiki/Phosphorescence
Can Indigo simulate fluorescence?
Indigo doesnt simulate sub-atomic physics so it cant simulate fluorescence or phosphorescence with physical accuracy. I know molecular physics and molecular spectrometry and its so complex i doubt it even can be simulated by computer in the way you want
.
But a meshlight emitting colored light is a believable way to fake those effects
.
But a meshlight emitting colored light is a believable way to fake those effects
I was wondering whether the .nk spectral data files hold enough information to be able to define a material that exhibits fluorescence, but having read some more about what's in the .nk files, I don't think you can.
My niaive understanding of flourescence is that it's caused by incoming light having its spectrum shifted down for emittance - for example, UV paint being used to shift incoming ultraviolet light down into the visible spectrum when emitted. So, can Indigo materials be set up to perform this shift? I'm not sure how this shift would be specified - would a constant be enough (Stokes shift?) or would you need a wavelength-dependent input/output map?
I'm sure there are lots of ways of "faking" fluorescence - but one of the nice things about Indigo it seems is that it can handle a wide range of optical phenomena with reasonable accuracy without having to fake it!
My niaive understanding of flourescence is that it's caused by incoming light having its spectrum shifted down for emittance - for example, UV paint being used to shift incoming ultraviolet light down into the visible spectrum when emitted. So, can Indigo materials be set up to perform this shift? I'm not sure how this shift would be specified - would a constant be enough (Stokes shift?) or would you need a wavelength-dependent input/output map?
I'm sure there are lots of ways of "faking" fluorescence - but one of the nice things about Indigo it seems is that it can handle a wide range of optical phenomena with reasonable accuracy without having to fake it!
As far as phosphorescence goes, Indigo, like most (all?) ray tracers, only simulates a steady-state environment. While a steady state of phosphorescence is possible, the phosphorescent effect probably wouldn't be visible, e.g. a glow in the dark object under lamp light.
With fluorescence, an empirical simulation might be possible, but I'm not sure if it's possible (certainly not easy
) to actually simulate the underlying quantum mechanics.
I think modeling fluorescence would be rather easy, just shift the reflected wavelength upon reflection from certain materials. (probably with some change in radiance as well)
The big drawback to this approach would be the cost of simulating the non-visible ultraviolet wavelengths however. Work done simulating non-visible wavelengths = less work on simulating visible wavelengths = longer render time
With fluorescence, an empirical simulation might be possible, but I'm not sure if it's possible (certainly not easy
I think modeling fluorescence would be rather easy, just shift the reflected wavelength upon reflection from certain materials. (probably with some change in radiance as well)
The big drawback to this approach would be the cost of simulating the non-visible ultraviolet wavelengths however. Work done simulating non-visible wavelengths = less work on simulating visible wavelengths = longer render time
Cool - I've been reading more about it and I agree that it would require extra computation. There's quite a good survey of the state-of-the-art from a few years ago here:
Kate Devlin, Alan Chalmers, Alexander Wilkie and Werner Purgathofer.
STAR: Tone Reproduction and Physically Based Spectral Rendering.
September 2002.
download: http://www.cs.bris.ac.uk/Publications/P ... 000662.pdf
It sounds like one of the major problems, apart from the extra computation of non-visible light wavelengths you mention, is that of choosing an efficient method of representing your light spectra, be it with matrices, polynomials or other basis functions so that the maths is accurate enough to represent the peaks, but doesn't take too long. The material definitions then require some sort of "re-radiation matrix" to map input spectra to output spectra. In fact, because spectra can only be shifted down due to energy loss, you only need half a matrix
I agree that if you did have such a system then you wouldn't want to waste CPU cycles calculating non-visible light - maybe you could do some sort of pre-rendering scan of the scene to find the highest wavelength of light that occurs and then just work from there down to infra-red? If that makes any sense!?!
Anyway - I think I've had my question answered - Indigo can't currently simulate fluorescence. Does anybody know if there _any_ spectral renderers available that can do this?
Thanks!
Kate Devlin, Alan Chalmers, Alexander Wilkie and Werner Purgathofer.
STAR: Tone Reproduction and Physically Based Spectral Rendering.
September 2002.
download: http://www.cs.bris.ac.uk/Publications/P ... 000662.pdf
It sounds like one of the major problems, apart from the extra computation of non-visible light wavelengths you mention, is that of choosing an efficient method of representing your light spectra, be it with matrices, polynomials or other basis functions so that the maths is accurate enough to represent the peaks, but doesn't take too long. The material definitions then require some sort of "re-radiation matrix" to map input spectra to output spectra. In fact, because spectra can only be shifted down due to energy loss, you only need half a matrix
I agree that if you did have such a system then you wouldn't want to waste CPU cycles calculating non-visible light - maybe you could do some sort of pre-rendering scan of the scene to find the highest wavelength of light that occurs and then just work from there down to infra-red? If that makes any sense!?!
Anyway - I think I've had my question answered - Indigo can't currently simulate fluorescence. Does anybody know if there _any_ spectral renderers available that can do this?
Thanks!
Who is online
Users browsing this forum: No registered users and 1 guest
