imgui 在 GLFW + OpenGL3 上不显示

问题描述 投票:0回答:0

初始化GLFW窗口

m_Window = glfwCreateWindow((int)m_Data.Width, (int)m_Data.Height, m_Data.Title.c_str(), nullptr, nullptr);
glfwMakeContextCurrent(m_Window);

int status = gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
glfwSetWindowUserPointer(m_Window, &m_Data);
SetVSync(true);

初始化 imgui 上下文

ImGui::CreateContext();
ImGui::StyleColorsDark();

ImGuiIO& io = ImGui::GetIO();
io.BackendFlags |= ImGuiBackendFlags_HasMouseCursors;
io.BackendFlags |= ImGuiBackendFlags_HasSetMousePos;
        
io.KeyMap[ImGuiKey_Tab] = GLFW_KEY_TAB;
        
bool status = ImGui_ImplOpenGL3_Init();

更新框架

ImGuiIO& io = ImGui::GetIO();
Application& app = Application::Get();
io.DisplaySize = ImVec2(app.GetWindow().GetWidth(), app.GetWindow().GetHeight());

ImGui_ImplOpenGL3_NewFrame();
ImGui::NewFrame();

float time = (float)glfwGetTime();
io.DeltaTime = m_Time > 0.0f ? (time - m_Time) : (1.0f / 60.0f);
m_Time = time;

static bool show = true;
ImGui::ShowDemoWindow(&show);

ImGui::Render();
ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());

构建成功,但是运行应用程序时,imgui部分没有显示:

我期待这部分出现在当前面板中:

我该怎么做?

c++ opengl glfw imgui
© www.soinside.com 2019 - 2024. All rights reserved.