Ghostty Shaders

This canvas renders ghostty shaders using WebGL. Use the menu in the top left to enable or disable. Check the debug menu in the bottom right.There will be glitches.

Loading shaders...

There are some slight differences that can cause issues. Many Ghostty shaders don't load directly.

Often the cleanup is just explicitly setting types correctly. It seems like WebGL does not like coercing integers to float, while Ghostty does this fine.

Thanks to 0xhckr for collecting some excellent shaders, some of which I load here.

Available Uniforms

UniformTypeDescription
iTimefloatElapsed time in seconds
iResolutionvec3Canvas width, height, aspect ratio
iFocusint1 when focused, 0 when blurred
iTimeFocusfloatiTime when last focused
iCurrentCursorvec4Current cursor (xy = position, zw = size)
iPreviousCursorvec4Previous cursor (xy = position, zw = size)
iCurrentCursorColorvec4Cursor color (RGBA)
iTimeCursorChangefloatiTime when cursor last moved
iChannel0sampler2DBackground texture (optional)

© 2025 Martin Emde. All rights reserved.