El dom, 10-01-2016 a las 11:01 +0100, Tavmjong Bah escribió:
On Sat, 2016-01-09 at 22:27 +0100, ivan louette wrote:
The same is true for rendering gaussian blur in SVG filters and that causes very annoying steps in many cases like bevel and emboss effects.
This is more of a problem with the SVG specification when the input/output of each filter primitive is limited to 8 bit color. Using 8 bit inputs for the bump maps used by the lighting filter primitives results in the steps seen.
I was just looking at the new CSS Filter Specification. (SVG filters were pulled out of the SVG specification and put into there own spec so that CSS could use them fo HTML.) It does not mention the bit depth anywhere. I can propose at the next CSS/SVG joint working group meetings that all internal calculations inside filters should be done with higher precision (much like transformations are required to do). This would reduce significantly the problems you see.
Even though the calculations are done in higher precision, the results will still need some dithering when sent back to an 8 bpc output, otherwise the banding will still be there (perhaps a bit mitigated in some effects like bevel and emboss, but still there for gradients and gaussian blur).
Gez.