Celestia icon indicating copy to clipboard operation
Celestia copied to clipboard

New body class for landers / rovers

Open 375gnu opened this issue 1 year ago • 0 comments

Currently we use spacecraft class for Landers and/or rovers, so it's requires additional steps to detect if they are placed on surface or in space (we can use distance between them and the parent body to guess). Currently Celestia treats all spacecraft as space bodies, it even assigns orbits to stationary objects.

Why this is a problem? Celestia is a GL2 application, so unlike modern applications which use reverse logarithmic depth to increase its precision Celestia splits the depth into several intervals according to object distance. So it can put the planet and a visible rover into different depth intervals and then this can cause rendering artifacts, such as #542.

If we know that the particular object is placed on the planet surface we know that it should use the same depth interval. We also should change the way we render closer planets (render from eye instead of from center) to reduce precision errors.

Maybe other alternatives exist?

375gnu avatar Dec 19 '23 18:12 375gnu