Ported from the official Vulkan backend based on commit 5854da10e664312e51acec618267d06b1294ac0b.
Clone the project into BeefLibs, then in the IDE, right click your workspace and go Add From Installed > ImGuiImplVulkan.
Requires the Bulkan library.
Example:
using ImGui;
namespace Foo {
class Bar {
public static void Main() {
ImGuiImplVulkan.InitInfo info = .() {
// Fill with Vulkan data
};
ImGuiImplVulkan.Init(&info, renderPass);
// Upload fonts
{
// Begin command buffer
ImGuiImplVulkan.CreateFontsTexture(commandBuffer);
// End command buffer
VkSubmitInfo submitInfo = .() {
commandBufferCount = 1,
pCommandBuffers = commandBuffer
};
vkQueueSubmit(queue, 1, &submitInfo, .Null);
vkDeviceWaitIdle(device);
ImGuiImplVulkan.DestroyFontUploadObjects();
}
...
while (true) {
...
ImGuiImplVulkan.NewFrame();
...
ImGui.Render();
ImGuiImplVulkan.RenderDrawData(ImGui.GetDrawData(), commandBuffer);
...
}
...
ImGuiImplVulkan.Shutdown();
}
}
}