JME3 Vulkan

I know this has been brought up before, but I do not know a whole lot about Vulkan and was hoping to start some discussion here about what it would take to actually support it.

I personally would like to see it implemented for its shader support, but I also have heard that it has some multithreading capabilities for improving performance.

JME3 is heavily (if not entirely) coupled to openGL, but LWJGL has (what appears to be good) Vulkan support. What would it take to add support for Vulkan and keep openGL support? Is it possible? Perhaps a long term goal that some of us can start working on? I would love to help in any way that I can.

Thoughts on the matter?

1 Like

i also dont know much about it.

but one thing i heard erlier was important i think.

it was @pspeed comment if im not wrong.
was like “implementing vulkan would require to rebuild a lot core JME functions”.

edit: i found one of recent topic:

I read that thread. It would be unfortunate to rebuild core code. Perhaps a JME4 thing :stuck_out_tongue:

Vulkan would have to be jme4, I think.

i got question.

is vulkan really future that will not be replaced by something new in future again?

dont we feel ok with stay with just OpenGL? because openGL will stay forever like anyway right.

what i mean i feel like switch to something that could be replaced in future is lost of time.

I think the industry is going to be moving to it. We can see that with nvidia only releasing ray tracing for Vulkan, not opengl.

1 Like

oh, raytracing is future, right. Far Far future before most people will have GPU that support it well, but anyway i feel like its 5-10 years when it will be standard for shadow/light/mirrors.

That is not what I am saying, what I am saying is that new technology is not coming out for openGL, where it is for Vulkan.

1 Like

i got it, i just say we got a lot time for this :slight_smile:

1 Like

Yes, support for Vulkan is by no means something that needs to happen right away, openGL is still very relevant.

Probably should have used “JME4” in the title.
I bet that would attract alot of new users… but not trivial to build.

Yeah, unfortunately, I don’t think there is the community to support a JME4 right now… and “can’t run vulkan” is not really one of JME’s biggest issues.

Well that sounds like a chicken/egg problem. Somebody must have built an original “JME” without a community. But the bar would have been much lower for that first kickstarter. Hmm…

Converting the engine to vulkan is not enough, we would also need to use the new features, and doing it while keeping the same apis so that platforms that can’t support vulkan can still use opengl.

Add this to the fact that people still want to maintain opengl 2 compatibilty because some intel drivers are still stuck on 15 years old updates.

We would need two jme3-core at best

There are also several features that can improve performances in newer opengl that are not in the engine.

3 Likes

Yes, but it was a VERY different gaming landscape then, too. Also, there wasn’t really a Unity, or an Unreal, etc… No godot engine.

For JME3, it was pretty much one person who hauled us into the modern age… and he was backed by a community manager and the force behind the SDK.

JME lacks a lot of important things (see other thread) that it would still lack if it suddenly had Vulkan support.

Nice thing is that it’s a great opportunity for someone who wants to make JME their whole life for a couple of years… because it’s essentially a clean start. All existing assumptions gone, entirely new ones to make.

1 Like

Vulkan is the immediate future of open graphics, and I see it taking the same path OpenGL did - becoming the defacto standard for 15-20 years, and then being supervised by something else that fits the newer technology of the time. Will it eventually go away? Sure, but for now that’s where all the features, support, and industry attention is going (and when it comes to fully utilizing the GPU and supporting multi core processors well, it’s miles beyond anything modern OpenGL can do).

No… Apple has already deprecated OpenGL on Mac/iOS devices in favor of its own Metal API (which is conceptually very similar to Vulkan - similar enough that MoltenVK allows you to run Vulkan code on Apple devices with little to no overhead). Sure, it will be quite some time before OpenGL code can’t run on a standard device, but as industry attention shifts towards Vulkan I don’t see the support issues with OpenGL getting any better, and they could easily become substantially worse. If nothing else, others tend to follow suite whenever Apple drops support (remember Flash?).

My take on this is that there’s no immediate need to frantically push a jME4 with Vulkan support, but this is where we should focus in the long term. Win, lose, or draw, Vulkan appears to be the future for high-performance graphics, and if we want jME to stay relevant and useful we need to keep up with the industry.

2 Likes

Especially since even now OpenGL is being implemented on top of Vulkan which is a much lower-level API.

My own take. is that OpenGL will be around for a looooong time but it will stop getting updated and exist only as a “compatibility mode” built on top of Vulkan.

1 Like

Right - OpenGL isn’t “dead” and probably won’t be for quite some time (hence the lack of urgency), but running as a “compatibility” layer means that at best we don’t have access to the cool new stuff that Vulkan provides and at worst we’re saddled with aging drivers and bugs that aren’t being fixed. That said, if we were running on an OpenGL “compatibility” library on top of Vulkan, we’re likely to hit a lot fewer “driver” type bugs and quirks (works-on-my-machine issues).

I’m just excited that Vulkan should greatly improve Linux support, and hopefully kill DirectX. It’d be fun to laugh at the slaves to Windows who like to claim Linux doesn’t matter for gaming at all, and “never will”.

(Here’s where someone chimes into correct my understanding and ruins my excitement…)

2 Likes

I’m a dedicated Linux user, with my only Windows installs being at work (required), and in a VM on my home machine (rarely used).

DirectX will be hard to unseat, but if anything can do it it’s Vulkan. As far as Linux being irrelevant to gaming… that claim died the day Steam began supporting Linux.

1 Like