You should be able to do this with the position field in the camera node. In broad strokes… Do a distance check between the camera position and your fragment position, inverselerp the result with your desired effect distance and multiply it with your texture. Then add the two textures together. I’ve done a similar effect but combined the base texture with a detail map.