On Sat, 2009-12-19 at 18:08 +0300, ??????? ?????? wrote: > No - to that you are meaning that this effect depends on absolute value of brightness of objects, it depends on their brightness relative to middle level of the scene. I didn't talk about absolute brightness. It depends on how much brighter the area is than the maximum representable value. And that information is lost. > >Wrong, all information about brightness levels exceeding a certain value > is typically lost when converting to the usual [0, 255] integer range (I > think that in this context it's better to explicitly mention that > integer range rather than use the more abstract [0, 1]). That lost > information is exactly what would have been needed for the effect. > > You mean clamping to [ 0, 1 ] range - but I mean tone mapping to [ 0, 1 ] range. Tone mapping - if you don't know, it is operator that converts all points from [ 0, max_float ] to [ 0, 1 ] range, so that +infinity is represented by 1, and 0 by 0. Bijections in reals are fine, but in practice we're talking about just 256 discrete values. And the filter would have to assume some particular mapping. Are you claiming all films use some mapping different from normal gamma that does preserve information about brightness values which cannot be represented on normal output devices? If so, then which one? If you still want to argue this then specify an exact mapping (from each value 0-255 to brightness) that you think should be assumed. > And even if the brightness simply clamped to [ 0, 1 ] range - in games, and films - faster of all - also, it is done so that maximal brightness not exceeds 1. So and with tone mapping and clamping, if it done correctly, relativity of objects brightnesses is preserved. It's not done that way because the dynamic range is insufficient. If a light source got the value 255 then trying to preserve relative brightnesses would make the rest of the picture too dark.