Toon shading in bands with a rim light
In your harnessGodot shaderMIT
Cel-shade a lit mesh in a chosen number of flat light bands with tinted shadows and add a view-dependent rim that is stronger on the lit side. Use for stylized characters, props and toy-like scenes.

What it takes and gives
- Shader type
- spatial
- Parameters
- base_color (vec4 = 0.32, 0.55, 0.85, 1), shadow_tint (vec4 = 0.18, 0.16, 0.36, 1), bands (int = 3), band_softness (float = 0.04), rim_color (vec4 = 1, 0.93, 0.78, 1), rim_width (float = 0.32), rim_strength (float = 1.4), rim_light_bias (float = 0.65)
- Result
- A mesh lit in flat colour bands with tinted shadows and a bright edge toward the light.
- Renderers
- compatibility: compiled and rendered, forward plus: not verified, mobile: not verified
- Placement
- res://baltor/godot_shaders/toon_band_rim/
Limits. Stylized and not physically based. Each light adds its own bands, so several lights stack into extra steps. Ambient light from the environment is added unbanded. Band edges alias at grazing angles without multisample anti-aliasing.
Details
- Kind
- Godot shader
- Engine
- Godot 4.3 or later
- Files
- 11 files, 53.3 KB
- Licence
- MIT
- Declared effects
- reads files, runs commands
- Checked with
- Godot 4.7.2, opengl3 compatibility (Mesa llvmpipe, Xvfb)
- Checks
- contract static, engine run, engine log clean, shader in scene, capture written, render not uniform, shader changes pixels
- Techniques
- Half-Lambert diffuse term, Quantized lighting with a smoothstep band edge, View-angle rim term (1 - N.V) masked by the light term
- Tags
- godot shader, spatial, toon, cel shading, rim light, stylized, custom light function
- Identity
library.supply.creative_originals.633094c0d497056343c38df7.354f026932d89ba5- Version
354f026932d89ba55a18d2954504d48a7135ca31cb142991508c00401c40ba2f
The version is the SHA-256 of the item your harness downloads; every file in it names its own checksum.
Something wrong with this item, its rights or its safety? Report it on the support page, or from your harness after a download.

