This can be done using a fullscreen shader. You would make a fullscreen rectangle (with TextureRect for example) and add a shader on it which will read pixels previously drawn, and output them with an effect added to it.
To deform the screen, you need to apply an offset to the coordinates where you fetch the pixels previously drawn.
Then, you would toggle this node on and off as you want it applied or not.
Take a look at this demo project to see how fullscreen shaders work https://github.com/godotengine/godot-demo-projects/tree/master/2d/screen_space_shaders