-
-
Notifications
You must be signed in to change notification settings - Fork 10.5k
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
ImGui Advanced Rendering #7318
Comments
I have no intention nor desire to compete with Skia or frameworks of that kind. |
It's up to you really. If you are confident in your ability to replicate them, why not. But I don't think we can help you much with it as it's not much in our own development path. One thing that we are likely to introduce this year is a concave polygon drawing function, but that's still very far off from the list of things you are mentioning. |
I am currently working on instrumenting the DrawList class to capture the drawing commands. Think vector and text primitives instead of vertices and textures. See #6384 for a similar proposal. @ocornut : Would you be interested in having an alternative My motivation is three fold: I would like to get I highly appreciate and respect the self-contained and portable codebase of ImGui. But IMHO a few |
I have a very rudimentary prototype using ImGui with wazero (last time I tried was last spring), but I wasn't satisfied with the performance, so I dropped the idea of making full ImGui bindings with Wazero to avoid CGO. Maybe things have changed since then in terms of performance, but have you actually tried? If performance was decent, it would be great to have such bindings in Go. |
I made some measurements with wazero in Dec 2023 which were "encouraging" (on amd64). Note that vertex generation/drawing would not be executed in Wazero but in ebiten. My effort ist currently focused on developing a CGO-free go binding using RPC over IPC (currently using pipes in Linux). As long as there are not too many visible interactive elements that need round-tripping the performance so far has been good enough for data-intensive desktop applications. |
Skia binding code is now available open-source (MIT): https://github.com/stergiotis/imzero_client_cpp |
I'm working on a lightweight GPU vector graphics library that can be integrated nicely with ImGui (or standalone). EDIT: Repo link |
Details:
I am trying to replicate certain Skia functionality with ImGui
There is few things that i require the application to include so i am asking if you think i should rather keep using ImGui and try replicate these skia functions, or just move on the bulky skia.
The factors i am trying to remake:
- Path Clipping (Polygons, Circles, Rectangles with Rounding)
- Using Gradients in any object, adding multiple gradient "points", For example AddRectFilledMultiColor has one each corner
- Having rounding in polygon objects.
- Shader for blurring textures && objects
I know that ImGui isn't designed to handle these, but i think these are the factors that would allow ImGui to compete with these bulky frameworks such as Skia. I know that skia uses shaders for pretty much every function it contains, while imgui runs on single shader setup, making it way more limited but more compatible for different platforms.
The text was updated successfully, but these errors were encountered: