【问题标题】:ImGui without Window?没有窗口的 ImGui?
【发布时间】:2021-12-18 15:54:20
【问题描述】:

是否可以创建没有背景或窗口的 ImGui 屏幕? 它只是可以在屏幕上拖动的 ImGui 窗口。 It would looks something like this, but instead of a blue background, you'd just see the application that is under it.

【问题讨论】:

  • 我不知道您是否使用 SDL,但在 SDL 中您可以使用 SDL_NOFRAME 禁用框架,这是一个好的开始(当然,在 opengl 和 direct3d 中也有这样做的方法)。移动它可能是特定于实现的。例如,在 Windows 上,您可以使用其客户区拖动一个窗口,例如 this
  • 您可以将窗口设置为视口的大小(由普通操作系统窗口控制),并设置一些样式(ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse)并将NULL作为第二个参数传递给ImGUI::Begin 所以它总是会填满整个视口。

标签: c++ imgui


【解决方案1】:

如果是 GLFW 后端,下面带有 glclear 颜色的窗口提示会有所帮助

glfwWindowHint(GLFW_TRANSPARENT_FRAMEBUFFER, GLFW_TRUE);

渲染循环:

{
    ...
    glfwGetFramebufferSize(window, &app_width, &app_height);
    glViewport(0, 0, app_width, app_height);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
    
    //render
    ...
}

【讨论】:

    猜你喜欢
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    相关资源
    最近更新 更多