Those interested in this article may be interested in experimenting with the Mitsuba renderer [1]. This is one of the best open-source spectral renderers, and it includes support for RGB and spectral modes (in addition to propagating things like polarization), all in one unified rendering pipeline with CUDA and non-CUDA backends.
I've been working with a hyperspectral camera (350-1000nm,4nm,12b,410x410,8Hz) lately and this article was quite interesting through that specific lens. I'm pretty much in love with hyperspectral imaging now and it's really opened my eyes to a whole new world of information and technology. Not super relevant, just thought I'd share. Also, this camera has really made me want a real-life tricorder.
It is baffling just how well RGB rendering works despite it being such a huge hack; many real-world scenes are practically indistinguishable between rgb and spectral rendering. But still I find the physically based rendering pretty disingenuous considering the huge gap still remaining between real-world and standard pbr although I accept that it is just a domain-specific term that shouldn't be taken too literally.
Just to spark discussion, here is one example of research aiming to reduce that gap and bring more physicality: https://ssteinberg.xyz/2023/03/27/rtplt/
Tristimulus values (X, Y, Z) are the dot product of the incoming spectral radiance (L) and the spectral sensitivity curves (x, y, z) of the three cone cell types:
The spectrum of the light reflected from a surface (Láµ£) is the pointwise product of the incoming spectral radiance (L) and the spectral reflectance curve of the surface (R): What RGB rendering does, is it replaces this equation (for x, y, z): with this (for x, y, z): Which are not equal in the general case. On the other hand, they are equal up to a scaling factor if L is a constant function, since in that case: where C and D are scaling factors that depend solely on L. The interpretation of this is that as long as the light source has a sufficiently flat spectrum (like sunlight!), the difference between spectral rendering and RGB rendering will be negligible.