pkdawson / imgui-godot

Dear ImGui plugin for Godot 4
MIT License
318 stars 18 forks source link

Rewrite renderer using RenderingDevice #17

Closed pkdawson closed 1 year ago

pkdawson commented 1 year ago

I think a large performance improvement is possible by using RenderingDevice instead of canvas items, so the vertex buffer can be shared and a lot of allocations and copying can be avoided.

This is probably relatively straightforward if you're comfortable with Vulkan, but I'm definitely not.

https://docs.godotengine.org/en/latest/classes/class_renderingdevice.html

https://github.com/ocornut/imgui/wiki/Integrating-with-Vulkan

pkdawson commented 1 year ago

This is basically done, but Godot isn't quite ready yet - I have three open PRs which are absolutely necessary, and I'll eventually submit a fourth to add vertex offset support. We'll see if those get merged before beta 5.

pkdawson commented 1 year ago

Feature released in v3.3.0, but needs one more upstream change to complete:

https://github.com/godotengine/godot/pull/68527