I don't want to just use a texture, because I want to take a low-angle shot that lets me see the actual bumps in the surface
Since recently, you can use a texture and have actual bumps. This works in combination with Cycles only, and makes use of the Material's Displacement property.
First, you should use the Experimental Feature Set in the Render panel:
Add a Subdivision Surface modifier and enable Adaptive:
The trick here is that, by using Adaptive, the size of subdivisions will be dependent on how much the surface is close to the point of view. So you'll have each screen-space pixel displace independently from the neighboring ones, but without the need to subdivide the whole mesh by the same amount.
In the Node/Shader Editor, plug the desired texture into Displacement. If Blender>2.80, you should use a Displacement node, otherwise (2.79) just plug the height in the Material Output.
(If Blender 2.79, under Material > Settings set Displacement to "Both")
The bumps are now real, i.e. affecting the geometry, but non destructive, i.e. not affecting Edit mode vertices. In the gif, the geometry is just a 4-vertex plane: