Right about when I’d expect it to get into the interesting technical details, the article pivots to marketing fluff. Hoping for a follow-up that dives in.
You can achieve a gaussian blur effect using an infinite impulse response thing[1]. Some very clever people at IBM came up with the idea, and some other very clever people translated that code to Javascript and stuck it on GitHub for the rest of the world to use[2].
Not completely buying this. He's claiming that it's better to do vector based feathering, but it's not at all clear that his approach isn't just as computationally expensive, or more. Filters do require a lot of calculations, but they are embarrassingly parallel and also you get help from the Convolution Theorem.
Not just that, but two 1D iterated box blurs, requiring an amount of work per pixel that is constant with respect to the blur radius—as opposed to quadratic for the naive convolution, or linear for the 2D-to-1D transformation with a full Gaussian kernel.
What do you mean with a ”simple” gradient? The difficult part is that it has to follow not just the outline of the shape, but also the average color of the shape around a certain point. That must get very tricky with arbitrary shapes.
I'm a bad person who read too many old comics - I thought this was a Victorian history snippet about tar-less "tarring & feathering", perhaps with honey for a gourmet twist ...
Right about when I’d expect it to get into the interesting technical details, the article pivots to marketing fluff. Hoping for a follow-up that dives in.
You can achieve a gaussian blur effect using an infinite impulse response thing[1]. Some very clever people at IBM came up with the idea, and some other very clever people translated that code to Javascript and stuck it on GitHub for the rest of the world to use[2].
[1] - https://en.wikipedia.org/wiki/Infinite_impulse_response
[2] - https://github.com/nodeca/glur
Not completely buying this. He's claiming that it's better to do vector based feathering, but it's not at all clear that his approach isn't just as computationally expensive, or more. Filters do require a lot of calculations, but they are embarrassingly parallel and also you get help from the Convolution Theorem.
Looking at the performance it's quite clearly much faster than equivalent effects done in traditional web browser rendering or in design tools.
The 2D Gaussian blur is separable into 2 1D convolutions which is much faster than the 2D version so less of a performance issue.
Not just that, but two 1D iterated box blurs, requiring an amount of work per pixel that is constant with respect to the blur radius—as opposed to quadratic for the naive convolution, or linear for the 2D-to-1D transformation with a full Gaussian kernel.
http://elynxsdk.free.fr/ext-docs/Blur/Fast_box_blur.pdf
Neat didn’t know that.
I'm confused, can't you accomplish the same effect with simple gradient (+ offset)?
What do you mean with a ”simple” gradient? The difficult part is that it has to follow not just the outline of the shape, but also the average color of the shape around a certain point. That must get very tricky with arbitrary shapes.
I'm a bad person who read too many old comics - I thought this was a Victorian history snippet about tar-less "tarring & feathering", perhaps with honey for a gourmet twist ...