selden wrote:It'd be really, really nice if Celestia could draw objects interpenetrating one another with their surfaces partially obscured. Right now, objects are drawn entirely in front of one another. It isn't always obvious what determines which is in front, since sometimes it changes with only very slight (or even no) apparent changes of viewpoint.
I suspect this is one of the harder things to do, though

It's something that I've been planning for quite a while, and I do have a good idea how to make it work. The reason that it's a problem at all is due to the huge range in the sizes of objects rendered by Celestia. The depth buffer used by graphics hardware has limited precision (typically 16 or 24 bits), so Celestia must take special measures when rendering a seen with, say, a 5m space probe, a 100km moon, and the Sun (over one million km) in the background. Celestia sorts objects into 'depth buckets', which are assumed to not overlap; when they do overlap, you get the effect you've described, where one object is always completely in front of the other. The workaround is to merge depth buckets when they overlap (with some constraints--it won't do any good if the objects differ immensely in size.)
--Chris