IMGUI通读02:生命周期

阅读量: 鲁文奎 2021-04-22 12:04:42
Categories: Tags:

IMGUI通读二:生命周期

// Create a Dear ImGui context, setup some options
ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO();
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable some options

// Initialize Platform + Renderer backends (here: using imgui_impl_win32.cpp + imgui_impl_dx11.cpp)
ImGui_ImplWin32_Init(my_hwnd);
ImGui_ImplDX11_Init(my_d3d_device, my_d3d_device_context);

// Application main loop
while (true)
{
    // Beginning of frame: update Renderer + Platform backend, start Dear ImGui frame
    ImGui_ImplDX11_NewFrame();
    ImGui_ImplWin32_NewFrame();
    ImGui::NewFrame();

    // Any application code here
    ImGui::Text("Hello, world!");

    // End of frame: render Dear ImGui
    ImGui::Render();
    ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());

    // Swap
    g_pSwapChain->Present(1, 0);
}

// Shutdown
ImGui_ImplDX11_Shutdown();
ImGui_ImplWin32_Shutdown();
ImGui::DestroyContext();

FAQ: https://github.com/ocornut/imgui/blob/master/docs/FAQ.md
Glossary:https://github.com/ocornut/imgui/wiki/Glossary