# Optimized-Bilateral-Filter
![overview.png](https://git.teridax.de/teridax/Shadertoy-Shaders/raw/branch/main/Optimized-Bilateral-Filter/overview.png)

In part 1 you can the example image with noise applied to it. In sector 2 you can see the denoised image and in sector 3 is the original unfiltered image.

A biliteral filter is essentially a gaussian blur filter with an extra weight applied per pixel.
This weight is a the luminance range between the target pixel to filter and the sourounding pixels passed into
a gaussian weight function.

# Optimization
Instead of applying a very costly gaussian blur filter we can optimize it by using a tent blur filter instead.
This allows to speed up the performance by replacing the gaussian weight function with a tent blur kernel.
Additionally we can optimize the squareroot of the gaussian weight function for the luminance range away.
