The Blur Kit comes with (hopefully) every type of blur you will ever need, and probably some that you won't. This collection of blurs was created with flexibility and balance in mind. Blurs can be expensive operations, so dialing in the performance is an important part of using them in Spark. Many of the blurs in the collection have a step input to define the number of iterations to run in the shader. A high number of iterations will give you a smoother effect, but at the cost of performance. The idea behind the step input is to allow you to find the balance between speed and quality for your specific application. The demo project is a simple tap-to-change effect cycler to preview all of the blur types, as well as some bonus effects (bloom and glint) that are built with the blurs. Blur--Directional: One-dimensional, variable-step blur with the option to set the direction vector. Blur--Disc: Poussin disc blur with some static noise. Number of steps are fixed because the Poussin disc values are hard-coded. Blur--Barrel: A nice radial lens blur. As a bonus, negative strength values will give you a pincushion blur! Blur--Circular: Blurs pixels into a circular shape. You can get some cool geometric stuff going on by disabling highp precision. Blur--Gaussian: Fixed-step, two-pass Gaussian blur. It's fast, but it's even faster when combined with low-size render passes. If you need extreme blur, this is the patch to use. Blur--Box: Standard two-pass linear blur. It looks nice and it's fast. Blur--Radial: Blurs the texture outward from the center point. Blur--Tilt: Mimicks a tilt-shift "toy" camera lens. It can be set to vertical or horizontal, and has a steps input. Center point can be set, and will automatically use the corresponding value based on the orientation. Blur--Median: Gets the median (https://en.wikipedia.org/wiki/Median_filter) pixel value. Could be used for noise removal, skin smoothing, or artistic effects. Blur--Cross: Simply two perpendicular directional blurs mixed together. Can be used to create a kira-like glint effect, or more generally as a textural artistic effect.
This is a collection of procedural noise generation shaders, written in Spark SL. On the surface, noise is a great way to add natural feeling movement to your effects. It can also be used as a foundation for building complex shaders like fire, fluids, rocks, and extra-dimensional objects! Noise--Curl: This type of noise is commonly used to create smoke, flame, and fluid shaders. It can be used in conjunction with recursive normal distortion (as seen in FlowKit) to perturb a texture over time. Noise--Worley: A type of cellular noise, similar to Voronoi. It can be used to create watery shaders, cracked clay, or simply for artistic effect. Noise--Simplex: The speedy cousin of Perlin noise. It's the classic procedural noise, with an almost endless list of applications. Noise--Fractal: Simplex noise with fractal behavior. You can set the level of detail depending on the desired level of grit or smoothness. Noise--Fast: Super simple, fast noise that works well at extreme scales (very low or very high). It can be used to create static, streaks, or dancing light. Noise--Golden: Static noise driven by the golden ratio φ.
"Caustics" is the term used to describe light that is refracted by a curved surface. In this case, it's specifically the caustics seen on a lightly turbulent swimming pool. This is a simple demo project for a procedural caustics shader. It's tile-able, and very fast compared to other methods for generating caustics (like Voronoi noise). Configuration is simple - just two inputs: scale and speed. The output is a grayscale image that you can do what you like with. The demo shows how to use it as a distortion map and apply some magical colors to it.