You can see it in action here. This was created with React-Three-Fiber, a React renderer for ThreeJS. Textures source: https://www.solarsystemscope.com/textures/ Planets use dummy values for everything.