Shaders explained#

Available since version 3.82

Shaders are GPU-powered visual effects that transform how layers and items look in real time. They can be applied in two ways:

  • FX Shader — applied as a layer effect on Overlap Groups (available in KWGT, KLWP and KLCK)
  • Animation Shader — applied as an animation action, reacting to scroll, gyroscope or other triggers (KLWP and KLCK only)

Both paths use the same shader library and parameters.

How to apply a shader#

As a Layer FX#

  1. Select an Overlap Group
  2. Go to the Layer tab
  3. Set FX to Shader
  4. Pick a shader type from the Shader dropdown
  5. Adjust Intensity and the shader-specific parameters

As an Animation#

  1. Select an item on the root layer
  2. Go to the Animation tab, add a new animation
  3. Set Action to Shader (or Shader Inverted)
  4. Pick a shader type from the Shader Type dropdown
  5. Set Param 1 and Param 2 default values
  6. The animation will drive shader Intensity (or Scroll for Scanline/Scanline Fade) based on the trigger

Samples#

Common parameters#

Every shader has these base controls:

ParameterRangeDescription
Intensity0–100Overall effect strength. At 0 the original image is shown unchanged.
Param 10–100Shader-specific, see table below.
Param 20–100Shader-specific, see table below.
ScrollanimatedUsed by shaders that support continuous animation (Scanline, Halftone, Heat Haze, Film Grain, VHS Glitch). Driven automatically when used as animation.
Color 1colorPrimary color, used by some shaders. The alpha channel may control a secondary effect (e.g. fringe amount).
Color 2colorSecondary color, used by Duotone and Halftone.

Not all shaders use all parameters — the editor only shows the ones relevant to the selected shader.

Shader reference#

Vignette#

Darkens the edges of the image, drawing focus to the center.

ParameterLabelEffect
IntensityIntensityHow dark the vignette gets at the edges
Param 1SoftnessEdge falloff — 0 is a hard edge, 100 is a very gradual fade
Param 2RadiusSize of the clear center area — 0 is a small opening, 100 covers most of the image

Scanline#

Overlays horizontal scan lines that simulate a CRT monitor. Supports scrolling animation and color fringing.

ParameterLabelEffect
IntensityIntensityVisibility of the scan lines and brightness boost
Param 1SpacingDistance between lines — 0 is very tight (2px), 100 is wide (8px)
Param 2HardnessLine sharpness — 0 is a smooth sine wave, 100 is a hard on/off pattern
ScrollScrollMoves the line pattern vertically for animation
Color 1ColorFringe color — the alpha channel controls how much chromatic aberration (color separation) is applied

Scanline Fade#

Same visual effect as Scanline, but when used as an animation the intensity fades in/out instead of scrolling.


Pixelate#

Reduces the image to large pixel blocks with optional color quantization and shape control.

ParameterLabelEffect
IntensityIntensityPixel block size — 0 shows the original image, 100 creates large 64px blocks
Param 1ShapeBlock shape — 0 is square, 100 is circular (rounded dots)
Param 2Color DepthColor quantization — 0 keeps full color, 100 reduces to 4 levels per channel (retro look)

Duotone#

Maps the image to two colors based on luminance, like a duotone print.

ParameterLabelEffect
IntensityIntensityBlend between original image and duotone output
Param 1ThresholdLuminance split point — 0 maps most pixels to the shadow color, 100 maps most to the highlight color
Param 2SpreadTransition sharpness — 0 is a hard cutoff between colors, 100 is a smooth gradient
Color 1Shadow ColorColor applied to dark areas
Color 2Highlight ColorColor applied to bright areas

CRT Curvature#

Simulates the barrel distortion and edge characteristics of a curved CRT screen.

ParameterLabelEffect
IntensityIntensityAmount of barrel distortion (screen curvature)
Param 1Edge DarkEdge vignette on the curved surface — higher values darken edges more
Param 2Corner CropHow aggressively corners are cropped to black — 0 is a sharp cutoff, 100 is a wide soft fade
Color 1Tint ColorScreen tint — the alpha channel controls how much tint is applied to darkened edges

Halftone#

Converts the image to a dot pattern like newspaper print, with configurable dot shape and rotation.

ParameterLabelEffect
IntensityIntensityDot spacing — 0 shows the original image, higher values create larger, more spaced-out dots
Param 1RotationPattern rotation angle — 0 to 100 sweeps through a full 360 degrees
Param 2Dot ShapeDot geometry — 0 is circular, 100 is square
ScrollScrollContinuously rotates the pattern when animated
Color 1Dot ColorColor of the printed dots
Color 2Background ColorColor of the background between dots

Heat Haze#

Creates a wavy horizontal distortion that simulates heat shimmer or underwater effects.

ParameterLabelEffect
IntensityIntensityDistortion amplitude — how far pixels are displaced
Param 1FrequencyWave frequency — 0 is slow, wide waves, 100 is rapid, tight ripples
Param 2ComplexityWave layering — 0 is a simple sine wave, 100 blends in a second wave for more organic movement
ScrollScrollAnimates the wave phase for continuous motion

Film Grain#

Adds photographic noise to simulate analog film texture.

ParameterLabelEffect
IntensityIntensityGrain visibility — how bright/dark the noise is
Param 1ScaleGrain size — 0 is fine single-pixel grain, 100 is coarse chunky blocks
Param 2ContrastGrain contrast — 0 is soft, subtle noise, 100 is harsh, punchy grain
ScrollScrollRandomizes the grain pattern each frame for animation
Color 1Grain TintTint color for the grain — the alpha channel controls how much tint is applied (0 alpha = white noise)

VHS Glitch#

Simulates VHS tape artifacts with horizontal tears, jitter, and chromatic aberration.

ParameterLabelEffect
IntensityIntensityControls tear severity and chromatic aberration spread
Param 1Tear FreqNumber of horizontal tear bands — 0 is a few wide bands, 100 is many narrow bands
Param 2JitterRandom horizontal pixel displacement — 0 is stable, 100 is chaotic shaking
ScrollScrollRandomizes which bands tear each frame

Tips#

  • Combine with animations: Use Scanline or Film Grain with scroll-based animation for a constantly shifting retro effect.
  • Stack shaders: Apply a CRT Curvature FX on the layer, then add a Scanline animation for a full CRT simulation.
  • Use formulas: All shader parameters support Kustom formulas, so you can tie intensity to battery level, time of day, or any other data source.
  • Performance: Shaders are GPU-accelerated and have minimal impact on battery. On Android 13+ they use AGSL (Android Graphics Shading Language), on older devices they fall back to OpenGL ES 3.0.



Privacy Policy