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
Feature Request: interpenetrating objects
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 22 years 10 months
- Location: Seattle, Washington, USA
Re: Feature Request: interpenetrating objects
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
-
Topic authorselden
- Developer
- Posts: 10192
- Joined: 04.09.2002
- With us: 22 years 3 months
- Location: NY, USA
Chris,
That'd be great if you can pull it off. It'd make some ad-hoc object assemblies a lot easier -- planet rings with a non-uniform appearance is one I'd like to try.
I fear one of the interesting cases may fall into your "the objects differ immensely in size" category, though: Shoemaker-Levy 9 fragments impacting on Jupiter
That'd be great if you can pull it off. It'd make some ad-hoc object assemblies a lot easier -- planet rings with a non-uniform appearance is one I'd like to try.
I fear one of the interesting cases may fall into your "the objects differ immensely in size" category, though: Shoemaker-Levy 9 fragments impacting on Jupiter
Selden