I am trying to write a shader that should modify the position of all the vertices rendered by the camera.
I don’t think that’s possible. As far as I know, the object camera don’t execute every shaders for every mesh. Instead, it gives the matrices to every shaders.
Maybe you want a post effect, some kind of distord ? Or render to texture, apply it on a plane in front of an other camera then modify the vertices of that plane ?