The SIGGRAPH course "Moving Frostbite to Physically Based Rendering 3.0" is the first text on renderers, that I have read so far, that (directly) calculates luminance instead of radiance signals. All their lights are modelled with photometric instead of radiometric quanties as well. Any thoughts on this?
Radiometric vs Photometric
Well... Photometry is about what humans can see. Radiometry is about all rays, whether they are visible or not. So photometry is a subset of radiometry.
Commonly, computer graphics is about what we can see, so photometry looks better. However, when moving threw mediums, rays can evolve (they can loose energy for example, but not only...), so a ray that was first not in the visible range can become visible when moving threw mediums. The same kind of logic can be applied to matter that receive energy from various sources, even if all the sources have wavelengths out from the visible range. Nevertheless, real-time CG does not generally care about this: diffraction for example will change the ray direction, polarization will tend to accept or refuse ray from some wavelengths. So this can become very complex.
Also, in radiometry you express the flux in watt whereas in photometry you'll express this flux in lumen. But both deal with the same quantities. One is just focusing on human vision whereas the second one cares about everything.
I think for the real life light sources, once the watt and color temperature is known, should be able to reconstruct correspond radiometric unit. If art is not allow to input RGB value of a light source, then I think radiometric could be a good choice.
There is a post give a more detail comparison.(http://reedbeta.com/blog/radiometry-versus-photometry/).
There is a issue that confuse me which is, if photometric unit is used, then the coefficient for luminance calculation should be different, no?
29 minutes ago, guoxx said:coefficient for luminance calculation
What do you mean with this?
🧙
1 minute ago, matt77hias said:What do you mean with this?
float Luminance(float3 rgb) {
return max(dot(rgb, float3(0.212671f, 0.715160f, 0.072169f)), 0.0001f);
}
I mean those coefficients, since it's already photometric unit, if those coefficient is used for luminance calculation, does photometric curve function apply twice?
3 minutes ago, guoxx said:I mean those coefficients, since it's already photometric unit, if those coefficient is used for luminance calculation, does photometric curve function apply twice?
Nice observation! If you calculate luminance instead of radiance, you do not need to calculate the luminance anymore. So tone mapping is slightly simplified. Could eliminate some FLOPs.
🧙