-
-
Notifications
You must be signed in to change notification settings - Fork 646
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add nanovg bindings #99
Comments
Ohhh, core OpenGL backend. Nice. |
I had a better look at nanovg and even though the code is very clean and sensible (for a C project), it basically requires something like GLEW for the OpenGL backends to work. There's also no support for selecting the exact OpenGL version at runtime, it must be a (native-)compile-time decision. I don't see a viable approach, other than porting nanovg_gl.h to Java/LWJGL. It doesn't look particularly hard, but I'm not looking forward to it either. Please post here if you're interested, I'd like to decide whether I should do this before the 3.0.0 release or postpone it. |
I'd recommend focusing on getting the 3.0 release done first, once the core and basic bindings (GLFW, OpenGL and OpenAL) are done/released then the rest can be added in later releases (like in 3.1). I'd go with a release early, release often, approach. |
I'm with kappa. EDIT: Not physically 😝 |
I've actually started work on this. NanoVG has several structs, both in the public and the internal API (for the rendering backend) and I decided it is a great opportunity to validate LWJGL's struct API. I'm happy with its current state, but I haven't had experience with how it "feels" in a complex environment and implementing the NanoVG backend is complex enough. I've done a few fixes and improvements that will be pushed soon, so this is useful already. |
I had a working Java back-end for this, but it was too slow (30-40% slower than the native implementation) due to C-to-Java callback overhead. It wasn't all for nothing though, LWJGL got improved in the process. The implementation that got committed uses the native back-end, but with important changes (which is a first for LWJGL). The good news is that it's fast and will probably require less maintenance than the Java solution. |
really nice work, looks awesome especially for game gui's. |
https://github.com/memononen/nanovg
The text was updated successfully, but these errors were encountered: