Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Er, theoretically, no. I don't know what Photoshop's implementation is, but computing the cumulative effect of the adjustment layers will result in less error than applying them in sequence. That's part of why GEGL is being written.

[Edit] I'm referring to the fact that fixed-precision arithmetic loses (well, stochastically speaking) precision with each operation. You can condense the layer effects and apply the 8-bit operation only once to minimize error. This is especially true if your layer combinator works at a higher level of precision than the layer operation itself.

[Edit 2] As an example, consider the layer operations "Multiply each channel by 0.5" and "Multiply each channel by 2." Applying these layers separately to a value loses something like a half bit of precision (more for smaller values, less for larger ones). A layer combinator could multiple 0.5 by 2 and yield ~1.0 (in general, subject to the floating point precision which is generally finer than the image precision). That results in a smaller error.



I think you may be secretly sneaking a step whereby the adjustment layers all run with more bits then only collapse back out to 8-bit at the end to get their higher quality. If you've fixed your code to work with the adjustment layers, you might as well fix it to work that way in general, which I think what GEGL is . It's still not the "adjustment layers" that are fixing anything, it's the fact that you're actually retaining the bits. Pure 8-bit adjustment layers will still look bad, and 12/14/16/8+-bit normal layers will look much better with and without adjustment layers. You can't escape from the fact that computing with too few bits necessarily entails information loss.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: