Page 1 of 2

OpenMW with Godot?

Posted: 22 Sep 2020, 20:56
by Kravensky
Godot is awesome by the way. As said elsewhere, had it been around when OpenMW started then it could have been used.
© psi29a

Sometime ago i've read that OpenMW probably will not support Vulkan, because replacing OpenGL with it will break compatibility with older hardware and supporting both API will increase maintaining cost (or something like this). And i've thought: why don't use upcoming Godot 4.0, which supports both Vulkan and OpenGL (GLES 2.0) for compatibility? And it doesn't require maintaining: it's what Godot team for. They'll probably be glad to have OpenMW on their side.

I understand it'll take some (many?) effort to move OpenMW from OSG (which probably be deprecate in VulkanSceneGraph favor) to GDNative, but won't it be worth it?

Re: OpenMW with Godot?

Posted: 22 Sep 2020, 22:39
by Chris
Kravensky wrote: 22 Sep 2020, 20:56 Sometime ago i've read that OpenMW probably will not support Vulkan, because replacing OpenGL with it will break compatibility with older hardware and supporting both API will increase maintaining cost (or something like this). And i've thought: why don't use upcoming Godot 4.0, which supports both Vulkan and OpenGL (GLES 2.0) for compatibility?
The problem is more specifically with OpenSceneGraph. OSG uses OpenGL, so there's no way we can use Vulkan with OSG. There are options to use Vulkan, like the in-development VulkanSceneGraph or using it directly separately from OSG, but the amount of work to change to something else is currently too big for next to little gain. As it was, the only reason OpenMW switched from Ogre3D to OSG was because we were fighting against Ogre3D more than benefiting from it. OSG currently doesn't pose that kind of problem, so there's little reason to change away from it.

As VSG improves, and as OpenMW starts gaining new more modern rendering features, the potential gains from switching will increase making it more attractive to use Vulkan, but that's something to wait on for the future when that potential can be realized.

Re: OpenMW with Godot?

Posted: 23 Sep 2020, 17:33
by Kravensky
Old GPUs don't support Vulkan. Is there any plans for VSG to support OpenGL?
Also, Godot probably can make other stuff simpler. Physics, for example.

But actually i don't know, what i'm writing about. So good luck in any case.

Re: OpenMW with Godot?

Posted: 23 Sep 2020, 18:37
by AnyOldName3
Lots of what Godot provides is sufficiently different to how Morrowind did the equivalent thing that we'd need a custom version of it anyway. If we had to start OpenMW again from scratch, it would probably be better to use Godot as a starting point, but it's definitely less work to keep going without it now we've got what we've got.

Re: OpenMW with Godot?

Posted: 25 Sep 2020, 12:26
by Sslaxx
One big thing - physics - is the same between both of them (Bullet3D). Of course, how they use Bullet is very different. Godot, being a generalised game engine, would need a lot of customisation - and some of it may be difficult for non-technical reasons (GPL vs MIT and the nature of the former license "contaminating" code, for one).

As said, doable but with a lot of pain (and not all of it technology related).

Re: OpenMW with Godot?

Posted: 28 Sep 2020, 08:57
by psi29a
There is currently no need to go to Godot unlike the need to switch away from Ogre3D to OSG was a few years back.

OpenMW is married to OSG, for better or worse. It would need another divorce lawyer (another scrawl) to switch again to another rendering middle-ware. If there was another rendering middle-ware, then the next best thing would be VSG. The question then becomes, do we abstract things out so that the end-user can choose between OSG and VSG or just dive right into VSG and drop OSG support.

This, of course, is just mental masturbation though as there is no pressing reason to change, yet. We can revisit the topic in a few years.

Re: OpenMW with Godot?

Posted: 28 Sep 2020, 19:25
by korreckj328
So this is just a thought, but my understanding is that if OpenMW wants to continue supporting the mac platform, that discussion about looking at something with vsg (if that even works with moltenvk) maybe needed since apple has a good chance of removing OpenGL soon.

Re: OpenMW with Godot?

Posted: 28 Sep 2020, 21:07
by AnyOldName3
If Apple want to shoot themselves in the foot by dropping OpenGL before easy migration paths have been made available, that's their prerogative, but so far, it looks like there'll be more-or-less drop-in replacements from third parties before they make it a problem. Google have recently finished their Metal backend for OpenGL ES 2.0 mode with ANGLE (https://github.com/google/angle) so worst-case scenario, we use that with GL4ES, and just deal with OpenMW on Mac inheriting all the bugs of OpenMW on Android.

If we were commercial software, we might have considered licencing MoltenGL, which is a sister project to MoltenVK, but unlike its sibling, hasn't been adopted by the Kronos group, so isn't free.

Re: OpenMW with Godot?

Posted: 28 Sep 2020, 21:46
by korreckj328
I hadn't heard of ANGLE, that's exciting to read about I'm going to have to do some reading about it in general now just to learn some more. Thanks for the info.

Re: OpenMW with Godot?

Posted: 29 Sep 2020, 06:14
by psi29a
OpenGL on Mac will remain a thing for years to come, they are not removing support that have just deprecated it.
https://support.apple.com/en-gb/HT202823

What this means is that they will not invest any more time into updating their implementation of OpenGL and focus on their own stuff.