A downloadable funky shader

This is an edit of ZIK's incredible BjörtFX CRT shader for Gamemaker Studio 2.3!

The original project file can be found here!

I have slightly modified the shader itself, and heavily modified the surrounding GML code to be more optimized, user-friendly and remove a lot of things I personally found unnecessary. I have also added little additions like color limiting and screen rescaling- all of this is documented!

I have put everything you need to set up the shader in its own little file, so you don't have to do huge amounts of code re-writing and digging to get everything looking just the way you want! Simply add objCRT anywhere, and you're set!

If you use this in a project, credit Zik instead of me~ and defenitely ask them before using this in a commercial product. This is just a personal edit!


Rated 4.8 out of 5 stars
(6 total ratings)


BjortFX_Funky_Edition.yymps 35 kB

Install instructions

Simply drag and drop the .yymps file inside your project!

if that doesn't work:
Inside of a Gamemaker Studio 2.3 project, go to the 'Tools' tab and select 'Import Local Package'!


Log in with itch.io to leave a comment.

thanks a lot for this! i love the original björtfx but this made my life easier for new projects lol

I'm unsure as to why, but these shaders don't work well with text/fonts. It causes everything including spaces to show up as cubes/rectangles. Weird.

Outside of that issue, it's absolutely beautiful!
Good job to both you for getting it into GML and, Zik for creating it :)

This only occurs when drawing text in the gui event of objCRT (ex. trying to draw a textbox as I usually want the text readable/high res it happens there)

Sorry, last ping I swear. I managed to fix it in my own case by changing the application surface draw in your objCRT with drawing a surface that I made and filled with the app surface and my dialog box. << just in case someone needs this again I love these shaders!

hey! mind helping with recreating what you did here? not great with surfaces and trying to use draw gui as well.

If you haven't already, start with any tutorial on surfaces as explaining the small details would be difficult. (there's a bit of stuff that needs to be done to make sure surfaces don't break/cause memory leaks).

Essentially I made my own surface that is the exact pixel width and height that I want (this would be the actual screen size NOT the pixels of the art ex, 1920 is my screen width vs visible pixels are 192).

We'll call it my_surf.

I draw the entire application surface (stretched) to my_surf and any GUI stuff is drawn after that again to my_surf.

finally, where the application surface is drawn normally in BJORTFX's GUI draw, I instead draw my_surf (stretched).

(1 edit)

Extremely noobie question: objects drawn using the "Draw GUI" event don't seem to be covered by the shader. Any tips? Thanks! 

Edit: Btw, thank you so much for this asset!

This was a fun shader to try out on some prototypes, thank you so much for sharing it!


Much thank you for this project! : hail to the king :


This is sick, can't wait to mess around with this


Cant wait to use the bjort out if this


This is probably one of the best crt shaders for GM on the market rn. 

Deleted 1 year ago