I'm making a space game using Godot 4, and I need to capture the "hugeness" of planets. I figured I'd use spheres with textures on them for planets. The textures have identifiable landmasses on them, because that's consistent with what planets have. You should be able to recognize the same landmass when you see it again.
The planets all need to spin, as planets are wont to do. I figure I'd just rotate the mesh itself while the player space ship is still far enough away.
My difficulty begins with approaching the planet closely enough. I don't want to land on any planet, but I do want to be able to achieve a low enough orbit that gives the sense of a horizon. The little picture should illustrate it well enough. I figure I could "squash" the sphere into basically a flat circle when the ship gets close enough to the planet, and you wouldn't notice. I'd point this flattened sphere at the player's position, so it would function like a billboard in that sense. This flattened sphere could then be scaled up in the right directions, to give the sense of a vast circular plane almost.
I figure I could do some kind of trickery with UV offset and scale to keep the texture "in the right place", but i don't have any idea where to start, especially because it would need to be scaled up when you get close to it AND it would need to be in the same place as it was when you were further away from it AND...the uv would need to be offset by the rotation of the planet constantly because when the mesh is squashed, you can't rotate the mesh itself anymore. truthfully, i don't have much experience with uv shenanigans, nor with optical perspective. This whole approach is just an intuitive attempt, but i have to do SOMETHING because just "really big spheres" doesn't give a good enough impression of the hugeness of planets and stars and moons, and I don't know any of that shader black magic that could do the sphere-imposter trick on a quad (especially one you could freely orbit around).
The textures don't need to be super sharp: maybe i could stylize them somehow to be acceptable, but they DO need to have those recognizable landmasses which you can revisit, hence the difficulty.
Does anyone have any pointers for how to do this? Alternatively, does anyone know of a better solution for giving that "vastness of planets" feeling that emerges seamlessly once you get close enough to a planet?