The Feature Requests Collecting Thread

General discussion about Celestia that doesn't fit into other forums.
hank
Developer
Posts: 645
Joined: 03.02.2002
With us: 22 years 9 months
Location: Seattle, WA USA

Post #181by hank » 11.07.2007, 23:21

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

Avatar
dirkpitt
Developer
Posts: 674
Joined: 24.10.2004
With us: 20 years 1 month

Post #182by dirkpitt » 12.07.2007, 03:43

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.

cyber_space_doc
Posts: 53
Joined: 19.03.2007
With us: 17 years 8 months
Location: united kingdom

Post #183by cyber_space_doc » 13.07.2007, 00:50

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 );
}
System: AMD 3200+
512Mb RAM
GeForce 7300 FX 256 mb VRAM
Windows XP Home Edition
Nforce4 Motherboard
Service Pack 2
_____________________

hank
Developer
Posts: 645
Joined: 03.02.2002
With us: 22 years 9 months
Location: Seattle, WA USA

Post #184by hank » 13.07.2007, 01:35

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

cyber_space_doc
Posts: 53
Joined: 19.03.2007
With us: 17 years 8 months
Location: united kingdom

Post #185by cyber_space_doc » 13.07.2007, 03:06

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.
System: AMD 3200+

512Mb RAM

GeForce 7300 FX 256 mb VRAM

Windows XP Home Edition

Nforce4 Motherboard

Service Pack 2

_____________________

hank
Developer
Posts: 645
Joined: 03.02.2002
With us: 22 years 9 months
Location: Seattle, WA USA

Post #186by hank » 13.07.2007, 14:27

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

srosenow_98
Posts: 18
Joined: 18.07.2007
With us: 17 years 4 months
Location: Shelton, Washington

Post #187by srosenow_98 » 18.07.2007, 11:11

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!

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #188by t00fri » 18.07.2007, 11:48

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
Last edited by t00fri on 18.07.2007, 19:58, edited 11 times in total.
Image

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #189by selden » 18.07.2007, 12:01

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.
Selden

srosenow_98
Posts: 18
Joined: 18.07.2007
With us: 17 years 4 months
Location: Shelton, Washington

Post #190by srosenow_98 » 19.07.2007, 04:41

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.

immersive
Posts: 3
Joined: 26.07.2007
With us: 17 years 3 months

Post #191by immersive » 02.08.2007, 19:39

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

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Post #192by duds26 » 20.08.2007, 16:54

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.

Guckytos
Posts: 439
Joined: 01.06.2004
With us: 20 years 5 months
Location: Germany

Ground tracking of satellites

Post #193by Guckytos » 14.09.2008, 07:52

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

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: The Feature Requests Collecting Thread

Post #194by duds26 » 10.11.2008, 11:16

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.
Last edited by duds26 on 15.04.2018, 20:30, edited 1 time in total.

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: The Feature Requests Collecting Thread

Post #195by duds26 » 28.11.2008, 16:23

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.
Last edited by duds26 on 15.04.2018, 20:23, edited 1 time in total.

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: The Feature Requests Collecting Thread

Post #196by duds26 » 29.11.2008, 16:16

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
Last edited by duds26 on 15.04.2018, 20:24, edited 2 times in total.

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: The Feature Requests Collecting Thread

Post #197by duds26 » 29.11.2008, 17:13

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.
Last edited by duds26 on 15.04.2018, 20:22, edited 1 time in total.

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: The Feature Requests Collecting Thread

Post #198by duds26 » 29.11.2008, 17:23

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.)
Last edited by duds26 on 15.04.2018, 20:18, edited 1 time in total.

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: The Feature Requests Collecting Thread

Post #199by duds26 » 30.11.2008, 15:22

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.
Last edited by duds26 on 01.03.2009, 16:03, edited 1 time in total.

duds26
Posts: 328
Joined: 05.02.2007
Age: 34
With us: 17 years 9 months
Location: Europe

Re: The Feature Requests Collecting Thread

Post #200by duds26 » 18.12.2008, 11:15

Using sRGB gamma correction.
Will allow for reliable (same) colors on different platforms.

(Screenshots on Windows (PC) look darker than on Mac.)
Last edited by duds26 on 01.03.2009, 16:02, edited 2 times in total.


Return to “Celestia Users”