@nprofile1q... ImDrawList is surprisingly versatile, as long as you don't need a different format for ImDrawVtx data, you can do a lot by e.g. using draw callback. https://www.thedragonstrap.com (the game itself) is entirely rendered via ImDrawList API.
@nprofile1q... Thanks for taking the time to answer on those back and forth! Hopefully that annoying transition is done and new system will work well for you!
@nprofile1q... FYI i couldn't find much room for improvements within the existing comments, see https://github.com/ocornut/imgui/commit/f1dd18b75c4f08941ba691a75dad65b884415cb3. There's already a GetPixels() and GetPixelsAt() function and most backends use GetPixelsAt() + patch I presume it would likely have saved you twice if you cross-referenced the main commit for other "simpler" backends such as DX11, If you have suggestion on further reducing error rate for future users I am happy to hear them. (1/2)
@nprofile1q...@nprofile1q... Ideally I would include one in stock ImGui but it would need to be less code than what md4c has. Otherwise it is a third party extension, and some exists already but I haven’t used/compared them much.
@nprofile1q... I tried calling ClearFonts() in both DX11/Vulkan backends and surprisingly (or not surprisingly) it transparently still works even though everything is recreated every frame. I might add heuristic to detect situations where e.g. some ClearXXX functions are called every frame.
@nprofile1q... beside I didn't suggest your WIP code was offensive. What I am trying to reach is (1) you fixing your backend (2) me increasing the odds that most people can update a custom backend in <1 hour of work, by reduce the error surface.
@nprofile1q... for example, knowing that someone tried to call ClearFonts() whilst in the middle of rendering, I might look into way I can detect and prevent this. This is how the software improve.