Creating a blur effect with rinzelight.
After releasing rinzelight 0.0.3, I wondered how hard addinga blur effect would be. So I started implementing it.
We are going to do two 1D blur. In first place, open a repl and start emacs (or vim). Use rinzelight.image for reading northern-lights.jpg
First, let’s start creating a blur-kernel function with two parameters, width and sigma. Rinzelight lacks of a kernel-rank constant, so let’s add it. Open src/rinzelight/constants and add the following line to the end:
Now, we are ready to write the blur-kernel function:
We get a horizontal kernel, which we will apply twice, one horizontally and one vertically. For getting a vertical kernel, we write one final function called transpose-horizontal-kernel:
And now, we are ready to write the blur effect:
And this is the result of a (blur (read-image "samples/northern-lights.jpg") 5 1.5 repeat-op rendering-quality):
And that's it!

