Implementing a PS1 post-processing shader


I’m struggling to apply this PS1-style post-processing shader (PS1 Post-processing - Godot Shaders) across various scenes. The setup involves a SubViewportContainer → SubViewport → Scene and applying the shader on the SubViewportContainer. I tried making it modular by creating a separate scene with both SubViewportContainer and SubViewport . My goal was to instantiate this scene and then add my desired scene as a child to it. However, I encountered a problem where the shader effect only works if the separate child scene contains only the SubViewportContainer. To work with this I need to also add a SubViewport in every scene I have the separate shader scene and then also instantiate the actual desired scene as a child of this new SubViewport .

I’m new to shaders but I really don’t like this implementation. I’m not sure what’s missing or if there’s a better way to integrate this shader across scenes. Has anyone faced a similar problem or has suggestions on how to implement this?