Shaders

GodotShaders.com: Great resource for shaders!

Addons

Acerola Compute by Acerola. Abstraction Layer for Godot shaders.

Tutorials / Knowhow

AcerolaFX by Acerola:

Simplifying Shaders by Acerola. Github Project

Screen Space Render

from Reddit

There is simply no option for implementing a full screen shader or a shader that utilizes screen-space without doing some janky nonsense to make it work

You can follow this documentation page to setup a quad or just a triangle mesh and apply a screen space shader.

There's also a new CompositorEffect API is available in Godot 4.3 for screen-space shaders. You'll be able to hook to the different rendering passes Godot does.

If I want to apply a post-processing effect to a group of objects without applying it to other objects

If it's in 2D you can use a CanvasGroup In 3D you still need to use a SubViewport as far as I can see.

let's say I want to always render a player's gun in front of their view model.

You can use a shader for that no need to use viewports. More info here (Twitter) and here (Youtube).