Project Skybolt Client Development

Gondos

Well-known member
Joined
Apr 18, 2022
Messages
222
Reaction score
258
Points
78
Location
On my chair
@Gondos I pushed some updates:
  • updates to the Skybolt v1.2 branch to fix which fix the FFT ocean compilation errors, as well as some bug fixes
  • updates to OrbiterSkyboltClient master branch to build with conan, as well as some bug fixes. Build instructions are in the README.md.
Thanks for the update, but still no luck with the conan build. Got lots of undefined references as if OpenSceneGraph was not linked against correctly :
Code:
...
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(View.cpp.o) : dans la fonction « osg::ref_ptr<osg::TextureRectangle>::operator->() const » :
View.cpp:(.text._ZNK3osg7ref_ptrINS_16TextureRectangleEEptEv[_ZNK3osg7ref_ptrINS_16TextureRectangleEEptEv]+0x5a) : référence indéfinie vers « typeinfo for osg::TextureRectangle »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(View.cpp.o) : dans la fonction « osg::ref_ptr<osg::Stencil>::operator->() const » :
View.cpp:(.text._ZNK3osg7ref_ptrINS_7StencilEEptEv[_ZNK3osg7ref_ptrINS_7StencilEEptEv]+0x5a) : référence indéfinie vers « typeinfo for osg::Stencil »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(AcrossAllScreens.cpp.o) : dans la fonction « osgViewer::AcrossAllScreens::configure(osgViewer::View&) const » :
AcrossAllScreens.cpp:(.text+0x588) : référence indéfinie vers « osgGA::GUIEventAdapter::setWindowRectangle(int, int, int, int, bool) »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(PanoramicSphericalDisplay.cpp.o) : dans la fonction « osgViewer::PanoramicSphericalDisplay::configure(osgViewer::View&) const » :
PanoramicSphericalDisplay.cpp:(.text+0x190f) : référence indéfinie vers « osg::TextureRectangle::TextureRectangle() »
/usr/bin/ld : PanoramicSphericalDisplay.cpp:(.text+0x1c75) : référence indéfinie vers « osg::TexMat::TexMat() »
/usr/bin/ld : /home/gondos/.conan/data/openscenegraph-mr/3.7.0/user/stable/package/594dd9752652a704a9a2e9ce09d380e534a007f3/lib/libosgViewer.a(SphericalDisplay.cpp.o) : dans la fonction « osgViewer::SphericalDisplay::configure(osgViewer::View&) const » :
SphericalDisplay.cpp:(.text+0x1509) : référence indéfinie vers « osg::TextureCubeMap::TextureCubeMap() »
collect2: error: ld returned 1 exit status
make[2]: *** [src/Skybolt/SkyboltVisTests/CMakeFiles/SkyboltVisTests.dir/build.make:355 : bin/SkyboltVisTests] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:782 : src/Skybolt/SkyboltVisTests/CMakeFiles/SkyboltVisTests.dir/all] Erreur 2
make[1]: *** Attente des tâches non terminées....
[ 89%] Linking CXX static library ../../../lib/libSkyboltEngine.a
[ 89%] Built target SkyboltEngine
make: *** [Makefile:141 : all] Erreur 2
skybolt/1.3.0: 
skybolt/1.3.0: ERROR: Package 'f1b4c9ed19e5cea8bc790c6844e7cd55d127719f' build failed
skybolt/1.3.0: WARN: Build folder /home/gondos/.conan/data/skybolt/1.3.0/_/_/build/f1b4c9ed19e5cea8bc790c6844e7cd55d127719f
ERROR: skybolt/1.3.0: Error in build() method, line 63
        cmake.build()
        ConanException: Error 2 while executing cmake --build '/home/gondos/.conan/data/skybolt/1.3.0/_/_/build/f1b4c9ed19e5cea8bc790c6844e7cd55d127719f' '--' '-j12'
The engine compiled with a custom makefile and this one patch though :
Code:
diff --git a/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp b/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp
index b463d33..264972c 100644
--- a/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp
+++ b/src/Skybolt/SkyboltCommon/File/OsDirectories.cpp
@@ -15,7 +15,7 @@ namespace file {
 
 Path getHomeDirectory()
 {
-#ifdef unix
+#if defined(unix) || defined(__linux__)
        return getenv("HOME");
 #elif defined(WIN32)
        const char* homeDrive = std::getenv("HOMEDRIVE");
@@ -28,7 +28,7 @@ Path getHomeDirectory()
 
 Path getAppUserDataDirectory(const std::string& applicationName)
 {
-#ifdef unix
+#if defined(unix) || defined(__linux__)
        return getHomeDirectory()
                .append(applicationName); // TODO: where should this go on Unix?
 #elif defined(WIN32)
I'm updating my linux branch to use cmake again, when I'm done I'll try again with your latest client version.
 

MattR

Active member
Joined
Aug 5, 2021
Messages
42
Reaction score
124
Points
33
Location
Melbourne
Thanks for the update, but still no luck with the conan build. Got lots of undefined references as if OpenSceneGraph was not linked against correctly :
I had the same issue linking to the static OSG libraries on linux. I'll need to investigate further, but a workaround is to configure conan to build OSG as a shared library:
Code:
conan install ${workspace} -o openscenegraph-mr:shared=True --build=missing
 

BHawthorne

Simpit Builder
Donator
Joined
Mar 15, 2008
Messages
324
Reaction score
3
Points
18
Looks great. Excited to see how this develops. Any possibility for multi-display external camera rendering?
 

Gondos

Well-known member
Joined
Apr 18, 2022
Messages
222
Reaction score
258
Points
78
Location
On my chair
I had the same issue linking to the static OSG libraries on linux. I'll need to investigate further, but a workaround is to configure conan to build OSG as a shared library:
Code:
conan install ${workspace} -o openscenegraph-mr:shared=True --build=missing
Still no luck, I tried building it inside a fresh debian11 docker image but it still fails during the link.
Maybe it's a distro issue? Debian is not that bleeding edge... What kind of linux environment are you using?
 

MattR

Active member
Joined
Aug 5, 2021
Messages
42
Reaction score
124
Points
33
Location
Melbourne
Still no luck, I tried building it inside a fresh debian11 docker image but it still fails during the link.
Maybe it's a distro issue? Debian is not that bleeding edge... What kind of linux environment are you using?
I run the skybolt CI build on ubuntu. In case it helps, here's the build script and ubuntu build log.
 

MattR

Active member
Joined
Aug 5, 2021
Messages
42
Reaction score
124
Points
33
Location
Melbourne
OrbiterSkyboltClient 1.0.2 Released

FftOcean.jpg

CockpitGauges.jpgExhaustDG1.jpg
Release Notes
Improvements
  • FFT ocean support
  • Orbiter land masks are now used for water shading
  • Exhaust effects are now rendered
  • Improved shadow map filtering
  • Improved terrain normal mapping by accounting for curvature of earth
  • Virtual cockpit dynamic mesh components (e.g switches and gauges) are now supported
  • Improved particle stream shading
  • Improved volumetric cloud LOD blending
  • OSG log messages are now logged to standard orbiter log
Bug Fixes
  • Fixed incorrect particle velocity bug
  • Fixed crash when terrain textures not present
  • Fixed bug where incorrect terrain tile LOD levels were selected
  • Fixed bug where shadow map resolution in config file was ignored
  • Fixed issue where clouds occlusion appeared unrealistically dark
  • Fixed bug where HUD was covered by volumetric clouds in some cases
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,871
Reaction score
2,868
Points
188
Website
github.com
I'm getting several errors like
Code:
000000.010: FRAGMENT glCompileShader "Shaders/Particles.frag" FAILED

000000.010: FRAGMENT Shader "Shaders/Particles.frag" infolog:
ERROR: 0:1683: 'OUT' : failed to expand macro
and I'm not getting the beautiful visuals, but instead bland meshes, no terrain or clouds and a gray rectangle covering the top-right quarter of the image. :(
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
I appear to be getting a water-planet. Did I miss something in the install?
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,871
Reaction score
2,868
Points
188
Website
github.com
I appear to be getting a water-planet. Did I miss something in the install?
That is what I get at altitude, and a very dark surface at sea level.
 

Gondos

Well-known member
Joined
Apr 18, 2022
Messages
222
Reaction score
258
Points
78
Location
On my chair
This looks awesome, I'm gonna have to buy a new video card now ^^
Concerning your engine, how do you cope with the huge distances involved in planetary rendering and z-buffer accuracy? The D3D clients do some tricks by disabling z-writes/z-tests, playing with the clipping planes and rescaling the planets on the fly...
Do you do something similar or is a 24bit z-buffer enough to deal with the dynamic ranges involved?
 

supersonic71

Member
Joined
Sep 20, 2021
Messages
59
Reaction score
86
Points
18
Location
Asia Pac
Website
github.com
I appear to be getting a water-planet. Did I miss something in the install?
In Orbiter_NG.cfg, could you check if PlanetTexDir is set to the 2016 Texture directory? (In my case C:\Orbiter2016\Textures\ )
I remember having a similar issue before.
 

GLS

Well-known member
Orbiter Contributor
Addon Developer
Joined
Mar 22, 2008
Messages
5,871
Reaction score
2,868
Points
188
Website
github.com
In Orbiter_NG.cfg, could you check if PlanetTexDir is set to the 2016 Texture directory? (In my case C:\Orbiter2016\Textures\ )
I remember having a similar issue before.
On my end, all the paths are the default ones ("./Textures/", etc), and replacing them with the full path changed nothing.
 

Marg

Active member
Joined
Mar 20, 2008
Messages
482
Reaction score
66
Points
28
I have NVidia GForce GTX1060 6GB card - seems it is not suitable for this client? I have OpenGL at least 4 version... SpaceEngine, for example, works flawlessly.
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,429
Reaction score
680
Points
203
So I tried to get this built by following the instructions on the Github page, but it failed out with the following error message. It seems to fail at the conan install OrbiterSkyboltClient step.

Code:
mufft/1.0.0@user/stable: ERROR: Package '3fb49604f9c2f729b85ba3115852006824e72cab' build failed
mufft/1.0.0@user/stable: WARN: Build folder C:\Users\DaveS\.conan\data\mufft\1.0.0\user\stable\build\3fb49604f9c2f729b85ba3115852006824e72cab
ERROR: mufft/1.0.0@user/stable: Error in build() method, line 19
        cmake.configure()
        ConanException: Error 1 while executing cd C:\Users\DaveS\.conan\data\mufft\1.0.0\user\stable\build\3fb49604f9c2f729b85ba3115852006824e72cab && cmake -G "Visual Studio 16 2019" -A "x64" -DCONAN_LINK_RUNTIME="/MD" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="Visual Studio" -DCONAN_COMPILER_VERSION="16" -DCONAN_CXX_FLAGS="/MP8" -DCONAN_C_FLAGS="/MP8" -DCMAKE_INSTALL_PREFIX="C:\Users\DaveS\.conan\data\mufft\1.0.0\user\stable\package\3fb49604f9c2f729b85ba3115852006824e72cab" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -Wno-dev C:\Users\DaveS\.conan\data\mufft\1.0.0\user\stable\build\3fb49604f9c2f729b85ba3115852006824e72cab

E:\GitHub\Skybolt>conan build OrbiterSkyboltClient --build-folder OrbiterSkyboltClientBuild
ERROR: conanbuildinfo.txt file not found in E:\GitHub\Skybolt\OrbiterSkyboltClientBuild
It is required for this command
You can generate it using 'conan install'
 

DaveS

Addon Developer
Addon Developer
Donator
Beta Tester
Joined
Feb 4, 2008
Messages
9,429
Reaction score
680
Points
203
Thanks to supersonic71, I was pointed to pre-built package available on the Skybolt Github page so that bypassed the build sources step. It certainly looks good, but while using the standard Delta-Glider/DG-S Ready for takeoff scenario, I get very low frame rates, in the 20's. Also, from orbit the clouds look very blurry and low-res, I have attached a screenshot of this. Is this expected at this stage?
 

Attachments

  • Skybolt_orbit_blurry_clouds.jpg
    Skybolt_orbit_blurry_clouds.jpg
    96.6 KB · Views: 43

gamer19

Well-known member
Joined
Jul 16, 2016
Messages
224
Reaction score
355
Points
78
Dave, which Orbiter version did you used with Skybolt ?
 
Top