Can Indigo simulate fluorescence?

General questions about Indigo, the scene format, rendering etc...
Post Reply
6 posts • Page 1 of 1
enkidu
Posts: 5
Joined: Tue Oct 31, 2006 12:43 am

Can Indigo simulate fluorescence?

Post by enkidu » Tue Oct 31, 2006 2:12 am

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

User avatar
boweeb007
Posts: 83
Joined: Sat Jul 08, 2006 5:00 am
Location: Columbus, OH (USA)

Post by boweeb007 » Tue Oct 31, 2006 4:40 am

The short answer is yes - you can at least fake it. A blackbody emitter might be the best solution. I'll have to let somebody smarter than I, and with more intimate knowledge of indigo, give you the long answer.

User avatar
Maluminas
Posts: 148
Joined: Fri Aug 18, 2006 11:06 am
Location: Canada>Quebec>Montreal

Post by Maluminas » Tue Oct 31, 2006 5:19 am

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 :) .

enkidu
Posts: 5
Joined: Tue Oct 31, 2006 12:43 am

Post by enkidu » Tue Oct 31, 2006 7:26 am

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! :)

User avatar
OnoSendai
Developer
Posts: 6244
Joined: Sat May 20, 2006 6:16 pm
Location: Wellington, NZ
Contact:

Post by OnoSendai » Thu Nov 02, 2006 11:30 pm

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 :)

enkidu
Posts: 5
Joined: Tue Oct 31, 2006 12:43 am

Post by enkidu » Fri Nov 03, 2006 3:46 am

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!

Post Reply
6 posts • Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest