BrushCue

Custom Spacial Shader Online

Click to get started

tap to choose a file

What you can expect

Write your own spacial displacement shader to warp every pixel of an image. Edit a short WGSL function body using position and sample() to create effects like ripples, waves, swirls, bulges, and more.

Custom Spacial Shader animation preview

Related tools

More BrushCue tools that fit this workflow.

See all tools →

Included in collections

Browse by category

Online Image Distortion Tools

Frequently asked questions

What is a custom spacial shader?
A small WGSL function that runs for every output pixel. It receives the pixel position and reads the source image with sample(), letting you build your own warp effects.
What effects can I make?
Ripples, waves, swirls, bulges, magnification, directional drifts, and any other displacement or resampling effect you can express in WGSL.
What does max displacement do?
It tells the renderer how far pixels can move so edges and tiles render correctly. Keep it at or above your largest offset; the demo derives it from the amplitude.
What file formats can I export?
You can export as PNG, JPEG, WebP, TIFF, BMP, or HEIC.
Is this tool free to use?
Yes — completely free, no account needed. Your images are processed entirely in your browser and never uploaded to a server. Downloads have no watermarks.

For developers

Use Custom Spacial Shader from Python

Open the Jupyter notebook example to see how to run this tool from the BrushCue Python API, inspect the processing steps, and adapt the workflow for scripts or batch image jobs.

View Python notebook

Build your own

Create projects with your custom presets

Sign in to save work, organize projects, and keep your favorite tool setups ready to go.

Sign in to create projects