Simpler ImGui Backend Implementation for VulkanHpp.

Overview

ImGui-VulkanHpp

Simpler ImGui Backend Implementation for VulkanHpp.

Usage

    // Initialize Vulkan
    ...

    // Initialize ImGui
    ImGui::CreateContext();
    ImGui_ImplGlfw_InitForVulkan(window, true);
    ImGui_ImplVulkanHpp_Init();

    // Rendering loop
    while (true) {
        // Render 3D Objects
        ...

        // Start ImGui Frame
        ImGui_ImplVulkanHpp_NewFrame(physical_device, device);
        ImGui_ImplGlfw_NewFrame();
        ImGui::NewFrame();

        // Create ImGui window
        ImGui::ShowDemoWindow();

        // Render ImGui (Stack commands on `imgui_cmd_buf`)
        ImGui::Render();
        ImDrawData* draw_data = ImGui::GetDrawData();
        ImGui_ImplVulkanHpp_RenderDrawData(
                draw_data, imgui_cmd_buf, swapchain_img_view,
                swapchain_img_format, swapchain_img_size);

        // Submit ImGui Rendering command
        ...

        glfwPollEvents();
    }

    // Clean up ImGui
    ImGui_ImplVulkanHpp_Shutdown();
    ImGui_ImplGlfw_Shutdown();
    ImGui::DestroyContext();

Examples

Standard

See examples/main_glfw.cpp.

Most of latest GPUs could be worked on. (RTX2080, ...) This is the fastest version.

With Background Drawing

See examples/main_glfw_bg.cpp.

Supporting drawing background image for GTX10xx (GTX1060, GTX1080, ...), because their SwapChain's behavior is something strange.

To solve this problem, there is background drawing mode. Please pass image view and layout into ImGui_ImplVulkanHpp_RenderDrawData;

(If someone knows why standard example dose not work on GTX10xx, please open issues.)

Note

Internal Implementation is depending on VulkanWrapper. It should be replaced with raw vulkan.hpp.

You might also like...
A ImGui Application with Multi Viewports and Docking using D3D11
A ImGui Application with Multi Viewports and Docking using D3D11

ImGui-Application Informations A ImGui Application with Multi Viewports and Docking using D3D11 Build You need the DirectX SDK, here the Download link

Expose the ImGui framework to clasp

Expose the ImGui framework to clasp Installing in the clasp source tree cd clasp/extensions git clone https://github.com/clasp-developers/imgui-clasp

Growtopia android modmenu with ImGui
Growtopia android modmenu with ImGui

Growtopia Android ImGUI Growtopia android modmenu with ImGUI. Features Built with ImGUI. Coming Soon None Requirements The following dependencies are

X11 + GLFW + Dear ImGUI Overlay

Dear ImGUI Overlay X11 + GLFW + Dear ImGUI Overlay made by rdbo Based on https://github.com/rdbo/glfw-overlay How to use? In main.c, there is a window

Partial source of the ImGui interfaces used in the Rocket League version of CodeRed.
Partial source of the ImGui interfaces used in the Rocket League version of CodeRed.

CodeRed-ImGui Raw source of the ImGui interfaces used in the Rocket League version of CodeRed. About This repo is just part of the ImGui source used i

Sample project to use ImGui + GLFW + OpenGL3

About just a sample project to use ImGui ( https://github.com/ocornut/imgui ) Note Windows 11 Visual Studio 2019 + cmake-gui WSL2 on Windows 11 apt in

Generate Height map with Generator (OpenGL and imgui) and Construct Splat Map with generated height map using Algorithm
Generate Height map with Generator (OpenGL and imgui) and Construct Splat Map with generated height map using Algorithm

Generate Height map with Generator (OpenGL and imgui) and Construct Splat Map with generated height map using Algorithm(DPS, BFS, Gradient Descent ... etc) . At Renderer, with height map and blend map which are generated in front of this stage, render high quality terrain with OpenGL

Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface.
Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface.

clap-imgui Minimal example of prototyping CLAP audio plugins using Dear ImGui as the user interface. This is intended as an example of presenting a UI

ImGuiFileDialog is a file selection dialog built for (and using only) Dear ImGui
ImGuiFileDialog is a file selection dialog built for (and using only) Dear ImGui

ImGuiFileDialog Purpose ImGuiFileDialog is a file selection dialog built for (and using only) Dear ImGui. My primary goal was to have a custom pane wi

Owner
takiyu
takiyu
o/ ImGui Builder is a graphical framework for assembling imgui codes in your interface easily

IMGUI BUILDER The project consists a gui editor of the Imgui framework EDITOR Menu Export 1 - Export cpp file 2 - Cpp file Credits Credits for Shadowy

Code Building 405 Dec 20, 2022
Dear IMGUI + Render + Window handling, amalgamation in two files ready to use

imgui-app Imgui-app is an amalgamation of two amazing projects Dear Imgui and Sokol libraries into two files to make it very easy to start working wit

PpluX 138 Jan 8, 2023
A file dialog library for Dear ImGui

ImFileDialog A simple file dialog library for Dear ImGui. This library supports favorites, actual Windows icons, image previews, zooming in, etc... DI

dfranx 398 Jan 3, 2023
dear imgui + glfw framework

ImFrame ImFrame is a lightweight framework designed to provide you with a window and graphical backend for the Dear ImGui library. Unlike more traditi

null 62 Dec 25, 2022
Markdown renderer for Dear ImGui using MD4C parser

imgui_md Markdown renderer for Dear ImGui using MD4C parser. C++11 or above imgui_md currently supports the following markdown functionality: Wrapped

Dmitry Mekhontsev 74 Dec 27, 2022
A cross-platform wrapper for using SDL2 with ImGui

ImSDL2 ImSDL2 is an open source "wrapper" of imgui backends available for SDL2. It aims to provide a backend-independent yet simple interface for inte

terens 5 Feb 2, 2022
ZT is a zig-contained library that automatically compiles+links ImGui, OpenGL, and GLFW into typed packages.

ZT is a zig-contained library that automatically compiles+links ImGui, OpenGL, and GLFW into typed packages. By zig contained I mean that ZT is intend

null 90 Jan 1, 2023
A (very) simple notification wrapper for Dear ImGui

imgui-notify Is a header-only wrapper made to create notifications with Dear ImGui. As I couldn't find any library for this I just decided to create m

Patrick 212 Jan 2, 2023
Example program for integrating Dear ImGui and GLFW into Source's App System

This is an example program for integrating Dear ImGui and GLFW into Source's app system, the same thing Source's tools use. Feel free to do with this

null 9 Apr 16, 2022
ImTricks is a collection of useful functions for expanding / improving the functionality of the ImGui.

ImTricks ImTricks is a collection of useful functions for expanding / improving the functionality of the ImGui. At the moment it has in itself: Functi

Alexander Pers0na2 22 Jun 13, 2022