Hi Jack, sorry for the slow reply; I was out of the office for a while. The half data type is designed to capture the luminance range that may occur in a typical scene, and it works well for that.
The range of normalized half numbers is approximately 6e-5 to 6e5. If you include denormalized numbers, the lower end moves to 6e-8. This gives you a dynamic range of about 1e10:1 or 1e13:1, enough to capture any scene that occurs in practice. The luminance of the sun is about 1.6e9 nits (cd/m2). If you scale the luminance values such that the sun maps to the maximum half value, then the smallest normalized half value represents a luminance of 1.5 nits. That is roughly equivalent to a white card illuminated by a candle half a meter away. The smallest denormalized half corresponds to 0.0015 nits, equivalent to a white card illuminated by a half moon. The optional "whiteLuminance" attribute in the OpenEXR file header defines the scale factor that relates pixel values to absolute luminance values. The attribute specifies the luminance of the RGB triple (1.0, 1.0, 1.0) in nits. (See header file ImfStandardAttributes.h) Most people care only about relative, not absolute luminance values. For relative luminance values the whiteLuminance attribute is omitted, and by convention the half values are scaled such that an 18% diffuse reflector maps to approximately (0.18, 0.18, 0.18). Florian Jack Mak wrote:
Hi experts, I have a question about the luminance range in EXR HALF format. As I understand, the luminance range of human vision is from 10 ^ -6 to 10 ^ 8 cd/m^2. However, the range of HALF is around 10 ^ -3 to 10 ^ 5 (positive), which cannot cover the whole real luminance range. How does EXR deal with this issue? Any references I could look up? Cheers, Jack _______________________________________________ Openexr-user mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/openexr-user
_______________________________________________ Openexr-user mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/openexr-user
