Will JME3 support Vulkan?

Khronos, the company that invented OpenGL, announced a new API called “Vulkan”. This API is designed to be fast, very fast, and it’s expected to be released in this year. JME3 uses LWJGL for graphics. Would you imagine this engine powered by Vulkan? Wow!
What are your opinions?
PS. Vulkan will be supported by GPUs that support at least OpenGL 4.3.

Hm, i have mixed feelings regarding vulkan. Beside that there are near to zero information available regarding the api my assumption is that it is “just” a low level access. Manual memory management, probably a nice fast way to asynchrous stream data. Lots of code moving from the driver to you as user. Not sure that this is always smart.

The biggest benefit vulkan has is the specified “glsl” compiler. At least it should eliminate the nvidia/ati/osx issues.

What makes you think opengl is not fast, or that opengl is the current bottleneck you have?

Is it right that OpenGL will still be developed further? Because then I don’t think that there is an actual need for the new API even though it’d probably quite nice to have. But I also doubt that I or other JME developers will reach the limit of what’s capable with OpenGL.

My opinions on this:

  1. lets wait for a year after release to stabilize and first update. (look at mantle why wait)
  2. it is somewhat similar to opengl but not very, however it is good documented and actually simpler so it should be possible
  3. GLSL shaders should in theory work, with the additional compiling step to native vulcan.
  4. Some core parts of the enigne probably needs to be adjusted to allow this to work,

So in short, drink a beer see how it evolves and then adjust.

Btw. the cpu gpu bottleneck is very easily reachable with jme. As well as the limited background loading of assets in opengl.

GL itsel allows you to load everything you need in the background, everything memory (bus in that case) expensive is sharable between contexts. Only the state holding objects are not sharable. But they are very cheap to create

Yes but a multi context enviroment has very many issues, making it often not worth the work.
In vulcan this is a bit easier. (or in opengl 4 with sparse textures)
Eg using not yet uploaded textures.

just upload a dummy texture with 16x16 pixel in main thread, and continue to render.
Upload additinal data in background.

I don’t think that OpenGL is slow.
I just fear that Windows 10 could drop OpenGL support (due to the arrogance of MS)… And… OpenGL development is stopped. What if Nvidia and AMD will not produce cards supporting OpenGL? If that happened, OpenGL would become obsolete and new gamers would look for newest hardware.
PS. I think that the answer to my doubt depends from the creators of LWJGL, they are the people who create the Java bindings. :confused:

Then we’ll switch to whatever is replacing it…
And yes, I guess it will depend on the likes of LWJGL and JOGL, or whoever makes a java wrapping over Vulkan.
But this is not going to happen that soon, I guess opengl is not dead yet.

OpenGL will still be supported for a very very long time.
If the GPU vendors would drop support, they would drop support for tons of games.
It doesn’t make sense for any GPU vendor ^^

Vulkan is a nice idea,
but OpenGL is still here and gets the job done for now :wink:

Thank you for your answers :smile:
All we have to do is to wait and, when Vulkan will be released, we could make some donations both to LWJGL to bind Vulkan and to JME3, to integrate this technology in this engine.
By the way, sorry for going off-topic: can I release a JME game as GPL-licensed? In your opinion, may a java game seem ugly to players?
:frowning:

yes

Ugly games seems ugly to players, even C++ ones :wink:

3 Likes

Looks at Steam greenlight and early access shameless games

You can make an ugly game with any engine and any programming language. A good crafted game is good no matter what was used to make it and many players won’t even think about it.

LWJGL3 will definitely be adding Vulkan support and probably relatively quickly once the API is released.

We just need the official Vulkan spec to be released (rumour has it it’ll be released in August 2015) and thereafter working graphics drivers for it (nvidia are usually pretty quick here).

How quickly Vulkan becomes mainstream though is another matter, I’m guessing it’ll take a couple of years.

1 Like

You wont belive it, but there are even good games made with fps creator and with gamemaker (heck even ss13 on byond maakes fun, and its the most crappy platform there is).

I believe you. I have seen great 2D games made with game maker from yoyo games.

Kinda hope that AMD will be fast this time as well, since vulcan is pretty similar to mantle and way less grown than opengl :slight_smile: ((and then I need to wait for the MESA team, to get a driver that actually works with linux and AMD ))

Thank you for your answers guys.
Anyway, I am looking for a book to learn Java.
Would a cheap used book about Java 6 be good?

if you are totally new to Java, I suggest a book for dummies. I leaned to code from them at first

amazon link for Java 7

If you speak german: Java ist auch eine Insel is as a webbook available for free.
http://openbook.rheinwerk-verlag.de/javainsel/