CRT and VHS shaders for Godot
Separate CRT and VHS shaders for the Godot Engine, written in Godot's shading language GDShader.
Why separate shaders for CRT and VHS?
These shaders were originally created for a project that renders virtual VHS tapes as dedicated scenes. In this project, the tape content runs at 25 frames per second, while the virtual TV (including its OSD) renders at 50 frames per second.
I chose to separate the effects so that VHS artifacts (like tape wobble) don't incorrectly affect the TV's OSD. By applying the CRT shader to the final screen, it encapsulates both the VHS content and the TV UI. Since CRT and VHS effects simulate different physical phenomena, keeping them decoupled offers more flexibility than combining them into a single shader, as is often (incorrectly, in my opinion) done.
Changelog for version v0.0.1
No changelog provided for this version.