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.
Dust
-
- Site Admin
- Posts: 4211
- Joined: 28.01.2002
- With us: 23 years
- Location: Seattle, Washington, USA
Dust
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
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.