jvcleave / ofxImGui

Use ImGui in openFrameworks
292 stars 123 forks source link

ofxImGui upgrade #110

Open Daandelange opened 2 years ago

Daandelange commented 2 years ago

Hello everybody,

I've been making some upgrades to ofxImGui lately and would love to get some feedback before merging them into master.

Long story short, this update now directly binds DearImGui to GLFW instead of binding it to openFrameworks. This means that the addon will no longer work on any non-glfw ofApp; but that's become quite rare since RPIs have moved to Glfw since oF0.11. On the other side, this "unlocks" a lot of new features which are really awesome and take this addon to a new level.

The ImGui library has grown quick and there's also a huge community with a lot of addons. Among new features :

For a more detailed list of changes, please checkout : https://github.com/Daandelange/ofxImGui/issues/1 For upgrading previous ofApps using ofxImGui, checkout the changelog for details on a few minor breaking changes.

You can check everything out in the examples. If you've not checked out (ofx)ImGui for a while, I'd recommend giving it a shot again.

The update is not perfect and there could be some bugs appearing. I'll leave this issue open for a while to collect some feedback. Everything is in the ofxImGui develop branch for now.


We're almost there ! Merging this soon :

Here's a checklist :

Optional (if somebody wants to):

Daandelange commented 2 years ago

Note: oF is getting updated to GLFW 3.3.7, which is gonna improve the GUI & simplify the setup. :)

Daandelange commented 2 years ago

I just updated ImGui to 1.87 in develop, and there's some sweet news. There were lots of changes on the official GLFW backend, notably io.BackendRendererUserData : maybe multi-ofAppWindows (example-multiwindows) will make it ! :D (this remains to be fixed for it and here)

Meanwhile, any feedback is still welcome.

moebiussurfing commented 2 years ago

cool! demo example compiled fine here using oF patch-release branch under Windows 10 / VS 2022. thanks for the update!

Daandelange commented 1 year ago

A new update to this :)
Ping: @jvcleave , @prisonerjohn .

New Native OpenFrameworks Backend

I found a way to propose the legacy (jvcleave) implementation as an alternative. The main difference is that it uses imgui_impl_opengl2+3 instead of a custom renderer backend. This way, half the backend becomes indirectly maintained by ImGui, needing only to keep the platform backend up to date.

Native ImGui Backend Hacks

Debug window

I'm working on a nice little debug window to help transition to the new ofxImGui image

I hope to merge develop into master soon, what do you think ? I have also added a note in master about develop. (a002b3a)

jvcleave commented 1 year ago

Nice! sounds good to me!

prisonerjohn commented 1 year ago

That looks great! Can't wait to take it for a spin.

Elie Zananiri @prisonerjohn

On Sun, Mar 19, 2023 at 3:46 PM Jason Van Cleave @.***> wrote:

Nice! sounds good to me!

— Reply to this email directly, view it on GitHub https://github.com/jvcleave/ofxImGui/issues/110#issuecomment-1475378477, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAA5HFRWSXHB75S433RLZITW45PBZANCNFSM5AFEJS5A . You are receiving this because you were mentioned.Message ID: @.***>

Daandelange commented 1 year ago

Ok, awesome :) @prisonerjohn I saw your contributions to OF-VK/ofxImGui. Vulkan should not be hard to get running while it won't compile out of the box. What's the current OF-Vulkan state ? It seems to never have been merged into OF; is it still worth looking at of-vk + ofxImGui ?

jvcleave commented 1 year ago

I don't think OF-VK is being developed any further. I would say remove it (at least for know) if it doesn't cause any issues