I had an adventure of trying to implement the CRT shader that went semi-viral on r/Godot. Despite successfully implementing it, which required some changes to the node hierarchy of my main game scene, the internal resolution I was rendering at, and my scale mode, ultimately I decided it wasn’t worth devoting the time to get the text on my text-dense visible through the low resolution. The shader seemed to need pretty low resolutions for textures (240p was the recommended resolution, I was using 360p as that would scale well with Integer scale mode to all the common 16:9 resolutions) or the scanlines get messed up. I experienced this a lot as I resized the window, which is why I needed to render at a locked resolution.
I switched rendering mode from canvas_items (which helped card readability in their subviewport setup) to viewport, which made the scanline shader look significantly better. However after this change, the card text would often be very difficult or impossible to read. I think this was an interaction between the shader used for rendering the cards and the CRT shader.

I think the effect looks awesome in general environmental exploration though. If it wasn’t for needing to enforce a really low renderingi resolution to make the crt shader look correct, I would have just rendered the card UI outside of the ColorRect that was rendering the scene with the shader applied.


Leave a Reply