I am a very experienced iOS Developer, but I am beginning my very first foray into 3D graphics (specifically with SceneKit). I'm trying to model a planet, and I have it working with a height map giving mountains and valleys to a simple sphere.
What I'm wondering now is, how might I have a variable sea level? As I understand it, a height map only affects how the image is rendered, but it doesn't actually change the geometry of the object, correct? So my first idea, to have a smaller sphere and scale it up or down relative to the planet so that it shows through in the lower-elevation areas, wouldn't work?
If that's the case, how else might I approach this? I'd love a code sample if it's simple or ready-made, but mostly I'm just looking for a conceptual answer that I can go off and implement. How might I take a height-mapped planet surface, and have an adjustable sea level that fills in the lower-elevation areas first? For simplicity, I'm treating sea level as purely altitude-based (i.e. I don't need to factor in dams or obstacles, and maintaining a consistent volume of water isn't important).