shader-programming
Agent skill fromgamedev-skills/awesome-gamedev-agent-skills
Write game shaders from cross-engine fundamentals — the vertex→fragment pipeline, coordinate spaces, UV math, and common 2D/3D effects (tint, UV scroll, dissolve, outline, fresnel rim, vignette) in GLSL with HLSL equivalents. Use when the user mentions shaders, fragment/pixel shader, vertex shader, UV, GLSL, HLSL, or effects like dissolve, outline, or rim light.
How to install shader-programming
install shader-programming
# install the awesome-gamedev-agent-skills pack with the skills CLI
npx skills add gamedev-skills/awesome-gamedev-agent-skills# or add only this skill to Claude Code: copy the folder
skills/disciplines/shader-programming/
# into
~/.claude/skills/shader-programming/ (all projects)
.claude/skills/shader-programming/ (one project)
1# Shader programming (cross-engine)23Shaders are small programs that run **per vertex** and **per pixel** on the GPU.4The concepts — the pipeline, coordinate spaces, UVs, and how common effects are5built — port across engines; only the language dialect and built-in variable6names change. This skill teaches those portable fundamentals in GLSL with HLSL7equivalents; use `godot-shaders` (or Unity/Unreal material docs) for the exact8engine syntax and built-ins.910## When to use1112- Use to understand or write vertex/fragment shaders and to reason about UVs,13 coordinate spaces, and the GPU pipeline.14- Use to build common effects: tint/recolor, scrolling textures, dissolve,15 outlines, fresnel/rim light, vignette, color grading.16- Use to translate a shader concept between GLSL and HLSL, or between engines.1718**When *not* to use:** for an engine's exact shader language and built-ins, use19`godot-shaders` (Godot shading language) or the engine's material docs. For full20particle VFX systems, see `unreal-niagara`. For post-process *stacks*, defer to21the engine's renderer settings.2223## Core workflow24251. **Know which stage you're in.** The **vertex** shader transforms each vertex26 into clip space and passes data (UVs, normals) onward; the **fragment/pixel**27 shader runs per rasterized pixel and outputs a color. Most game effects live28 in the fragment stage.292. **Track coordinate spaces.** Positions move model → world → view → clip space;30…
Excerpt shown under the repository's Apache-2.0 license.
