-
Notifications
You must be signed in to change notification settings - Fork 1
Tutorial Display Filters and Shaders
Two separate layers share one render mechanism: filters belong to the player, post shaders belong to your project.
While playing any project, press F10 to cycle the built-in filters:
-
lcd— a logical-pixel grid -
crt— scanlines and a vignette -
contrast— a maximum-contrast luminance quantize (hue-independent, composes with any palette; an accessibility mode)
The choice persists in the player's own config (user://display.cfg) — it is a user preference, never project data. A one-run override exists for launches: --filter=crt (an unknown name refuses loudly). Automated runs force filters off so test renders stay deterministic.
Your project can ship ordered GPU post-process passes. Declare them in presentation/version.json:
{"post_shaders": ["glow.gdshader"]}…and put the file(s) in presentation/shaders/. Rules:
- Godot
canvas_itemshaders only — a missing file or a non-canvas_item shader refuses at boot naming it. - Passes run in declared order, before the player's filter.
- Shaders are GPU-only code: they cannot touch game state, files, or the network, so the sandbox model holds by construction.
The Vermilion overlay's vermilion_glow.gdshader (a ~3% warm center pool) is the shipped example of a full-frame mood pass.
The engine lazily builds a chain of back-buffer copies + full-frame passes above the effects layer, following the bounded-viewport frame wherever it goes. A project with no shaders and a player with no filter build zero extra nodes — the faithful default renders exactly as before.
Monworks: MIT code · CC0 samples · everything pictured is original content. The faithful Pokémon Red build derives from your own local pokered clone and is never distributed. Pokémon is © Nintendo/Creatures/GAME FREAK; this is an unaffiliated fan engineering project.
Play
Create
Tutorials
- Writing Text
- Battle Backdrops
- Colors and Palettes
- Display Filters and Shaders
- Widescreen and Scaling
- Quality-of-Life Knobs
- Overlays (Recipes)
- Abilities & Battle Hooks
- Modern Individuals
- Per-Individual Fields
- Field Effects
- The Modern Ruleset
- Per-Save Rulesets
- Six Stats
- The Clock
- Conditioned Bindings
- Day and Night
- Sprite Variants
- Overworld Spawns
- Language Packs
- Set-Piece Battles & Narration
- Run a Server
- Join a Server
Elsewhere