GameMaker (2.3)

Advanced CRT Shader

Sitting Duck Games

You must be logged in to obtain assets


~ SittingDuck's CRT shader ~

A robust and flexible CRT shader that aims to be scalable and easy to implement.

Out of the box features include:

| Scanlines | Curvature | RGB phosphor emulation | Bezel reflections | Automatic resolution and aspect ratio handling | Interlacing | Integer scaling | Halation, glow, and bleeding effects | Support for portrait (TATE) mode | Support for bezel overlays

To implement with your existing game, place a preset object in the first room of your game or create & destroy one via code in your game's menu. Ensure that your game's aspect ratio matches that of the preset object. That's it!

Advanced use:

All parameters of the shader are addressable from any object just by referencing the crt object. For example: "crt.glow_amount += 0.1". Just make sure to update the shader uniforms afterward with "crt.update_uniforms()"

Learn to use effects that retro game developers used with CRT TVs in mind; exploit interlacing, blending, or phosphor glow for your game's benefit!

Detailed documentation and a working example project are included to quickly get your project up and running!

End User Licence Agreement (EULA).

Age Rating: 12+


GMS2.3 - Version 1.1.0. Published October 26, 2023

Added a preset that demonstrates 480i interlacing

Loading, please wait

Package contents

Loading, please wait

What is the issue?

Loading, please wait