3 ms·
For basic direct lighting its not all that weird, but for any indirect lighting or translucency etc it is pretty whacky. I guess it basically boils down to most
by zokier 3y ago
For basic direct lighting its not all that weird, but for any indirect lighting or translucency etc it is pretty whacky. I guess it basically boils down to most real-world scenes having both fairly broadband light-sources and typical material spectrum being also relatively broadband, and in general having smooth spectrums. I'd imagine if real-world for some reason predominantly consisted of super spiky or notchy spectrums then the RGB rendering would struggle more. Or maybe not.
- magicalhippo 3y agoYes, indeed. If you have narrow-band light sources, say a mercury vapor lamp[1], and some material that only reflects a different narrow-band spectrum, then you should get very little reflection while with an RGB renderer you'll get some reflection. However as you point out, very few materials and lights are like this, hence why the approximation works well. [1]: https://en.wikipedia.org/wiki/Mercury-vapor_lamp https://en.wikipedia.org/wiki/Mercury-vapor_lamp
- zokier 3y agoyes, I suppose the 'baffling' part is partially from that theoretically there are infinitely (or nearly so) many different spectrums that produce some one specific color perception. So sort of probabilistically it could be seen as lucky that the spectrums of lights and materials align in a way that they do in real world. I wonder what are the pathological cases here. I'm imagining some setup where an object could appear variably green, yellow, or red; this could be maybe accomplished by different mixes of different red/green lasers and maybe white light. The paint might be bigger problem :)
- magicalhippo 3y agoThe eye also does a lot of work here, see color constancy[1]. BBC had a nice documentary on this back in the days, Colorful Notions[2], see the 19min mark for an experiment showing this in action. [1]: https://en.wikipedia.org/wiki/Color_constancy https://en.wikipedia.org/wiki/Color_constancy [2]: https://vimeo.com/11932120 https://vimeo.com/11932120 (sadly poor quality, better rips can be found)
- planede 3y agoI think translucency is mostly whacky because it's typically represented by a single alpha channel, and a tint is represented by a color added on top. Which is not how most transparent materials look like. I think we could do better, even in RGB by treating translucency as a 3x3 matrix instead of a single alpha scalar. Per-channel transparency could be represented by a diagonal matrix, but there is no reason that the current RGB basis would be adequate for representing transparent materials, hence the generalization to a 3x3 matrix. Then a tint wouldn't need to be defined additively, a green tinted glass could simply not let most of red and blue through.