It's great that Spark has audio visualizer capabilities now! However, developing audio reactive effects can be very tedious. The levels are different in every song, and for some reason the energy meter output is ~100 times smaller in the simulator. This goal of this collection is to make the creative process easier by solving those issues and making it easier to quickly visually debug. It gives a you a new layer of consistency for audio-reactivity in your effects! POP_EZAudioViz Creates a bar graph of audio bands and energy levels. Meant for development purposes since it includes the energy meter AND analyzer within the patch. This patch is meant for quick drag & drop action. It includes the energy meter and audio analyzer so there's no need to connect a bunch of wires. Inputs Audio: Audio signal Outputs Audio: Audio signal Visualizer: A very functional bar graph texture. Send this to a texture slot or shader render pass to see it! POP_EnergyNormalizer **The energy normalizer re-maps the energy values into a 0–1 range.** It samples energy levels over time to determine a peak, then uses that to re-map the energy levels (AKA normalization). It gives you a nice clean number to work with in your shaders! Having a normalized energy value will make your effect more consistent between songs, and it will save you from worrying about the differences between the simulator and devices. Inputs Energy: Output from the energy meter patch. Outputs Normalized Energy: Sanitized / normalized / remapped / 0–1 energy. Energy Peak: Highest energy level recorded. Used internally for normalization, but can also be fed into the EZAudioViz patch for improved behavior. Accumulation: Cumulative value driven by the normalized energy. Ranges from 0–1. POP_AnalyzerNormalizer The analyzer normalizer gives you band signals that you can depend on! The output values will always be in the 0–1 range. No more magic numbers and guesswork! It is similar to the energy normalizer, but it works on the frequency band outputs of Spark's audio analyzer patch. Inputs Bands 1–8: Outputs from audio analyzer. Outputs Bands 1–8: Normalized band values POP_AudioVisualizer Creates a bar graph of audio bands and energy levels. Very similar to the EZAudioViz patch, but with additional inputs to allow for visualization of normalized values. Inputs Energy: Output from the energy meter patch. Bands 1–8: Outputs from audio analyzer. Outputs Visualizer: A very functional bar graph texture. Send this to a texture slot or shader render pass to see it! ========= Spark Spatial Audio Enhance your plane tracker effects with these spatial audio patches! The user's distance from an object will determine how loud the sound is (just like real life). POP_SpatialAudio Inputs Target Object: Object to determine distance. Focal Null: Null object placed in the focal distance object. Camera Null: Null object placed in the camera object. Distance Min: Minimum distance for audible sound. Distance Max: Maximum distance for audible sound. Outputs Volume: Volume level to set on a speaker POP_GazeTowardObject Inputs Target Object: The object to get gaze proximity for. Focal Null: Null object placed in the focal distance object. Camera Null: Null object placed in the camera object. Outputs Gaze Proximity: Normalized value (0–1) representing how close the angle of gaze is to the target object. Zero means the gaze is facing exactly away from the object, and one means the gaze is directly facing the object.
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.
A compilation of five projects using flowmap technology to generate different shader effects in Spark AR