Luminous efficacy definitions in “color.h”

Dear Radiance users,

I was reading through old vintage digests and I stumbled upon the following question from John Mardaljevic:

O.K. so far, but the luminous efficacy definitions in “color.h” have me confused:

  		/* luminous efficacies over visible spectrum */

#define MAXEFFICACY 683. /* defined maximum at 550 nm /
#define WHTEFFICACY 179. /
uniform white light /
#define D65EFFICACY 203. /
standard illuminant D65 /
#define INCEFFICACY 160. /
illuminant A (incand.) /
#define SUNEFFICACY 208. /
illuminant B (solar dir.) /
skylight /
combined sky and solar */

It looks as if the zenithbr for a cloudy sky is defined in terms of lum eff = 203 lum/W, whilst the multiplier in “dayfact” is 179 lum/W. Am I missing the point somewhere? I have tried, without much success, to locate papers/texts on sky models and luminous efficacy values for my own notes. I would appreciate some recommendations if you have them to hand.

Answer from Greg:

The efficacy values listed in color.h are over the visible spectrum only, so may disagree with some other values you have seen. You are correct in pointing out the discrepancy between the value used in gensky.c vs. the value used in the dayfact script. To reproduce the original photmetric values, these two factors should be identical if a grey sky were used. Since the sky is not white, we should be using a different value to account for the relative efficiency of the sky’s spectrum, coupled with an appropriate RGB multiplier on the source in the scene file. Unfortunately, I did not have a good spectral curve for the sky, so I used the CIE standard for the combined sun and sky, D65. Now that you raised the topic for reexamination, though, I see that the choice of D65EFFICACY was not a good one because the efficacy of the sky should be lower than white light due to its bluish tint, not higher.

The correct sky efficacy should be something like 162, which when combined with an RGB color of .8 .9 1.3 would yeild approximately the correct result. Since I don’t know what it really should be, you can adjust your RGB color to 1 1.126 1.626 and you should get the right luminances, anyway.

I am sorry if I am asking silly questions but does it mean you should be using something else instead of 179 lm/W for daylighting? Even if you are assigning RGB to your sky to adjust the distribution?

Also, how do these new RGB coefficients get computed from this? I know that there are a lot of posts about “179 in Radiance” and “RGB coefficients” but I am just curious for which applications are those other efficacies and RGB coefficients necessary?


Only WHTEFFICACY is used to convert between photometric and radiometric values in Radiance, in order to avoid issues. The other efficacy conversion factors appear in exactly two places in gensky, and are not used in converting input values.

Effectively, the 179 factor is used as a standard scalar for going to and from photometric quantities, so it really doesn’t matter what this factor is as long as it is the only one used.

Hi Greg,

thanks for your answer. If I understand correctly the other efficacies are there for computing the zenith brightness and horizontal radiance in gensky. Was the efficacy of the sky ever changed to 162, like suggested in your previous answers?


Yes, that’s correct. But no, the sky efficacy was not changed, though it looks like I added a note stating that the correct value is more like 110. It is still equated to D65EFFICACY in src/common/color.h.

All clear now, thanks for your answer.