Celestia 1.7.0 Development Thread
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.
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?
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 authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
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.
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?
-
- Developer
- Posts: 234
- Joined: 05.01.2018
- Age: 38
- With us: 6 years 10 months
- Location: Wrocław
- Contact:
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.
Still formally developer, but too tired to develop. I feel sad, but Celestia is going forward despite it.
Btw, the universe is ruled by electricity.
Btw, the universe is ruled by electricity.
- Sirius_Alpha
- Posts: 223
- Joined: 21.03.2019
- With us: 5 years 7 months
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).
Can T dwarf atmospheres be removed (or changed)? Their atmospheres are black, making transiting T-dwarfs look strange (example image attached).
Exoplanet nerd. I maintain a monthly-updated exoplanet catalogue here:
https://celestiaproject.space/forum/viewtopic.php?f=23&t=18705
https://celestiaproject.space/forum/viewtopic.php?f=23&t=18705
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.
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 authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
- fyr02
- Posts: 249
- Joined: 19.04.2019
- Age: 19
- With us: 5 years 6 months
- Location: San Diego, California (United States)
I feel like a "Reload from Disk" button would do the trick where it would reload all Celestia files from the disk.4.) real time stc, ssc, dsc file editing without restarting Celestia
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.
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.
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.
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.
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.
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.
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.
@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.
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.
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
-
Topic authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
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:
UPD: fixed urls and shaders installation path.
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.
- Lafuente_Astronomy
- Moderator
- Posts: 726
- Joined: 04.08.2018
- Age: 26
- With us: 6 years 3 months
- Location: Cebu City, Cebu Province, Philippines
- Contact:
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.
Invite: https://discordapp.com/invite/WEWDcJh
If you don't have a Discord account, register here: https://discordapp.com/register
Have a blessed day.
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.
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.
- Lafuente_Astronomy
- Moderator
- Posts: 726
- Joined: 04.08.2018
- Age: 26
- With us: 6 years 3 months
- Location: Cebu City, Cebu Province, Philippines
- Contact:
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.
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 authoronetwothree
- Site Admin
- Posts: 706
- Joined: 22.09.2018
- With us: 6 years 1 month
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.
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.