LWJGL 3.1 + NIFTY GUI or other GUI Library

Hey guys…

Someone there already integrated both of them? LWJGL 3.1 and the Nifty to create GUI?

There is a good place to start? I just found old topics here and with the new stuff in lwjgl managing windows with the glfw and others options I don’t know how much efforts are necessary to use them together.

Use the NanoVG seems an “go horse style” approach … too low level for my needs.

Yesterday I put the OpenGL graphics in a JavaFX Application… but the performance goes down even using flags to allow more than 60fps. Besides it, I must copy pixels from the opengl to writable image … and the cost to do it is high.

I know that has different topics related to it… but they didn’t helped as I expected.

LWJGL 3 also has support for https://github.com/vurtun/nuklear

Did you have implemented something using the nuklear? How low/high level it is?

Have a look for yourself: https://github.com/LWJGL/lwjgl3/tree/master/modules/core/src/test/java/org/lwjgl/demo/nuklear

LWJGL does not have a complete, integrated solution that you could label a Swing/JavaFX replacement. What it does have is bindings to libraries that solve parts of the equation:

  • Windowing system and input: GLFW
  • Dialogs: nativefiledialogs (nfd) or tinyfd
  • UI components: nuklear
  • UI layout: Yoga (in 3.1.2 snapshots)
  • Vector graphics (canvas/Java2D-style): NanoVG
  • Image IO: stb_image
  • Font rendering: stb_truetype

It’s obviously quite a bit of work to learn and integrate some or all of the above, but it’s entirely possible. They are all lightweight solutions and there are no interop issues with OpenGL.

Thanks man… this exactly the answer that I’m looking for.

Yesterday I configured my project into a Maven project, makes easy to manage things.

Also I’ve tested the example linked here (thanks Kaihh).

Spasi, I’m working on these integrations now… hopefully no take so longer to do something useful… or at least pretty. :slight_smile:
Currently I’m using glfw to manage windows and recently added the stb_image (much easier than codify a lot of image readers).

Thank you all guys.