Celestia 1.7.0 Development Thread

The place to discuss creating, porting and modifying Celestia's source code.
john71
Posts: 464
Joined: 10.08.2016
With us: 3 years 2 months

Post #441by john71 » 10.07.2019, 13:26

onetwothree, You wrote "Shift+~ on my keyboard". Which key is the ~ on your keyboard? On mine it is the left side, second row (under the ESC key), second ("1") key. But no fps info shows up. :think:

Real time ssc, stc, dsc editing is a very simple idea: we should be able to open a file from inside Celestia, edit it in a very simple integrated text editor, and see the results right away.

Maybe some kind of quick restart function would be useful.

I mean after editing the ssc, stc, dsc files inside Celestia, Celestia would restart itself and would restore the last session (the exact last location!) with the new ssc, stc, dsc data.

Added after 34 minutes 21 seconds:
Oh, and one more thing. For some reason in the new 1.7 version (last github commit) the arrow keys do not change the camera view, I mean the camera is not moving anymore. Did I switch this function off somehow or it is a new program design/change?

Topic author
onetwothree
Developer
Posts: 314
Joined: 22.09.2018
With us: 1 year 1 month

Post #442by onetwothree » 10.07.2019, 14:19

john71 wrote:You wrote "Shift+~ on my keyboard". Which key is the ~ on your keyboard? On mine it is the left side, second row (under the ESC key), second ("1") key. But no fps info shows up. :think:

It's just "~", yes, under ESC, left to "1". Shift+~ shows log entries, my fault. It was in 1.6 even.

john71 wrote:Oh, and one more thing. For some reason in the new 1.7 version (last github commit) the arrow keys do not change the camera view, I mean the camera is not moving anymore. Did I switch this function off somehow or it is a new program design/change?

We haven't changed anything in this area. Are previous build working for you?

pirogronian
Developer
Posts: 187
Joined: 05.01.2018
Age: 33
With us: 1 year 9 months
Location: Wrocław
Contact:

Post #443by pirogronian » 10.07.2019, 15:33

john71 wrote:Real time ssc, stc, dsc editing is a very simple idea: we should be able to open a file from inside Celestia, edit it in a very simple integrated text editor, and see the results right away.

Cant You just edit script in external editor and load it again? It doesnt require celestia restart.

john71
Posts: 464
Joined: 10.08.2016
With us: 3 years 2 months

Post #444by john71 » 10.07.2019, 18:13

pirogronian, Not really, I mean if I want to create/write or correct an ssc file, it would be nice to have an integrated approach. In that way you could see the results inside Celestia right away.

Avatar
Sirius_Alpha
Posts: 49
Joined: 21.03.2019
With us: 7 months 2 days

Post #445by Sirius_Alpha » 10.07.2019, 20:22

If you all are taking requests for 1.7.0, could I make a minor one?

Can T dwarf atmospheres be removed (or changed)? Their atmospheres are black, making transiting T-dwarfs look strange (example image attached).
Attachments
TDwarfTransit.jpg

Janus
Posts: 418
Joined: 13.08.2016
With us: 3 years 2 months

Post #446by Janus » 10.07.2019, 20:33

On the topic of ideas, I have an odd one.

I have been tinkering with the idea of a popup that shows the data for the selected body.
Out of my skill range so far, but I am learning.
Take the popup data from in memory, not data files.
Then with the data Celestia is using to display the item, allow edits that are saved back to memory.
The idea is to be able to play with realtime alterations you can update.
If you wanted to save it, then just write it all down.

Asteroid or Comet was my main interest.


Janus.

Topic author
onetwothree
Developer
Posts: 314
Joined: 22.09.2018
With us: 1 year 1 month

Post #447by onetwothree » 10.07.2019, 20:37

Quite long time are I remove atmospheres for T5-T9 and Y dwarves.

Avatar
fyr02
Posts: 120
Joined: 19.04.2019
Age: 14
With us: 6 months 4 days
Location: San Diego, California (United States)

Post #448by fyr02 » 10.07.2019, 20:48

4.) real time stc, ssc, dsc file editing without restarting Celestia
I feel like a "Reload from Disk" button would do the trick where it would reload all Celestia files from the disk.
I would imagine a list of check boxes saying "ssc", "stc", "dsc", "models", "textures", and "all other files".
You could check what type of files you want reloaded from the disk and then click a button.
I have my messed up origins; I can't control my mind. Also, did you know that cashews grow on top of apples?

john71
Posts: 464
Joined: 10.08.2016
With us: 3 years 2 months

Post #449by john71 » 11.07.2019, 04:23

onetwothree, OK, I checked a few things in the last commit.

1.) the arrow keys are indeed working in the last version. When I wrote my post yesterday, I had several versions of Celestia running at the same time. That was the probable cause of the not functioning arrow keys. :eek:

2.) the fps monitoring is working, but I have to use the ALT GR + 7 keys on my keyboard.

ON THE OTHER HAND, my fps using the last build (qt) is catastrophic, 5 (!!!)-20 fps, AND I have an 8 core CPU with Geforce 1050Ti and Windows 10 64 bit, 16GB RAM.

So there is a real lagging error in the last build. :sad:

Celestia 1.6.1 produces on the same spot (with the same content!) a 30-40 fps rate.

This is a very serious issue in my opinion. :think:

Janus
Posts: 418
Joined: 13.08.2016
With us: 3 years 2 months

Post #450by Janus » 11.07.2019, 05:06

@john71

Does that include my 5528 compile which I posted a few days ago?
I ask because I get much higher frame rates in general.


Janus.

john71
Posts: 464
Joined: 10.08.2016
With us: 3 years 2 months

Post #451by john71 » 11.07.2019, 05:29

Janus, 8-12 fps on the same spot with my add-on star system, otherwise 50-60 at the Solar System.

Added after 3 minutes 12 seconds:
It seems that the presence of lot of objects, large textures and meshes are causing the problem, but Celestia cannot use the hardware to compensate. :think:

Janus
Posts: 418
Joined: 13.08.2016
With us: 3 years 2 months

Post #452by Janus » 11.07.2019, 06:31

@john71

One of the things games do with 3D is presort things, which means everything, according to vector and distance.
This reduces the dependence on Z buffers for depth sorting at the display stage.
Basically, layers are drawn starting with the most distant, growing progressively closer until clipping.
Celestia does almost none of that.

Basically, it starts with DSOs, then moves closer, at first.
However, asteroids, comets and planets along with moons don't have a consistent display depth.
With everything in motion, including the observer, it hands the display handler a real mess.

One way that might, and I say might, help, sounds counter intuitive.
Keep DSOs, clusters, stars, etc done first.
When working in a solar system, instead of adding directly to the display stack.
You hand off the commands to a stack that sorts by vector/depth as you add to it.
You then hand the whole stack off at once, with vector and in particular depth, already mixed together in order.

This reduces the real overhead because you only do depth once, when adding it, not for every single item.
Right now the display handler has to do a depth check for every single item you add.
Or, look at this way, right now a bubble sort by depth is being done for every item, with each item added making the next sort slower.

The display stack, which can be a simple stack, or even a C++ vector or list, can be sorted just the once.
The secret is to index base coordinates for each item using dot norm or .norm() which equates to length.
list.insert_item_at(item, list.closest(item.norm()))
This is a pseudo-code approximation, but it conveys the point, or so I hope.
Look up the index of the closest match by distance or dot norm, then insert at that index.
In a lot of ways, it is just a prerender sorting system indexed by depth, then vector.


Janus.

john71
Posts: 464
Joined: 10.08.2016
With us: 3 years 2 months

Post #453by john71 » 11.07.2019, 07:08

Janus, What I cannot comprehend is that THERE IS a lot of FREE CPU power, bandwidth, RAM, GPU power and yet Celestia is not capable using any of it. :insane:

Topic author
onetwothree
Developer
Posts: 314
Joined: 22.09.2018
With us: 1 year 1 month

Post #454by onetwothree » 11.07.2019, 08:01

Because writing good 3D engine requires really high skills. Good engines keep GPU saturated, while with Celestia when CPU is preparing data, GPU is idle, then GPU is working and CPU is idle and so on. Now we don't have any devs with good 3D experience. We are just learning.

john71
Posts: 464
Joined: 10.08.2016
With us: 3 years 2 months

Post #455by john71 » 11.07.2019, 08:25

onetwothree, That's OK, you are doing your best, this is an open source project. :clap: I just wanted to highlight this problem.

Topic author
onetwothree
Developer
Posts: 314
Joined: 22.09.2018
With us: 1 year 1 month

Post #456by onetwothree » 15.07.2019, 20:51

A new devel snapshot for windows: celestia-update-1.7.0~git20190710+7b095b8.7z.

This is an incremental update, first you need to install a previous version, see them here.

Copy all files from 32/ or 64/ subdir depending on your operating system.

Copy shaders subdir to your installation directory.

Changes since the previous snapshot 1.7.0~git20190503+06ca2c5:
  • A new common API to calculate eclipses, ported from Qt version
  • LuaJIT is preferred over usual Lua library (faster celx scripts!)
  • Help->Manual opens https://en.wikibooks.org/wiki/Celestia instead of absent local files
  • Minimal supported Lua version bumped to 5.1 (was 5.0)
  • On GL3+ class hardware Vertex Array Objects are used (only in some places: asterisms and their boundaries, body axis arrows, markers, globulars, terminator, this is work in progress)
  • Rare abnormal termination when body axis arrows are enabled has been fixed
  • More conversions from old GL1 immediate mode to more modern GL2 shader based code (note that globulars look quite different with new code, less blurry)
  • Add controls to filter objects in Solar system browser (only Qt version)
  • Make DSO filter non-exclusive (only Qt version)
  • Fading orbits can be toggled in gtk and win32 versions
  • Fix renderflags save in windows registry and change the registry path from Software\Shatters.net\Celestia to Software\celestia.space\Celestia1.7-dev. John71, this should fix the issues you have with windows-native 1.7.

UPD: fixed urls and shaders installation path.
Last edited by onetwothree on 16.07.2019, 08:32, edited 1 time in total.

Avatar
Lafuente_Astronomy
Moderator
Posts: 397
Joined: 04.08.2018
Age: 21
With us: 1 year 2 months
Location: Cebu City, Cebu Province, Philippines
Contact:

Post #457by Lafuente_Astronomy » 15.07.2019, 23:06

onetwothree wrote:Because writing good 3D engine requires really high skills. Good engines keep GPU saturated, while with Celestia when CPU is preparing data, GPU is idle, then GPU is working and CPU is idle and so on. Now we don't have any devs with good 3D experience. We are just learning.

It's ok. Keep up the goodwork. You've done more than enough for Celestia as it is.

Added after 1 minute 17 seconds:
Also, when I clicked the links in your latest post, it led me to blank pages with error messages that say "The requested path was not found". Was there a redirect or are the links changed?
Official Administrator of the Celestia Discord Server.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.

Janus
Posts: 418
Joined: 13.08.2016
With us: 3 years 2 months

Post #458by Janus » 15.07.2019, 23:53

There are extra ':' colons in the middle of the addresses beside the celestia-update.
Remove them and they work.

https://dl.bintray.com/celestia/celestia-builds/c ... e-1.7.0~git20190710 7b095b8.7z

For instance, or:

https://dl.bintray.com/celestia/celestia-builds/

If you want to look at them all.
Again, check for extraneous ':' colons.
The index script seems to have a problem.

Janus.

Avatar
Lafuente_Astronomy
Moderator
Posts: 397
Joined: 04.08.2018
Age: 21
With us: 1 year 2 months
Location: Cebu City, Cebu Province, Philippines
Contact:

Post #459by Lafuente_Astronomy » 15.07.2019, 23:59

Janus wrote:There are extra ':' colons in the middle of the addresses beside the celestia-update.
Remove them and they work.

https://dl.bintray.com/celestia/celestia-builds/c ... e-1.7.0~git20190710 7b095b8.7z

For instance, or:

https://dl.bintray.com/celestia/celestia-builds/

If you want to look at them all.
Again, check for extraneous ':' colons.
The index script seems to have a problem.

Janus.

Thanks a lot Janus!

Added after 9 minutes 38 seconds:
Janus wrote:@john71

Does that include my 5528 compile which I posted a few days ago?
I ask because I get much higher frame rates in general.


Janus.

Wait, you posted your latest commit? Where?
Official Administrator of the Celestia Discord Server.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.

Topic author
onetwothree
Developer
Posts: 314
Joined: 22.09.2018
With us: 1 year 1 month

Post #460by onetwothree » 16.07.2019, 09:35

New eclipse finder show incorrect eclipse start time, it looks like time zone offset is substructed twice.

UPD: not our fault, it was a bug in the original Qt interface code. Fixed in the current master.
Last edited by onetwothree on 19.07.2019, 08:25, edited 1 time in total.


Return to “Development”

Who is online

Users browsing this forum: 48 guests