You not must need different topology, but then you need dynamic tessellation, and displacement. This approach can work very well. You could vertex paint it too if you want, and use vertex offset (world position offset). This would result less polygons. There are a lot of ways for doing what you want, maybe you could even…