我想知道如何在主绘图窗口 (GLFW) 之外绘制 opengl 图形。可以在 ImGUI 库中看到一个示例。通过 ImGui 停靠,您可以将面板拖到主窗口之外。 ImGui 如何做到这一点;在主窗口外绘制图形?我怎样才能用 openGL 和 glfw 实现这一点?我正在使用 c++ 顺便说一句。谢谢!
最佳答案
对于 OpenGL,您始终需要一个上下文来进行绘制。这样的上下文要么是屏幕外上下文(所有绘制到该上下文的内容在屏幕上都不可见),要么是绑定(bind)到窗口 Canvas 的上下文。
该窗口的外观取决于所使用的库和系统,但您永远不能在该窗口/ Canvas 之外绘制。
ImGUI 是一个库,它使用 OpenGL 上下文中的各种组件/基元组成 UI。 ImGUI 的 UI 元素不是操作系统相关的 UI 元素。并且 ImGUI 窗口不会被操作系统识别为窗口,而只是 OpenGL 上下文中形成 UI 视觉外观的像素集合。 ImGUI 具有与您相同的限制,它不能在 OpenGL 上下文的主窗口之外绘制。
关于c++ - 如何在窗口外绘制图形(OpenGL glfw),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56747621/