4 ms·
I'm still waiting for someone to do a completely physically based renderer, and simulate the whole EM spectrum, not just the 3 colors we can see. Then you can
by fallingfrog 8y ago
I'm still waiting for someone to do a completely physically based renderer, and simulate the whole EM spectrum, not just the 3 colors we can see. Then you can model chromatic aberration, and the difference between fluorescent and incandescent lighting, and prisms.. you could call it a really really physically based rendering engine.
- modeless 8y agoHere you go: https://www.indigorenderer.com/unbiased-rendering https://www.indigorenderer.com/unbiased-rendering
- tlarkworthy 8y agoWow those diamonds and sky. I think I might be fooled by the diamonds
- baq 8y agoIf I didn't know, I'd think the diamonds are a photo.
- gmueckl 8y agoAnd if I would not know better I would still believe all the images in IKEA catalogues and all the shiny cars in the car commercials were real. They are not. IKEA started rendering product images about a decade ago and the portion of rendered images is ever increasing. I don't know of any recent car commercial in which the product was filmed instead of rendered. The interesing question is: who does even suspect?
- jdietrich 8y agoThe Mill Blackbird is one of the most profoundly weird objects in the modern world. http://www.themill.com/portfolio/3002/the-blackbird%C2%AE http://www.themill.com/portfolio/3002/the-blackbird%C2%AE
- RomainGuy 8y agoThere are several spectral renderers out there, such as Weta Digital's Manuka. I don't know if they bother with parts of the EM spectrum that are outside of the visible range though. I imagine UVs can be important to model in some situations.
- mattkrause 8y agoI think Mitsuba can be compiled to use (binned) spectra instead of RGB.
- electricslpnsld 8y agoWhen is Wenzel going to release Mitsuba 2? The current version of Mitsuba is in bug-fix-only mode. :( I loved Mitsuba's python bindings, made it super easy to pragmatically do cool renders.
- berkut 8y agoTo model fluorescence accurately, it's necessary to handle the non-visible spectrum in some way.
- magicalhippo 8y agoHandling non-visible spectrum isn't much of an issue, after all the wavelength used when path tracing can be whatever (some have used path tracing for sound). Though getting realistic data for non-visible parts may prove tricky depending on the material. IIRC the issue is that if you can ignore fluorescence, then reflection is simply an element-wise multiplication of the incoming light at the wavelengths under consideration[1] with the reflection coefficient of the material at those wavelengths. With fluorescence, that turns into a matrix multiplication, with obvious speed implications. If only a single wavelength is considered at a time, then the wavelength must change upon reflection, otherwise there's no way for the fluorescence to occur. That can also have performance issues, for example conversion coefficients to/from regular color spaces needs to be recalculated. At least that's my understanding having worked on a physically-based renderer which did do spectral rendering but not fluorescence. [1]: using for example binned wavelengths or stratified wavelength clustering.
- arketyp 8y agoI've long wondered how the world would appear if we had a different set of cone cell photoreceptors and if a full spectrum engine could be used to simulate that by projecting a different set of spectrum ranges to our eyes. It would still be "seeing in RGB" of course, but entirely different aspects of the world would become visible. I can already do this when converting an image to grayscale, giving different luminance weight to the different channels. It would be really interesting to arrange weights on the entire EM spectrum. (I'm reminded of some company that developed a pair of glasses for color-blind people which enabled them to see "color". I think it was a similar princple.)
- ttoinou 8y agoMultiple easy-to-understand things will happen : - colors that were previously the same could be now perceived different (a red car, a red flower, red light from LCD screen etc...) - White / grey would still exist but be less common, as a lot of white / grey light would now be close to a new receptor - Probably more distinguishable shades in the rainbow
- arketyp 8y ago>- White / grey would still exist but be less common, as a lot of white / grey light would now be close to a new receptor Granted, our trichromatic vision is likely adapted to the scenery of this earth. We are most senstive to hues of green for instance. That being said, all things equal, wouldn't new grays appears with the new cone sensitivies just as the old grays would now yield a color response? >- Probably more distinguishable shades in the rainbow What I'm curious about is those pure hues we perceive that are infact the result of composites of wavelengths. Those equalities would break up. Two things that were once, say, equally orange could suddenly have different hues in the new mapping.
- ttoinou 8y agoOh yes maybe the previous rainbow would not be found in the new rainbow, previous colors would maybe be changed that's a good question... I'm even wondering if we all "see" / "perceive" the same colors / have the same response to the same hue (i.e. is my blue the same as yours ?!) wouldn't new grays appears Maybe, my wild guess is just that gray would be more rare, if we define gray as the neutral color (de saturated = mix of every color, a kinda flat spectrum)
- alkonaut 8y agoSpectral renderers are pretty common. A naive implementation just assigns a random wavelength to the ray when tracing, which results in surprisingly little extra code to achieve all spectral effects such as abberation. The downside is that this is slow. An RGB-ray traces the whole spectrum for one ray (approximated by an RGB triplet). The single frequency ray does not. If you try to send a binned spectrum in the ray, what will happen is that as soon as you hit something refractive, they will go in different directions, so you no longer have a full spectrum. All the complexity in a spectral renderer over an RGB one lies in handling performance: How to avoid the performance problems when you lose coherence. Apart from that it’s actually often simpler than an RGB renderer despite being able handle all those fancy spectral effects. For a nice “reference” or “tutorial” one that isn’t plagued by the performance hacks needed to make it viable for large scenes, look at this one: https://github.com/TomCrypto/Lambda https://github.com/TomCrypto/Lambda