HackerTrans
TopNewTrendsCommentsPastAskShowJobs

ocornut

no profile record

comments

ocornut
·4 bulan yang lalu·discuss
The copy in dear imgui sources has a few tweaks to make it possible to use with UTF-8 without unnecessary lookups: see `STB_TEXTEDIT_GETPREVCHARINDEX`,`STB_TEXTEDIT_GETNEXTCHARINDEX` and `stb_textedit_text()` use.

I generally love the STB libraries but I have to agree that stb_textedit is/was a false economy at least for my use case of Dear ImGui. I can't fault the design but if you want a fancy text editor the value you get from stb_textedit is rather minor compared to whole things, and it gets in the way. I will aim to remove it from dear imgui at some point.
ocornut
·4 bulan yang lalu·discuss
It baffles me that any maintainer would merge code like the one highlighted in the issue, without knowing what it does. That’s regardless of being or not being able to see the “invisible” characters. There’s a transforming function here and an eval() call.

The mere fact that a software maintainer would merge code without knowing what it does says more about the terrible state of software.
ocornut
·4 bulan yang lalu·discuss
Specifically for panning and zooming, doesn't the OS translate those inputs to mouse events, like Windows does by default? Otherwise it is simply a matter of performing this translation at the backend level.
ocornut
·8 bulan yang lalu·discuss
I promise it’s coming eventually but I don’t believe the custom version is hard to make to work either.
ocornut
·tahun lalu·discuss
> The real meat & potatoes is all the tooling and content and asset pipelines around the engine. If you think about it, you need to implement:

The sum of all those parts IS the actual meat of the engine imho.

People mistakenly assume that rendering something and having a Dear ImGui frontend constitute an engine but it's only the tip of iceberg. Actual real world issues, productivity concerns, getting shit done is the meaningful work.
ocornut
·2 tahun yang lalu·discuss
You can manually transform vertices (call ImGui::ShadeVertsTransformPos) this is what angled headers are using https://github.com/ocornut/imgui/issues/6917 I agree it's not first-class citizen yet, next year new text API should make this easier.
ocornut
·2 tahun yang lalu·discuss
It's my github post and I wanted to post it on HN but being new to this I was surprised that submitting my link merged it to an existing post.
ocornut
·2 tahun yang lalu·discuss
Dang you posted faster than I did :) Thanks!
ocornut
·2 tahun yang lalu·discuss
I am not saying it is a silver bullet.

I'm saying it is making some development - those that are well aligned with the frameworks qualities - particularly efficient. Efficiency and productivity are everything. Productivity is often a major contributor in bridging the gap between cancelled and released, between painful and pleasant, between under-featured and full-featured, between abandoned and maintained, between unprofitable and profitable.

So while not saying things are simple to describe and compare, they are not, Dear ImGui focus on high-productivity is the reason why it has been adopted by some people.

> without ImGui the authors would have abandoned the idea of creating these tools in the first place.

It is probable those particular authors would have, yes.

I meant, it's not a secret that many engineers are totally afraid or uninterested in UI programmers. A common feedback is of certain people saying "hey, dear imgui made UI programming fun for me". So I'm confidently saying that SOME software wouldn't have existed without dear imgui. It being so brutally different in term of philosophy, coding style, culture, by definition makes it reach a different crowd.

> implies that ImGui is either more full-featured or (if you meant time) is faster to develop with compared to a traditional retained mode GUI.

Dear ImGui is clearly LESS full-featured than e.g Qt, but for some uses is is faster to develop with than most other frameworks.
ocornut
·2 tahun yang lalu·discuss
> But as soon as it stops being just hacky debuggers and people try to write proper tools in it, it becomes much more of a pain - people try to (poorly) emulate a retained mode in it, hold state, cache - and it becomes unreadable mess.

Effectively people are hasty and don't spend the time to try doing things nicely, in particular because the first steps and debug use allow you to do quick things.

But I don't think it's a fundamental property of IMGUI or Dear ImGui that "proper tools" become particularly more of a pain. Of course it is more work to make a proper tools than hasty-debug-tools, and I can easily see how underengineering can back-fire (over-engineering it likewise).
ocornut
·2 tahun yang lalu·discuss
> That seems really hard to achieve in immediate mode libraries without effectively recreating retained mode functionality yourself.

The purpose of an IMGUI is to handle whatever data retention will simplify user's life. If you want to extend the IMGUI in some case it's perfectly adequate to do some that work yourself. Ideally the IMGUI infrastructure would make it as painless as possible.
ocornut
·2 tahun yang lalu·discuss
> it even has an option to limit the FPS, which solves the CPU load a bit, but at the same time results in sluggish input because the event handling is tied to the drawing frequency.

It seems like an issue of how it is implemented. I think Tracy does it well. It's party my fault since Dear ImGui lib and backends currently doesn't have an "official" way to tackle this, so everyone does their own sauce and it's easy to make a mistake. But I have zero doubt it is doable.

> I don't see what these tools would lose by using a proper GUI.

What they would lose is that they wouldn't exist in the first place or wouldn't be as full-featured. I'm surprised this is so hard to comprehend? In spite of its shortcomings, software like Dear ImGui is an enabler to make things exists and happen.
ocornut
·3 tahun yang lalu·discuss
The person who coined the IMGUI term (Casey Muratori) literally defined "immediate mode gui" as a concept relating to the API/facade, regardless of what the UI system internally owns or store or manage.

So basically you are dismissing an existing definition to turn it into your own to say that existing libs are not fulfilling that definition.
ocornut
·3 tahun yang lalu·discuss
Dear ImGui is lacking good and focused code contributors, I'm stretching myself quite thin already and unfortunately pragmatically it currently wouldn't be wise for me to attempt working on accessibility features :( Right now the state of things is that a majority of even the simplest PR are poor quality, so I'm not too hopeful that such a complex feature would magically start getting good contributions. I am personally just accepting that things are going to take years to move forward. I'd rather have them more slow and stay sane. Dear ImGui is intentionally gated and made fugly for those reasons as well.

But any effort to document, specs, clarify etc would be helpful and not just to Dear ImGui.

Accessibility is a whole world that is hard to grasp when you are not a end-user, API are large, confusing, poorly documented, and I presume that there are a large variety of tools and use cases and it's even hard to gauge what are the low-hanging fruits that would be the best to implement/bind.

Given how obfuscated Web stacks are nowadays (since they do try to prevent unauthorized scrapping and automation), I'm honestly also a little bit surprised that nowadays screen readers aren't relying on OCR more?
ocornut
·3 tahun yang lalu·discuss
Good Testing/Automation is never free lunch AFAIK but Dear ImGui has a testing/automation system: https://github.com/ocornut/imgui_test_engine
ocornut
·3 tahun yang lalu·discuss
Also see the interactive web manual https://pthom.github.io/imgui_manual_online/manual/imgui_man...
ocornut
·3 tahun yang lalu·discuss
There’s no caching. Most people advocating or theorizing about caching haven’t measured the performances of dear imgui or implot. Computers are incredibly powerful when you don’t waste their resources.
ocornut
·3 tahun yang lalu·discuss
Also try mouse-wheeling in Tracy web version (using Dear ImGui) and opening different panels: https://tracy.nereid.pl/ I think you'll find it to be more reactive and snappier than most traditional toolkits.