Application: Sailanarmo

Join the team. This area is for people who want to participate in OpenMW's development in one way or another.
User avatar
Capostrophic
Posts: 794
Joined: 22 Feb 2016, 20:32

Re: Application: Sailanarmo

Post by Capostrophic »

Surely biting the bullet and moving to osgQOpenGL somehow is better than moving to a newer OpenSceneGraph release.

Actually, if using QGLWidget is the case of the issue, then the issue is still localized in osgQt, since that's no longer the part of main OSG and we're using a stripped down version of it anyway.

Unless you meant that it's an osgQt issue in the first place.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Application: Sailanarmo

Post by AnyOldName3 »

Qt4-style OpenGL is deprecated, but that doesn't mean it's expected not to work or that everyone should immediately try and migrate. OpenGL is deprecated on MacOS, and yet no one's panicking that we're not using an as-yet-nonexistent MetalSceneGraph. Upstream osgQt has a branch which uses Qt5-style OpenGL (and presumably doesn't have this bug), but one of the main reasons it's not been merged is that there are still people stuck with Qt4, and totally abandoning QGL in favour of QOpenGL leaves those people on their own.

The issue should be fixable without a major rework of everything, and is almost certainly going to be a one or two line change once the right one or two lines are identified.
User avatar
Sailanarmo
Posts: 12
Joined: 24 Apr 2018, 20:57
Location: United States

Re: Application: Sailanarmo

Post by Sailanarmo »

Yeah, I meant it is an osgQt issue. I noticed that someone has ported a version over and is currently maintaining it. Whether it works or not I am not too sure. But it seems that user has migrated the QGLWidget to QOpenGLWidget and QOpenGLWindow.

Digging a little further shows that the official OSG has removed osgQt from their newer releases. The latest one I can find is version 3.0.1 and these qt GL Widgets are using the older deprecated QGLWidget.

This is only a guess though. However it is probably a good guess.
User avatar
Sailanarmo
Posts: 12
Joined: 24 Apr 2018, 20:57
Location: United States

Re: Application: Sailanarmo

Post by Sailanarmo »

AnyOldName3 wrote: 08 Apr 2019, 21:46 Qt4-style OpenGL is deprecated, but that doesn't mean it's expected not to work or that everyone should immediately try and migrate. OpenGL is deprecated on MacOS, and yet no one's panicking that we're not using an as-yet-nonexistent MetalSceneGraph. Upstream osgQt has a branch which uses Qt5-style OpenGL (and presumably doesn't have this bug), but one of the main reasons it's not been merged is that there are still people stuck with Qt4, and totally abandoning QGL in favour of QOpenGL leaves those people on their own.

The issue should be fixable without a major rework of everything, and is almost certainly going to be a one or two line change once the right one or two lines are identified.
Right, and that was going to be my question. I am not sure if it is entirely worth trying to get everyone to drop Qt4 and migrate everyone over to Qt5. However, I do not think it is going to be as easy as finding one or two lines as if this has been an issue since 2013 I feel it would have been found 6 years later.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Application: Sailanarmo

Post by AnyOldName3 »

The main reason osgQt got moved out into its own repo was that it wasn't really being maintained, so it's completely possible that as there was a workaround, no one bothered fixing it.
User avatar
Capostrophic
Posts: 794
Joined: 22 Feb 2016, 20:32

Re: Application: Sailanarmo

Post by Capostrophic »

1. AnyOldName3 osgQOpenGL has been merged to master recently and old Qt4-compatible branched master is considered legacy. For all intents and purposes it's abandoned.
2. Sailanarmo, I already stated the fact that osgQt is no longer part of OSG. And again, note that OpenMW is using its own stripped down osgQt in extern folder.
User avatar
Sailanarmo
Posts: 12
Joined: 24 Apr 2018, 20:57
Location: United States

Re: Application: Sailanarmo

Post by Sailanarmo »

Yeah, I'll have a deeper look when I get home. These were just some thoughts, because I think our stripped down version is still using the old osgQt code which depends on QGLWidget which is now deprecated, which may have problems in Qt5. That was the point I was trying to make.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: Application: Sailanarmo

Post by AnyOldName3 »

1. AnyOldName3 osgQOpenGL has been merged to master recently and old Qt4-compatible branched master is considered legacy. For all intents and purposes it's abandoned.
I hadn't noticed that. It was only six days ago, though.

I've had a look, and Qt4 is actually officially unsupported now, so we do have reasonable grounds for dropping compatibility if we need to. I was also under the impression that the new OpenGL stuff came part way through Qt 5 (around 5.7-ish) but it's been there since 5.0, so the new osgQt should be fine with all officially supported Qt versions.

As it's been unsupported for quite a while, I might have been wrong about some people still being stuck on Qt4. Do we have evidence that it would be bad to use the new upstream osgQt changes and drop Qt4 support?
User avatar
Sailanarmo
Posts: 12
Joined: 24 Apr 2018, 20:57
Location: United States

Re: Application: Sailanarmo

Post by Sailanarmo »

AnyOldName3 wrote: 08 Apr 2019, 22:29 As it's been unsupported for quite a while, I might have been wrong about some people still being stuck on Qt4. Do we have evidence that it would be bad to use the new upstream osgQt changes and drop Qt4 support?
I am probably not the best person to answer this. The only thing I can say is this is the only thing I know that has been deprecated. I am not sure if we are using any other Qt Calls that have been deprecated within the main code base that also rely on Qt4.
darkbasic
Posts: 153
Joined: 18 Apr 2016, 15:45
Contact:

Re: Application: Sailanarmo

Post by darkbasic »

Just drop QT4, it's unsupported and nobody still uses it.
Post Reply