A WebGL/Three.js experiment where a brush distorts an image with rippling, interactive trails.
These instructions will get your project running locally.
# 1. Clone the repo
git clone https://github.com/suzubu/displacement-brush.git
# 2. Navigate into the project folder
cd displacement-brush-v1
# 3. Install dependencies
npm install
# 4. Run the app
npm run dev
Built with:
- 🖌️ Brush interaction distorts background image
- 🌊 Rippling trail effects follow cursor movement
- ⚡ Real-time displacement mapping
- 🎨 Smooth, interactive visuals for creative coding experiments
- Uses custom fragment + vertex shaders for displacement
- Designed for modular experimentation with WebGL
- Vite handles fast local development and bundling
- Includes references to GPU-based rendering strategies
This project was inspired by:
- Henri Heymans' interactive distortion experiments
- Shadertoy & WebGL art demos
- Creative coding community projects
- ❌ Trails may not render consistently across all browsers
- 🔍 Performance depends heavily on GPU capabilities
- Add configurable brush textures
- Improve performance on mobile devices
- Add support for multiple images
- Experiment with displacement intensity sliders
displacement-brush-v1/
index.html
public/
.gitignore
package-lock.json
package.json
.git/
src/
MIT — feel free to use and adapt!
Made with ☕ + 🎧 by suzubu