3D CRT+ player camera effects for Gdevelop
A downloadable tool
3DCRT+
A configurable retro-screen post-processing toolkit for GDevelop's built-in 3D engine
One full-screen pass. Every CRT, VHS, and broadcast artifact you need — scanlines, shadow mask, curvature, grain, chromatic aberration, roll, and more — each independently toggleable, all driven by one behavior.
GDevelop ships layer effects for 2D, but its 3D scenes have no built-in post-processing hook. 3DCRT+ adds one. Drop the behavior onto an object in your 3D scene, switch on the effects you want, and the entire rendered frame is redrawn through a single shader — turning clean Three.js geometry into something that looks like it came off a dying CRT, a worn VHS tape, or a security monitor in a room you shouldn't be in.
It was built for found-footage and retro-FPS horror, but it's a general-purpose retro-screen kit — anything that should look like it's being displayed rather than simply rendered.
What it does
Every effect below is its own group. Each one is off by default and switches on independently, so adding the extension changes nothing until you flip a switch — and you only pay for what you turn on. All controls use friendly numbers (opacity 0–255, most others 0–100), and a single master Opacity fades the whole look in or out.
Screen shape
- Scanlines — adjustable thickness and pixel sharpness, with a true 3-tap/5-tap gaussian scanline reconstruction (not a flat overlay)
- Screen bulge — barrel curvature, from flat to heavy CRT bulge
- Bezel border — a black frame with a master inset plus independent per-side depth
- Image stretch — independent X/Y scale to squash or zoom the picture
Phosphor & light
- Shadow mask — an anti-aliased RGB stripe mask (smooth-profiled to kill the moiré comb you get from hard-edged masks)
- Brightness — applied early in the chain so it genuinely drives the glow and the masked image
- Bloom — a real multi-tap blurred glow that bleeds light outward, not just a brightness boost
Signal & motion
- Chromatic aberration — channel-split fringing that scales from the screen center
- Rolling bar — a vertical roll with adjustable speed and height
- Flicker — per-frame brightness instability
- Interlace — alternating-line dimming
Color grading
- Saturation, contrast, gamma
- Phosphor tint — a full RGB color cast for amber, green, or sickly-blue monitor looks
Film/tape grain
- Animated grain — pure-math noise (no textures) with controls for amount, cell size (fine static → coarse VHS), color (mono film grain → full RGB static), and speed (frozen → fast)
Everything is also exposed as actions, conditions, and expressions, so you can drive any parameter at runtime — fade the whole effect up as the player picks up the camcorder, kick the roll and grain when something goes wrong, dial saturation to zero on death.
Quick start
- In GDevelop, Project Manager → Extensions → Import, and choose the downloaded
.json. - Add the 3DCRT+ behavior to any object on your 3D layer.
- In the behavior properties or event sheet, switch on a group or two (try Scanlines + Mask to start) and tweak the values.
- Hit preview. That's it — the behavior installs the renderer hook automatically once 3D is ready.
To drive it from events instead, use the Set… actions (e.g. Set shader render opacity, Set CRT grain amount) and Enable or disable a CRT effect to toggle any group on or off at runtime.
Requirements & compatibility
- GDevelop with a 3D scene (uses the built-in Three.js renderer).
- Tested against GDevelop 5.6.271 (the current release at time of writing). Because there's no official 3D post-processing API yet, the extension works by wrapping the 3D renderer's draw call. This is robust and fails safe — if anything goes wrong it falls back to a normal render rather than crashing — but it's the part most sensitive to engine updates. Pin the GDevelop version you ship against, and if a future build adds native 3D post-processing or moves to a new rendering backend, expect this to need an update.
Known limitations (worth knowing up front)
I'd rather you know these up front than have you find them out mid-project:
- Bloom needs bright sources. The glow only kicks in above roughly mid-brightness, so in very dark scenes it can read as nearly absent. If your light comes from flashlights, screens, or fire it pops; if the scene is mostly murk, lower the bloom-relevant levels or lean on brightness first.
- Shadow-mask strength varies by display. The mask is a fine pattern; on high-DPI screens it can wash toward neutral. Treat its intensity as a per-project tuning dial, not a fixed look.
- Color grading is stylized, not color-accurate. Grading runs in display space, so it's tuned for "looks right for a CRT," not for linear-correct color work.
None of these are bugs — they're inherent to keeping the effect cheap enough to run every frame. For a grainy retro look they mostly vanish into the aesthetic.
Credits & license
- Core scanline/CRT math adapted from Timothy Lottes' public-domain CRT shader, released for anyone to use and modify.
- Extension, additional effects (mask anti-aliasing, multi-tap bloom, per-side bezel, stretch, grain, color grading, the behavior + event API), and packaging by Twillion.
- Released under a custom license (see LICENSE.txt in the download): free to use in your own games, films, and other projects — including commercial ones — but the extension itself may not be redistributed, resold, or repackaged as a standalone asset, modified or not.
Support & feedback
Found a bug, or it broke on a newer GDevelop build? Post in the comments on this itch page. Include your GDevelop version when reporting — it's the first thing I'll ask. And if you make something with it, I'd love to see it.
Changelog
0.4.3 — Grain now initializes correctly, the phosphor-tint controls report their values properly, and the effect installs reliably when driven by the behavior. 0.4.2 — Earlier release.
| Updated | 3 minutes ago |
| Published | 3 days ago |
| Status | Released |
| Category | Tool |
| Author | ScrollWeaver |
| Tags | 3D, crt, gdevelop |
| AI Disclosure | AI Assisted, Code |
Download
Click download now to get access to the following files:
Development log
- 3DCRT plus v0.4.34 hours ago

Leave a comment
Log in with itch.io to leave a comment.