Page 10 of 13

Posted: 11.07.2007, 23:21
by hank
cyber_space_doc wrote:I think a good new addition would be to have C/C++ plugins!

- the plugin could be .dll based
- could allow users to write C/C++ code to incorporate additional rendering settings similar to the alternative surfaces feature.

How exactly do you think this would work?

- Hank

Posted: 12.07.2007, 03:43
by dirkpitt
cyber_space_doc wrote:The technique I had in mind is GPU Geometry clipmapping, definitely requiring C/C++ and shader code.


BTW, if anyone was wondering, "geometry clipmapping" refers to an efficient method of rendering terrains.

Posted: 13.07.2007, 00:50
by cyber_space_doc
hank wrote:
cyber_space_doc wrote:I think a good new addition would be to have C/C++ plugins!

- the plugin could be .dll based
- could allow users to write C/C++ code to incorporate additional rendering settings similar to the alternative surfaces feature.
How exactly do you think this would work?

- Hank


The plugin could be a dll that satisfies a set of function types such as:-

Code: Select all

void (*customRender) (int, int);
void (*frameMove) (void);

and these could be called upon by the host program using the functions dlopen, dlsym and dlclose in the following fasion:-

Code: Select all

void* library;

library = dlopen( "./libname.so", RTLD_LAZY | RTLD_GLOBAL );

customRender = ( void(*)(int, int) )dlsym( library, "DLL_Render");

etc...

the function in the DLL would have to be defined as

Code: Select all

EXPORT void DLL_Render(int, int);


and then celestia could call something like:-

Code: Select all


if( m_bCustomRender )
{
    customRender( a, b );
}

Posted: 13.07.2007, 01:35
by hank
cyber_space_doc wrote:The plugin could be a dll ...

Keep in mind that Celestia is a multi-platform program. The plug-in architecture would need to support Linux and Mac OS X as well as Windows.

Also, what are the a,b arguments passed to customRender? And where in Celestia would the call to customRender be made?

- Hank

Posted: 13.07.2007, 03:06
by cyber_space_doc
hank wrote:
cyber_space_doc wrote:The plugin could be a dll ...
Keep in mind that Celestia is a multi-platform program. The plug-in architecture would need to support Linux and Mac OS X as well as Windows.

I have recently compiled programs on windows, the mac and linux with the above dll functions. The differences are in the library names, and the method of compilation, otherwise everything is the same.

hank wrote:Also, what are the a,b arguments passed to customRender? And where in Celestia would the call to customRender be made?

- Hank



the a,b arguements would be integers and are just for the sake of demonstration. The call to custom render could replace the existing render calls if a flag is set. I will have to consult the code to check exactly where it would be written.

Perhaps a user could pass a structure containing variables from the Celestia core for the custom render code, such as the eye position, view matrix etc. The variables could also be controlled with flags passed into a setup function.

Posted: 13.07.2007, 14:27
by hank
cyber_space_doc,

I would encourage you to develop a concrete proposal. The devil is in the details. I don't think something like this is likely to become a priority for the developer team unless you can offer a very solid design and sample implementation.

- Hank

Posted: 18.07.2007, 11:11
by srosenow_98
Well, I'm probably going to break a rule or two in re: this thread, but there's a few requests I'd like to make in terms of Celestia's display capabilities.

First and foremost, I'd like to see the capability to accurately render nebulae based on photographs in a 3D setting, and not have to use something akin to a piece of warped clear plastic with a transparent texture to display them (such as most of the nebulae addons @ the Motherlode). IRL, nebulae are cloud-like in nature, and as stunningly accurate I've found Celestia to be, I think it would be great if say, you could travel through the Orion Nebula like you were flying through a cloud.

Sub Request: Add the capability to display reflection nebulosity, like that seen in the reflection nebula immediately above the Orion, and the reflection nebulosity present in many Pleiades cluster photographs

My second request would be to correctly simulate aurorae. That is something I'm thinking should've been included from the start. There's a near-constant auroral oval over both the north and south poles. (see Spaceweather.com) and I'm thinking with some sort of modified transparent sphere with layered cloud masking, this could be correctly simulated. Furthermore, this effect should be increased to coincide with "Solar Maximum" to be more widespread and visible from most reaches in the lower 48 states. (Some aurora have been spotted as far south as Mexico in severe aurora events) FWIW, Solar Maximum is predicted to hit in 2012 (or 2011, some say) and is scheduled to be the strongest solar maximum on record.

Also, with that said, could "solar flares" and "coronal mass ejections" be do-able? Simulate some sort of twisting bright light at the flare origin and send a simulated near-invisible cloud outward from it. (If Earth-directed, a strong CME could hit within as little as a day; most usually hit within two to three days) (using data based off of Hakamada-Akasofu-Fry solar wind plots)

Ok, and I know I'm probably bending it a little bit more here, but volcanic eruptions on Io and Earth? Possible, or not? :?: Taking a trip back in time to May 18, 1980 finds the skies above the Pacific Northwest a little "bare" if ya get my drift. :wink:

One last request to the developers. Keep up the damn good, no, make that EXCELLENT work you've done! I am truly amazed at this program!

Posted: 18.07.2007, 11:48
by t00fri
srosenow_98 wrote:
First and foremost, I'd like to see the capability to accurately render nebulae based on photographs in a 3D setting, and not have to use something akin to a piece of warped clear plastic with a transparent texture to display them (such as most of the nebulae addons @ the Motherlode). IRL, nebulae are cloud-like in nature, and as stunningly accurate I've found Celestia to be, I think it would be great if say, you could travel through the Orion Nebula like you were flying through a cloud.

Sub Request: Add the capability to display reflection nebulosity, like that seen in the reflection nebula immediately above the Orion, and the reflection nebulosity present in many Pleiades cluster photographs


Some improvements wrto including individual add-on nebulae/galaxies will come via sprites quite soon.

In general, however, please note that Celestia is NOT to be viewed as a custom software for planetariums, who would mainly want to display a hand full of deepsky showpieces! Celestia relies on a scientific grade deepsky database incorporating the most accurate complete catalogs of nebulae/galaxies, etc.

For your request, please let us know as well, how you imagine e.g. 10000+ galaxies or nebulae to be rendered as you propose?? And all that VERY fast. This means we need a highly effective culling mechanism to be active all the time.

++++++++++++++++++++++
Obviously any NON-automatic rendering is OUT for so many galaxies/nebulae !
++++++++++++++++++++++

Our present rendering of galaxies satisfies all these crucial criteria perfectly and exploits ALL information contained in scientific galaxy catalogs. Not more not less. Your proposal obviously would need full 3d information for thousands of nebulae which does obviously NOT exist. Celestia, however is based entirely on published scientific data. In addition, the shapes of nebulae is often very irregular and thus poses particular difficulties for automatic mass rendering!

Individual "phantasy" renderings may be done via add-ons by users.

In the add-on department you can find very respectable 3d nebula add-ons by the user jll:

Image

where you certainly may fly through. But this is NOT based on scientific data for the 3rd dimension and absolutely unsuited for mass rendering. I hope you agree with me that it would not be a good idea to fill the Celestia Universe just with 10 or 20 "handycrafted" deepsky objects!

About the 3d structure of galaxies we know much more and that's why we have not yet rendered many nebulae in the Celestia distribution, while we have 10000+ galaxies with their correct Hubble shapes.

Bye Fridger

Posted: 18.07.2007, 12:01
by selden
srosenow_98,

Most of the features you're asking to be improved are provided as 3rd-party Addons authored by enthusiasts, not by the Celestia development team. In other words, you should consider doing some of them yourself.

Unfortunately, the 3D shapes of nebulae are simply not known in general. How to derive the shapes of the sides which are facing us is a topic of ongoing scientific research. Some of the research techniques might apply to generating models that can be used by Celestia, though.

See # GLNebula: realtime 3D planetary nebula visuaization
http://sourceforge.net/projects/glnebula/
# Cloudy3D: pseudo-3D nebula visualization (requires IDL)
http://132.248.1.102/Cloudy_3D/index.php

Apparently the Hayden Planetarium has included a model of part of the Orion Nebula in their most recent distribution of The Digital Universe. It might be possible to get permission to port that model for use with Celestia.

While moving "rigid" models with respect to one another is possible in Celestia v1.5.0, deforming model shapes is not. It's extremely difficult to do in realtime. Precalculating intermediate shapes and providing a model for each of them is a possibility, but would most likely result in a very large Addon. (Beginning and Ending statements in an SSC catalog can be used to implement this type of "page flipping" animation.)

There's an "active sun" Addon on the Motherlode which is rather good.

Animating volcanoes on Io was recently discussed and some simple examples provided in a thread here. I'll leave it to you to do the search.

Again, since these kinds of things are normally provided as optional Addons, you certainly should consider learning how to create one and providing it for us all to enjoy.

Posted: 19.07.2007, 04:41
by srosenow_98
Oh, I certainly plan on learning how to do add-ons for Celestia. I certainly didn't mean to make that post as a definitive "feature request" set solely for the next release. I actually meant it more so as a feature request for future versions later down the road.

Sorry if it came off as being that way.

Posted: 02.08.2007, 19:39
by immersive
A request. more control over active views. the setactiveview() so in celx scripts one could set the active to what ever you want so multiple views can be managed.

http://www.celestiaproject.net/forum/viewtopic ... activeview

Posted: 20.08.2007, 16:54
by duds26
A request about format support of volumetric data.
Support for jp3d in the future, not soon because it in beta stage and isn't even an iso standard yet.

This is the website: http://www.2kan.org/jp3d.html

This would be interestng because it will be part of the jpeg 2000 and alow addon creators to make 3d volumetric visualizations in a very well known format.

Ground tracking of satellites

Posted: 14.09.2008, 07:52
by Guckytos
Late last evening I had an idea of a useful feature for Celestia.

You probably all know those big wall screens from NASA operations center, where they show on a flat earth those sinusoidal tracks of (mostly) the ISS and space shuttle missions.

Now couldn't we add a similar feature to Celestia? I certainly know that we wouldn't see a sinusoidal track on a ball, but we could show a point on earth, where the orbiting object is perpendicular above.
This point could then be resampled every few seconds and drawn a new one, or directly a line?
Then in an option menu, you could choose how many orbits you want to be shown.

Feature should probably be either selectable for single objects or groups, otherwise I think it would be clogging of earth with tracks.

You could then very nicely see how over time the position of objects change.

Taken a step further: If you know for a sensing satellite (radar or visual) the orientation and angular opening of the sensing equipment AND the exact orbit you could recreate planetary missions showing how the surface images were created.
A rough idea here would be for example for Mercury:
While the probe is approaching, cloak the surface texture with an opaque layer and as the probe orbits and takes pictures unclaok the respective parts of the planets.
This way people can exactly see how and which LOK textures were created.

This would also be quite handy for NASA and ESA for visual mission presentation. If they then provide SPICE kernels for the trajectories and the orientation of sensing equipment, Celestia could automatically show the progress.

What do you think about that?

Regards,

Guckytos

Re: The Feature Requests Collecting Thread

Posted: 10.11.2008, 11:16
by duds26
Updating Celestia video code for the new ogg codecs, file types and MIME-types.

There is a new naming convention that has new file extensions and MIME-types.
There is also a new videocodec possible named Dirac that can compress lossy and lossless.
(And while the celestia devs are at it, also check if the libraries are the most recent, of course.)

Celestia would be greatly enhanced with these updates/improvements.
https://www.xiph.org/

This is something that is better done soon than later.

Re: The Feature Requests Collecting Thread

Posted: 28.11.2008, 16:23
by duds26
Addons have compatibility problems, this is caused by celestia doing stuff different.

So why not define something that says for what version of celestia the addons are written.

The addon creators can then create addons without worrying about future incompatability.
And new addons don't have to carry many extra lines of code because of backwards compatability.
Example: the meshscale and the normalizemesh command, celestia 1.6 will be able to use sizes and scale from the 3d model.

Something like: CelestiaVersion = x.y (eg CelestiaVersion = 1.5)
That must be present in a .cfg file in the corresponding folder of the addon with a CelestiaVersion line or something like that.

All addons that have such a tag can be threated differently by celestia, so there is no garbage left for new add-on creators.
And if there is no such tag, celestia can assume it's for celestia 1.5 or something like that, to keep compatibility for older addons.

Example: new addons could have a celestiaversion 1.8 or something and not having to specify normalizemesh false,
while addons without a celestiaversion or lower than 1.5 would be treated differently and celestia would look for the normalizemesh and size.

Re: The Feature Requests Collecting Thread

Posted: 29.11.2008, 16:16
by duds26
Support for x3d models and stuff.
X3D is the ISO standard XML-based file format for representing 3D computer graphics, the successor to the Virtual Reality Modeling Language (VRML).[1] X3D features extensions to VRML (e.g. Humanoid Animation, NURBS, GeoVRML etc.), the ability to encode the scene using an XML syntax as well as the Open Inventor-like syntax of VRML97, and enhanced application programming interfaces (APIs).

https://en.wikipedia.org/wiki/X3D

http://www.web3d.org/x3d/what-x3d

Re: The Feature Requests Collecting Thread

Posted: 29.11.2008, 17:13
by duds26
Physically based rendering


Some resources:
http://pbrt.org/ <-- very good book about Physically based rendering with code examples and fomulaes, ...
https://pybullet.org/wordpress/
http://animationphysics.wordpress.com/

https://en.wikipedia.org/wiki/Volume_rendering
http://mke3.net/weblog/volume-rendering/

Physically based rendering would enhance Celestia very much.
It would allow for much more realistic rendering of the universe with higher performance.
More real life features would become very interesting like lenses and other optical stuff.
This would greatly enhance the educational value.

Re: The Feature Requests Collecting Thread

Posted: 29.11.2008, 17:23
by duds26
Universal 3D (U3D) is a compressed file format for 3D data.

(Single standard, library available)

https://www.ecma-international.org/publications/standards/Ecma-363.htm (documentation about the standard itself)

https://sourceforge.net/projects/u3d/ (libraries for it)

(U3D is also usable in PDF and has a wider adoption than X3D.)

Re: The Feature Requests Collecting Thread

Posted: 30.11.2008, 15:22
by duds26
Make Barycenters more interesting.
Make them clickable and allow a few options when right-clicking on it.

Some of the handy possibilities would be:

Barycenters could be used to select one of the stars of the system or other stuff. (doing this in a multistar system is more logical)
To have an info thing about the whole system.
To have an Altsystem to make an alternate appearance of an entire system in a few lines of catalog files,
no matter how much objects there are in the system.
And many other stuff.

Re: The Feature Requests Collecting Thread

Posted: 18.12.2008, 11:15
by duds26
Using sRGB gamma correction.
Will allow for reliable (same) colors on different platforms.

(Screenshots on Windows (PC) look darker than on Mac.)