Hi there - first off, huge thanks for creating LWJGL. Have been evaluating the latest version for a mixed 2D/3D UI animation project, lots of impressive stuff here.
I was wondering if there has been any consideration of using the BGFX backend for NanoVG, as an alternative to the native OpenGL implementation. Especially given Apple's announcement of deprecating OpenGL, BGFX seems like great solution for portability and (hopeful) compatibility with low-level graphics API changes.
BGFX already provides a reference implementation of the NanoVG API using BGFX as the rendering layer:
https://github.com/bkaradzic/bgfx/tree/master/examples/20-nanovghttps://github.com/bkaradzic/bgfx/tree/master/examples/common/nanovgThis would be very useful for projects seeking to overlay 2D NanoVG graphics in a 3D project, but without being locked to OpenGL.
I am just familiarizing myself with the LWJGL implementation details, but it seems like this should not be too difficult a change, with some modifications to the implementation included here:
https://github.com/LWJGL/lwjgl3/tree/master/modules/lwjgl/nanovg/src/main/cObviously, the resulting nanovg module would have a dependency on the BGFX module as well as the included shaders. I do understand wanting to keep the modules in LWJGL as light-weight as possible, so perhaps this could be an alternate option, separate from the more basic NanoVG package?
Is this something the team has considered? Or could offer any guidance on pursuing? I'm not super familiar with the build/generator system yet, so figured I'd ask here before spending lots of time on this.
Alternatively, is there any other API or tool that people are using for a simple 2D vector graphics API on top of the BGFX layer? Support for basic shapes, fill/stroke, text, etc. Apart from the hard OpenGL dependency, NanoVG really seems like a great choice, but maybe I'm missing some other option?
Thanks!