Dust

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
Matt McIrvin
Posts: 312
Joined: 04.03.2002
With us: 22 years 11 months

Dust

Post #1by Matt McIrvin » 12.05.2002, 21:05

Now that I have a computer fast enough to deal with volumetric galaxy rendering without crawling, I've been investigating the accuracy of Celestia's rendering of the Milky Way. It's remarkably good, seen from Earth, considering that it seems to just be using a generic SBa texture. But one thing that it's missing are the central obscuring dust lanes that make dark "rifts" appear in the visible galaxy.

Of course, people have discussed putting in a more accurate model of the galaxy's 3D shape. But it seems to me that the absence of the dark dust clouds is an equally significant barrier to getting the appearance right.

It would be possible to handle this with a "billboard" strategy. But I'm also wondering if there's any obstacle to volumetrically rendering opaque dust in Celestia. This would let us do not just things like the Cygnus Rift but also smaller sights like the Horsehead Nebula and Coal Sack.

chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 23 years
Location: Seattle, Washington, USA

Dust

Post #2by chris » 13.05.2002, 18:05

Matt McIrvin wrote:It would be possible to handle this with a "billboard" strategy. But I'm also wondering if there's any obstacle to volumetrically rendering opaque dust in Celestia. This would let us do not just things like the Cygnus Rift but also smaller sights like the Horsehead Nebula and Coal Sack.

There is an obstacle to doing this, though I don't believe that it's an insurmountable one. Galaxies are currently rendered as up to 5000 billboarded blobs, all of which have the same color and opacity. If I varied the color and opacity, I'd need to depth sort the billboards in order to correctly render the galaxy. The performance hit from sorting 5000 items for every frame rendered is far from negligible. There are some clever ways to avoid doing a full sort every time (exploiting interframe coherence is an obvious one), but I want to rethink the whole volume rendering issue before implementing on a bunch of hacks to get one or two specific effects to work. I'd like to have a common strategy for rendering galaxies, nebulae, comet tails, and other volumes.

--Chris

diegorodriguez1

Post #3by diegorodriguez1 » 14.05.2002, 09:59

chris wrote:I'd like to have a common strategy for rendering galaxies, nebulae, comet tails, and other volumes.--Chris


I'm a dummy for the OpenGL thing, but at http://www.opengl.org they mention http://www.cs.unc.edu/~harrism/SkyWorks/ for the real-time cloud rendering, including engine source code under a free license.

Those could be use for a variety of applications inside Celestia, from comet tails to aero navigation inside planetary atmospheres. Not sure on the nebular and galactic objects.


Return to “Development”