Re: [Celestia-developers] DeepSkyObjects
Real-time 3D visualization of space
Status: Beta
Brought to you by:
cjlaurel
From: Chris L. <cl...@ww...> - 2003-01-27 21:54:30
|
On Mon, 27 Jan 2003, Fridger Schrempp wrote: > Second thought's about DeepSkyObjects: > -------------------------------------- > > On the one hand, I find Chris' plans of attacking the galaxy/nebulae > rendering issue most challenging and worth considerable effort from > all of us. On the other hand, thinking about possibilities for > an actual realization of this challenge myself, confronts me with all > sorts of doubts, warnings etc... > > Some thoughts that came up, might be useful to other minds as well;): > > 1) Introducing a new DepSky Object superclass etc in Celestia may involve > big changes but this is nothing breathtaking. It simply can be done > and makes a lot of sense in the long run. In fact, I have all the necessary changes ready to check in. I was hoping to hear some opinions on the galaxies.dat backward compatibility issue first though. > > 2) 1st Warning: > ------------ > So far, deep sky objects led an "unspectacular life" > in Celestia to the dismay of many;-). But looked at differently, > this in a way was a very clever compromise, not unlike certain paintings, > where faces of people are merely sketched rather than painted with a > sophisticated expression and including many details. Have you ever > looked at paintings with completely "rendered" faces? Very > delicate, indeed! One touch to much may destroy the whole > picture... The idea in this deep sky project is clearly to > render deep sky objects in much more detail. Again: one touch to much > might well destroy the professional overall impression of Celestia! > > The Orbit program for me is a good illustration of how things might > go wrong along these lines. Some graphics is certainly comparable > to Celestia. But certain things like buildings, airports etc. look > like from a "Kindergarden" kit. That does it, at least for me... > > These remarks are NOT meant as discouragement, but I would be very > eager to hear something that has a chance of bypassing/overcoming this > danger. First of all, the new code is very flexible . . . Right now, there are two subclasses of DeepSkyObject: Galaxy and Nebula. Each overrides just two methods of the base class, load() to read in parameters from a file, and render() to display something. Galaxy's render() method uses code bulled from render.cpp for the fuzzy blob style rendering. The render method for Nebula just displays a 3DS mesh. But it would be simple to add new rendering techniques, either by updating Nebula::render or adding a new DeepSkyObject subclass. I don't expect 3DS meshes to be the last word in nebula rendering. But they do seem to produce satisfactory results. The best way to demonstrate this is for me to check in the deep sky object code and supply some test files to try yourself. > 3) Individually "handicrafted" deepsky objects along the lines of the various > space vehicles we have in Celestiam, are clearly NOT what is required. > In order to retain the necessary degree of "professionalism", we should > think about a scheme allowing "mass production";-) of such objects > from catalogs and/or image data bases! > > I have not read so far /any ideas/ from Chris in this context!? Am I > dreaming or is the answer merely trivial?;-). Since my letters to > Chris often end in "Nirwana", I rarely know.... I have a few ideas to try . . . There are plent of images of nebula to use, and some from sky surveys even have consistent orientation. But stars would still need to be removed from the images. We could apply the images to meshes modified by noise, generating texture coordinates that give exactly the right appearance from Earth, and a 3D appearance from other viewpoints that might not be corret, but will at least look better than a flat square :) Some sort of volumetric rendering technique would be ideal, but this could be incorpolrated later. With planetary nebula, the 3D structure is usually more apparent . . . When looking at Hubble pictures, it's easy to get a good mental picture of what the geometry of the object is. However, I don't know how to automate the creation of a mesh from just the picture; it seems like it would have to be done by hand to get the best results. > 4) I do have a number of ideas myself, but since Chris has started off > this topic, I would very much like to hear his ideas first. Now let's hear your ideas . . . :> --Chris |