Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Space Flight Simulator > Orbiter Web Forum
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Orbiter Web Forum A forum for general Orbiter-related comments and discussion. Post your questions about Orbiter and addons in the appropriate forums below. Upload your Orbiter screen shots to our gallery HERE!

Reply
 
Thread Tools
Old 07-06-2017, 01:13 AM   #16
TCR_500
Biblical Creationist
Default

Quote:
Originally Posted by Face View Post
 IMHO, WinForms is pretty well covered by Wine (and the lib), so it would take much more time to refactor it then to emulate it. It is also not the performance-critical part. The critical part is the rendering performance, and for that the already available solution is to create a proper OVP backend.

You could argue that the low-level Windows file API might help in texture and terrain loading, but I'm pretty sure that Wine also covers that area.

AFAIK, Artlav already presented a prototype that does just that: run Orbiter_NG server in Wine, do OpenGL in native Linux.
I was thinking more in terms of defining the user interface into the 3D graphics engine. Some of that has already been done in Orbiter 2016 with the new F4 menu at the top-center of the screen.
TCR_500 is offline   Reply With Quote
Old 07-06-2017, 08:11 AM   #17
Face
Beta Tester
 
Face's Avatar

Default

Quote:
Originally Posted by TCR_500 View Post
 I was thinking more in terms of defining the user interface into the 3D graphics engine. Some of that has already been done in Orbiter 2016 with the new F4 menu at the top-center of the screen.
Yeah, I know what you meant. My statement still stands.
Face is offline   Reply With Quote
Thanked by:
Old 07-06-2017, 08:19 AM   #18
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

Also: Please remember that Orbiter is essentially a single-person project.

Who thinks that this doesn't matter should feel free to develop an Orbiter clone for Linux. I doubt somebody will complain about it. Maybe it can even use some assets of Orbiter - while not exactly legal, its not completely ridiculous that an agreement with martins could be reached, for example regarding the planet textures and heightmap data that he already processed.
Urwumpe is online now   Reply With Quote
Thanked by:
Old 07-06-2017, 10:17 AM   #19
Enjo
Mostly harmless
 
Enjo's Avatar


Default

Quote:
Originally Posted by Urwumpe View Post
 Who thinks that this doesn't matter should feel free to develop an Orbiter clone for Linux. I doubt somebody will complain about it.
If I had time for this, I'd start from forking Pioneer, and using FlightSim's atmospheric model. But for now, I have no problem with waiting for somebody else to do it

Last edited by Enjo; 07-06-2017 at 10:22 AM.
Enjo is offline   Reply With Quote
Old 07-06-2017, 11:21 AM   #20
Artlav
Aperiodic traveller
 
Artlav's Avatar

Default

Quote:
Originally Posted by Urwumpe View Post
 feel free to develop an Orbiter clone for Linux.
Well, i tried that too.
Artlav is offline   Reply With Quote
Thanked by:
Old 07-06-2017, 12:22 PM   #21
Urwumpe
Certain Super User
 
Urwumpe's Avatar

Default

Quote:
Originally Posted by Artlav View Post
 Well, i tried that too.
Yes and the important thing is: You tried. You did not wait for something to arrive, you tried to change fate.

I am so happy with 99% of Orbiter, that the 1% that I would like to change don't really motivate me to do something against it....
Urwumpe is online now   Reply With Quote
Thanked by:
Old 07-06-2017, 04:14 PM   #22
TCR_500
Biblical Creationist
Default

Quote:
Originally Posted by Urwumpe View Post
 Who thinks that this doesn't matter should feel free to develop an Orbiter clone for Linux.
I did try implementing a system in another project that would allow things to orbit planets. But whenever I tested the system, the orbits kept gaining energy even though there was only one source of gravity (I used the RK4 method). Also, the CPU usage nearly got pegged as I called the time step function hundreds of times per tick just so that I could observe the results in a reasonable time frame and keep the simulation accuracy stable.
TCR_500 is offline   Reply With Quote
Old 07-06-2017, 04:40 PM   #23
Artlav
Aperiodic traveller
 
Artlav's Avatar

Default

Quote:
Originally Posted by TCR_500 View Post
 ...the orbits kept gaining energy...
...Also, the CPU usage nearly got pegged as I called the time step function hundreds of times per tick...
That sounds wrong.
RK4 is absurdly stable even at time steps measured in minutes, as far as a low orbit around a decent planet is concerned.
For a DG-around-Earth i'm starting to get visible symmetrical errors at around 250s per step, and there is still no gain in energy.

Are you sure you update the gravity vector between the stages of RK4?
Artlav is offline   Reply With Quote
Old 07-07-2017, 02:21 AM   #24
TCR_500
Biblical Creationist
Default

Quote:
Originally Posted by Artlav View Post
 That sounds wrong.
RK4 is absurdly stable even at time steps measured in minutes, as far as a low orbit around a decent planet is concerned.
For a DG-around-Earth i'm starting to get visible symmetrical errors at around 250s per step, and there is still no gain in energy.

Are you sure you update the gravity vector between the stages of RK4?
Not quite sure what you mean by "stage" but I followed this tutorial almost exactly, but with 2 extra dimensions.
TCR_500 is offline   Reply With Quote
Old 07-07-2017, 05:03 AM   #25
Thorsten
Orbinaut
 
Thorsten's Avatar
Default

Quote:
But whenever I tested the system, the orbits kept gaining energy even though there was only one source of gravity (I used the RK4 method).
I've once written a planar n-body solver for general relativity gravity as part of a project to simulate conditions on exoplanets (see here for a demo of orbits around a Black Hole).

I implemented different integrators to see what works fastest, and I found that while RK helps you a lot in the presence of friction forces, it didn't really do much for orbits and running an Euler instead with smaller timestep offered the better tradeoff between accuracy and computation speed.

I can't really give numbers for my final accuracy, in the end the simulation delivered all I wanted to observe (GR contribution of the perihelion precession of Mercury, orbital resonances, the mechanism by which Jupiter protects Earth from debris, orbital resonances,...) - my point is that even a 'naive' algorithm can give fairly good results outside the atmosphere if implemented correctly (it took less than a week to code and test the solver, so this isn't a project demanding several man-years - atmosphere and ground interactions are a lot more complex though...)

(Having said that, numerical math is a bit of an art where techniques and timesteps have to be tuned a lot to the problem and monitored all the time).
Thorsten is offline   Reply With Quote
Old 07-09-2017, 12:40 AM   #26
innocent_bystander
Orbinaut
Default

There is a really awesome C++ framework called Qt. Not only is it supported on Linux, Mac and Windows and many other platforms, but it also has OpenGL support.

Unless I am missing something, I don't think the Orbiter server itself uses that many Windows-specific calls. The only things I can think of are keyboard/mouse/joystick input processing. The rest, I believe, is pure math.

So, it shouldn't be that much hassle to make the server cross-platform. (May need to throw SDL2 into the mix -- which is also cross-platform.)

If, there is interest in it, I'd be willing to take a stab at the porting effort. Ready to sign any needed NDAs and whatnot. (Although my time is very limited.)

The client is another story. But again, it can be ported to OpenGL using Qt and be made cross-platform.

Artlav, why did you stop developing OGLA? Did you run into problems, or was it a lack of time/interest issue?
innocent_bystander is offline   Reply With Quote
Old 07-09-2017, 01:46 AM   #27
Artlav
Aperiodic traveller
 
Artlav's Avatar

Default

Quote:
Originally Posted by innocent_bystander View Post
 There is a really awesome C++ framework called Qt
Wrong approach. A system-type program like Orbiter needs it's own simple widgets, and HW handling is independent of framework.
Also, porting to OpenGL and Qt are completely unrelated. Qt is a widget library that allows the use of OpenGL, but OpenGL itself is separate and larger than Qt or anything similar.

Quote:
Originally Posted by innocent_bystander View Post
 Artlav, why did you stop developing OGLA? Did you run into problems, or was it a lack of time/interest issue?
Hard to sum it up.
Initially it was this: https://www.orbiter-forum.com/blog.php?b=1548
Then things kept drifting off, and this ended too: http://thespaceway.org/page.php?id=1028

Fundamentally, i got to a point where i had more projects than there is time in a day, and the mean-time-between-hops got to about a year.
That is, if i hop from one project to the next, i'm unlikely to circle around and return earlier than in a year.
That caused a lot of rethinking and triaging.
Artlav is offline   Reply With Quote
Old 07-10-2017, 03:57 AM   #28
innocent_bystander
Orbinaut
Default

Quote:
Originally Posted by Artlav View Post
 Wrong approach. A system-type program like Orbiter needs it's own simple widgets, and HW handling is independent of framework.
Also, porting to OpenGL and Qt are completely unrelated. Qt is a widget library that allows the use of OpenGL, but OpenGL itself is separate and larger than Qt or anything similar.
Artlav, Qt is a lot more than a widget library. In fact QtWidgets is just one of many modules. For example, QtCore module allows you to handle I/O in a platform-independent way in addition to many other things.

Here is a list of Qt modules: https://doc.qt.io/qt-5/qtmodules.html

Similarly, Qt not just uses OpenGL, it allows you work with OpenGL in a platform-independent manner. For example, take a look at the QOpenGLContext class.

Anyway, thank you for sharing the reasons why you stopped working on OGLA and thank you for what you have done. na zdravye
Hope to see you back some day.

In the meantime, I hope Dr. Schweiger sees this post and at least takes a good look at Qt.
innocent_bystander is offline   Reply With Quote
Thanked by:
Old 07-11-2017, 02:45 PM   #29
TCR_500
Biblical Creationist
Default

Wouldn't using something like Qt be slower than the OS' native windowing system?
TCR_500 is offline   Reply With Quote
Old 07-11-2017, 07:38 PM   #30
Linguofreak
Orbinaut
Default

Quote:
Originally Posted by TCR_500 View Post
 Wouldn't using something like Qt be slower than the OS' native windowing system?
Somewhat, but CPU time is cheap as dirt these days, and your use of a cross platform vs native windowing toolkit these days is unlikely to be your bottleneck. The bottleneck is more likely to be in physics, 3D graphics, or waiting for user input (pretty much any program that's not doing physics or 3D graphics will spend most of its time waiting for the user to do something. People have glacially slow reaction times).
Linguofreak is offline   Reply With Quote
Thanked by:
Reply

  Orbiter-Forum > Orbiter Space Flight Simulator > Orbiter Web Forum


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 04:24 PM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.