shadertoy

Write and edit Shadertoy GLSL fragment shaders with syntax references and patterns.

52|7|Updated Jul 5, 2025
One-click install
npx skills add https://github.com/bfollington/terma --skill shadertoy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: shadertoy
Source: https://github.com/bfollington/terma/tree/main/skills/shadertoy
Command: npx skills add https://github.com/bfollington/terma --skill shadertoy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Writing GLSL fragment shaders for platforms like Shadertoy can be complex, requiring deep knowledge of syntax, mathematical patterns, and WebGL conventions. This skill simplifies the process by providing comprehensive guidance, common patterns, and critical rules, allowing you to focus on creative expression rather than technical hurdles.

Core Features & Use Cases

  • GLSL ES Syntax & Patterns: Access a rich library of GLSL ES syntax, common shader patterns (ray marching, noise, rotations), and mathematical techniques.
  • Shadertoy-Specific Guidance: Understand built-in inputs (iTime, iResolution, iMouse), multi-pass rendering, and critical GLSL ES rules to avoid compilation errors.
  • Debugging & Optimization: Get strategies for visualizing intermediate values, simplifying code, and optimizing performance for real-time graphics.
  • Use Case: You want to create a mesmerizing animated background for your website. Use this skill to quickly generate a ray-marched 3D scene with a procedural color palette, leveraging built-in patterns and optimization tips to achieve a smooth, visually rich effect.

Quick Start

Generate a simple Shadertoy GLSL fragment shader that draws a pulsating circle in the center of the screen, animated by iTime.

Frequently Asked Questions about shadertoy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I write GLSL shaders for Shadertoy?

GLSL shaders on Shadertoy use fragment shaders that access built-in inputs like iTime, iResolution, and iMouse to create procedural graphics. This skill provides syntax references, common patterns like ray marching and noise generation, and platform-specific conventions to help you write and debug shaders efficiently without compilation errors.

What are ray marching and distance fields in shader programming?

Ray marching is a procedural technique that traces rays through 3D space using distance fields to render complex geometry without meshes. Distance fields store the minimum distance to geometry at each point, enabling efficient volumetric rendering. This skill covers ray marching patterns and distance field setups for creating procedural 3D scenes.

Can I create animated procedural graphics with WebGL shaders?

Yes, WebGL shaders enable real-time procedural graphics by leveraging the GPU. This skill teaches domain repetition, multi-pass rendering, and procedural texture techniques combined with iTime to animate scenes smoothly, letting you build generative art and dynamic visual effects without pre-rendered assets.

What GLSL ES syntax and mathematical patterns are essential for shader development?

GLSL ES fragment shaders require knowledge of vec4 types, normalization, rotations, trigonometric functions, and noise algorithms. This skill provides a library of common patterns—rotations, Perlin noise derivatives, color palettes—and critical syntax rules to avoid errors and optimize performance for real-time rendering.

How do I debug and optimize shader performance?

Shader debugging involves visualizing intermediate values and simplifying code incrementally to isolate issues. This skill covers visualization strategies, performance bottlenecks specific to fragment shaders, and optimization techniques like reducing branching and simplifying mathematical operations to maintain smooth frame rates.

Does Shadertoy work with standard GLSL or require specific syntax?

Shadertoy uses GLSL ES with specific built-in uniforms (iTime, iResolution, iMouse, iChannel inputs) and coordinate system conventions that differ from desktop OpenGL. This skill explains Shadertoy-specific input conventions, multi-pass rendering setup, and critical GLSL ES rules to write compatible fragment shaders.