pthom / imgui_bundle

Your fast track to powerful GUIs: Dear ImGui Bundle, an extensive toolkit for Python and C++ with immediate mode efficiency.
https://pthom.github.io/imgui_bundle/
MIT License
687 stars 72 forks source link

Please share your feedback #10

Closed pthom closed 1 year ago

pthom commented 2 years ago

"ImGui Bundle" is a brand new python and C++ package (Oct 2022). It works on MacOS, Windows and Linux.

Feedback from users would be appreciated in order to make sure its installation works on different platforms.

If you installed it, and if you have time, could you please answer the following:

Python users

C++ Users

Thanks in advance!

pthom commented 2 years ago

Also, I'm looking for small educational examples such as haiku_implot_heart.py which would serve as a demonstration of the library. Please share your creations if you have small self contained demos which you think might be an help for new users 🙏.

district10 commented 1 year ago

macOS m1, python user, install by pip install imgui-bundle (fails at first, succeed after pip install cmake (even I have cmake installed already).

imgui_bundle_demo works pretty well. Thank you for this nice work.

Feedbacks?

image

and it deserves a better dock icon:

image

and a 3d scene example will be great, (https://github.com/stevenlovegrove/Pangolin is hard to install.) Maybe integrate https://github.com/CedricGuillemet/ImGuizmo?

I'm expecting to use this to try out some functions from https://github.com/libigl/libigl.

Thank you again.

pthom commented 1 year ago

@district10 : thanks for your message!

v0.6.5 is out. It solves the blurry text issue.

Concerning 3D + ImGuizmo, I still need to ponder whether it is easy or not. I will study this in the next weeks. Concerning the icon, I agree with you. However, bundling icons on a mac is cumbersome compared to windows so I had to postpone this.

pthom commented 1 year ago

and a 3d scene example will be great, (https://github.com/stevenlovegrove/Pangolin is hard to install.) Maybe integrate https://github.com/CedricGuillemet/ImGuizmo?

v0.7.2 is out and integrates ImGuizmo (as well as lots of additions)!

Rusty-Weasel commented 1 year ago

Basically i like the idea to collect all cool imgui stuff under one package, but really do not like the mixup between different languages and tool sets.

i would lovelier see a clear and cleaner structure and an easy fast way, something like following, then we get cool stuff: image

Further this example does not compile, as RobotoRegularItalic.ttf is missing, but requested image

The python way is fast and simple, at c++ way i can just start debugging, but that was not, what i expected for a short and fast demo run

pthom commented 1 year ago

@GoWeasel : ...Hello and happy new year...

but really do not like the mixup between different languages and tool sets

I did not understand what you mean, although I tried for a few minutes. What mixup are you referring to ?

Be precise, please.

a clear and cleaner structure

Well, thanks for the not so kind words with no clear explanation.

ImGuiBundle::ShowFullDemoWindow():

Why not, I might study this idea later. This is a good idea.

The python way is fast and simple

Do you mean that you launched the python demos and they were simple to launch? In that case, thanks.

Further this example does not compile, as RobotoRegularItalic.ttf is missing, but requested

Will be fixed.

at c++ way i can just start debugging, but that was not, what i expected for a short and fast demo run

Does it mean you are asking for ImGuiBundle::ShowFullDemoWindow() or what?

In the meantime you can do :

mkdir build
cd build
cmake ..
./bin/demo_all
Rusty-Weasel commented 1 year ago

at c++ way i can just start debugging, but that was not, what i expected for a short and fast demo run

just maked an empty testfolder, then git clone (main) repository and open up as a cmake project, tada cmake error saying hello to me

image

What i would expect were something like, a demo.cpp which is build able with root cmake config,

In the meantime you can do :

mkdir build
cd build
cmake ..
./bin/demo_all

not possible with cmake errors

Rusty-Weasel commented 1 year ago

Does it mean you are asking for ImGuiBundle::ShowFullDemoWindow() or what?

just expec to import ImGuiBundle like a lib (cmake compatible) that gives me all what i need (as so far implemented), and then use it.

lets say for project a i just need a short imgui demo without big extras, i import ImGuiBundle Lib and just call either ImGuiBundle::ImGui::ShowDemoWindow() or just ImGui::ShowDemoWindow() (which already works)

now lets say for project b i like to see a full demo with all included imgui stuff, so i just call ImGuiBundle::ShowFullDemoWindow()

now lets say for project c, i like to use different parts (of ImGuiBundle) and perhaps different gui-toolkit (glfw/sdl) and perhaps different graphic api (opengl/vulkan) and perhaps target OS (win/linux/mac/android/ios/web) etc.... (this to handle in a way like KISS-principle would be the biggest challenge)

for the other question u got tomorrow some examples

pthom commented 1 year ago

it seems you forgot a classic step with repositories which have submodules:

cd imgui_bundle
git submodule update --init --recursive
pthom commented 1 year ago

different gui-toolkit (glfw/sdl)

It is already possible to target glfw or sdl, since ImGuiBundle is based on my other library HelloImGui (see its api, and runner_params.h which enables to select the backend between Sdl and glfw.

perhaps target OS (win/linux/mac/android/ios/web) :

ImguiBundle already targets windows, mac, ios and emscripten. See live emscripten demo

Concerning iOS and android. HelloImGui (on which ImGuiBundle is based) also supports them. I did not make any effort in checking whether its is still the case when added to ImGuiBundle. I do not maintain the android platform anymore, since I do not own an android device, and the android toolset is too clunky for my taste.

pthom commented 1 year ago

@GoWeasel : please see updated instructions for c++ here

Rusty-Weasel commented 1 year ago

@GoWeasel : please see updated instructions for c++ here

oh nice... looks pretty clean style... i'll take it as good night lecture :-) btw got it so far running.