Skip to content
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

Like it or not? Feedback welcome here #1

Open
pthom opened this issue Jun 22, 2020 · 17 comments
Open

Like it or not? Feedback welcome here #1

pthom opened this issue Jun 22, 2020 · 17 comments

Comments

@pthom
Copy link
Owner

pthom commented Jun 22, 2020

Constructive feedback is always welcome!

@meshula
Copy link

meshula commented Jun 24, 2020

Nice work! Would be nice to have the ImGui Metal backend enabled as well.

@pthom
Copy link
Owner Author

pthom commented Jun 28, 2020

Nice work! Would be nice to have the ImGui Metal backend enabled as well.

Thanks! I will have a look at metal. It's a bit complex, since it requires additional tweaking for the storyboards.

However the doc in imgui_impl_osx.h inside ImGui repo advises to prefer SDL or GLFW on Mac.

@meshula
Copy link

meshula commented Jun 29, 2020

That statement in the comment is very true ~ Metal isn't portable but OpenGL is. Sadly Apple's deprecation of OpenGL makes the imgui_impl_osx.h advice not so great as time goes on!

Anyway, thanks again for putting your project together!

@pthom
Copy link
Owner Author

pthom commented Jun 29, 2020

Another demo with Hello ImGui, showcasing implot is available here image

The source code for the demo is at: https://github.com/pthom/implot_demo

It was introduced in this issue

@chengts95
Copy link

chengts95 commented Jul 4, 2020

Very nice work for rapid C++ GUI developments. I think a Vulkan backend can be useful since it can run on all platforms including the macOS with MoltenVK.

@pthom
Copy link
Owner Author

pthom commented Jul 4, 2020

Very nice work for rapid C++ GUI developments. I think a Vulkan backend can be useful since it can run on all platforms including the macOS with MoltenVK.

Thanks! Concerning Vulkan, I do not have experience on this framework. I know it is quite more complex than OpenGL. Let's hope someone helps on this in the future!

@frink
Copy link

frink commented Aug 21, 2020

Dear Imgui is a beautiful piece of code that deserves much more love than it gets, it's mature and poised to become the backbone of a modern, liberally licensed, general application framework. You've done a great job with the cross platform scaffolding and I'm curious if you plan to add any other components like notifications, screen rotation, camera access, or audio. I know that any framework can become a bottomless pit and each project has to draw the line somewhere. I'm curious about your thoughts...

@pthom
Copy link
Owner Author

pthom commented Sep 1, 2020

You've done a great job with the cross platform scaffolding and I'm curious if you plan to add any other components like notifications, screen rotation, camera access, or audio. I know that any framework can become a bottomless pit and each project has to draw the line somewhere. I'm curious about your thoughts...

Many thanks (and sorry for the delay, I was on holiday)! My original intent when working on this project was to provide a jump start framework for rapid prototyping of research and computer vision applications, especially on mobile platforms.

So let me answer straight. I would like to add the following features to the project:

  • Camera and accelerometer / gyro access on mobile platforms
  • Keyboard access and triggering on mobile platforms

Notifications, Audio & screen rotation are not on my main list at the moment (but I welcome PR in that direction).

@frink
Copy link

frink commented Sep 2, 2020

Great thanks. I'm looking at this as a rapid prototype framework as well. (My use case is cross platform audio applications...)

Having thought about this for a while, I think audio should remain separate to to keep it lean and allow more choice... (MiniAudio and SoLoud are probably the best paring - both MIT/Zlib license)

If you're going to do gyro access then screen rotation is probably trivial once you get there. The resizability on web targets already proves that resizing should not be difficult. I imagine we'll see a Gist on this before this thing is overly mature.

@pthom
Copy link
Owner Author

pthom commented Sep 3, 2020

I actually think the same about camera and gyro access: a separate repo is a better idea.
I think I will create an external project that would allow camera and gyro access, and that will use this project as a submodule.

@frink
Copy link

frink commented Sep 3, 2020

BTW: I notice the Sokol Dear Imgui Demo produce WASM binaries are a magnitude smaller... (523kb vs 1.4Mb) My guess is that's because of SDL is heavy compared to Sokol. But that's about a 3-4 seconds savings in startup which is very a big deal on the web...

pthom added a commit that referenced this issue Jun 28, 2022
@BigBIueWhale
Copy link
Contributor

When comparing this GUI framework to QT and wxWidgets a few thoughts come to mind: Hello ImGui is more portable, less bloated and more powerful than any of those options. This project is now my go-to answer when beginners ask me how to create a "hello world" graphical project in C++. At the same time, this project is my go-to solution when I need to create a professional realtime visualization software for an electronics instruments company. Being able to set up a C++ GUI project with 6 lines of code is something that has never existed before, an innovation. To put this into perspective: QT charges a minimum of $302 per developer per month, whereas this library is MIT and is totally better than QT. With this library I can use the IDE of my choice, and it doesn't take over my code. QT is so evil, wxWidgets is a hassle to set up and it's so bloated and buggy. This project is now only professionally executed with documentation and everything, but is also totally called for and necessary in this day and age of web taking over everything.

@JunedKhan101
Copy link

Maybe we can do something with Imgui File Dialog? like reading a file that has file content "Hello World" and printing it into the imgui window.

@pthom
Copy link
Owner Author

pthom commented Jul 10, 2023

@JunedKhan101 : Hello ImGui does not include ImGui file dialog. However Dear ImGui Bundle which is based on it provides it, as well as many widgets. You might want to take look at it.

@andriii25
Copy link

I needed to make a quick GUI to inspect some of my research results and this (bundled with Dear ImGui Bundle), made my life so much easier.
Two things that would make it even better for me:

  • To load assets from memory as I already generate data in the appropriate data format, I just don't want to deal with the texture IDs myself
  • The option to use nearest neighbour interpolation and not just linear interpolation with textures.
    But anyway, this project saved me so much time already and these are just minor qualms, overall I love it.

@sphaero
Copy link

sphaero commented Apr 3, 2024

I've been playing with hello_imgui. I really like the ambition of this project. To provide feedback; I had a hard time mixing it with the workflow of Dear ImGui. Dear ImGui is programmed in C++ but has a more C-like no-nosense API. Hello ImGui has a very C++/OO API which feels very alien when compared to Dear ImGui. So although it's handy to jumpstart when I need more specifics I tempt to move back to the Dear ImGui examples and work from there then to jump into the abstractions of Hello ImGui. I would have liked the Hello ImGui to follow the same paradigm as Dear imGui because I think that's where the strength is. But that's just my 2 cents.

@pthom
Copy link
Owner Author

pthom commented Apr 8, 2024

I've been playing with hello_imgui. I really like the ambition of this project.

Hello, and thank you for your feedback!

Hello ImGui has a very C++/OO API which feels very alien when compared to Dear ImGui. So although it's handy to jumpstart when I need more specifics I tempt to move back to the Dear ImGui examples and work from there then to jump into the abstractions of Hello ImGui. I would have liked the Hello ImGui to follow the same paradigm as Dear imGui because I think that's where the strength is. But that's just my 2 cents.

I can understand your point. However, I would not say that Hello ImGui uses an object oriented API: all the parameters you see in the API are just Plain Old Data structs, with no methods and no inheritance whatsoever.

The difference from Dear ImGui is that RunnerCallbacks uses C++ function pointers instead of C function pointers. This is to address the standard shortcomings of C functions pointers (where no context can be passed, except may be with a void* pointer, which I really wanted to avoid).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants