-
-
Notifications
You must be signed in to change notification settings - Fork 98
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
Vulkan backend bindings #120
base: main
Are you sure you want to change the base?
Conversation
… on local windows.
Hi! Not sure about Speaking about the realisation, there is already an implementation for Dear ImGui with Vulkan: https://github.com/lwjglgamedev/vulkanbook/blob/master/bookcontents/chapter-15/chapter-15.md |
OK, so instead of downloading/building the vulkan libraries for linking, I have placed them in the |
This is fine until CI builds it. 😅
Pretty good point. |
Can you elaborate on the issue? Is there a different place that those binaries should be placed?
Yes, for OpenGL there has been no change to how the implementation works. That should still be fine. By adding the backend abstraction, I could also add a third option for a |
Ok so... It's not a matter of the PR, but how do you think, can we make something you've made for VK, but for OpenGL? With addressing the case I've described. I really love the idea to remove the manual implementation and shift responsibility for the rendering to Dear ImGui itself. |
Are you proposing using the opengl backend provided by ImGui? I think that it would be simple enough to implement it the same way that I did for the vulkan bindings. I would have to look at how the ImGui opengl backend works, but in the context of recording the commands as you described I think it is possible. I can investigate that after this PR (that keeps the number of changes here smaller). |
… Violation Exception present ATM...
I've hit a bit of a road block and am trying to work around it. So the question I have right now, do you know how to tell the jvm to use the LWJGL glfw bindings? Thanks, |
@SpaiR After playing with this a bit more, I'm still not sure on the issue. The JVM is not recognizing that the native library has been loaded, I have force loaded the GLFW dll using If you have any ideas, I would love to know. Thanks, |
6c0432c
to
ff9b88d
Compare
Description
This PR implements:
Design considerations:
I created the "unsafe" bindings for the backend, then created a more "safe" wrapper in the
imgui-lwjgl3
project.I saw that instead of creating a binding for the opengl3 support, you created an equivalent implementation in java; I felt that for vulkan this was going to be too complex and created a wrapper instead.
Something to take note: The current imgui vulkan backend does work, but some parts of the API are still in development. The next imgui release will have better vulkan support, specifically for supporting user supplied images.
Type of change
Please check options that are relevant.
Checklist:
TODO:
Questions:
Hello @SpaiR, I have some questions for you on this one:
imgui-app
project to support both an opengl and vulkan backend?Please let me know what you think. I am still working on getting the callbacks in place and putting together an example. I'm not super happy with the CI changes, but it does build. If you have any ideas on how to improve them, please let me know. In the GenerateLibs script, there is a hack to make finding the lib work for both Windows and Linux when building Windows natives. Again, not super happy with it as I feel it is fragile, but I do not know of any other way to do it. I did not implement building linux or macos natives from windows (I'm not even sure if that is possible as it is without my changes, never tried).
I wanted to get this in front of you as soon as I could in case you want me to take some of this in a different direction.
Thanks,
Trevor