Как рисовать графику за пределами окна (OpenGL glfw) - PullRequest
3 голосов
/ 25 июня 2019

Я хочу знать, как я могу рисовать графику opengl за пределами основного окна рисования (GLFW). Пример можно увидеть с библиотекой ImGUI. С помощью док-станции ImGui вы можете перетаскивать панели за пределы основного окна. Как ImGui делает это; рисовать графику за пределами главного окна? Как я могу добиться этого с openGL и glfw? Я использую C ++ кстати. Спасибо!

1 Ответ

3 голосов
/ 25 июня 2019

Для OpenGL вам всегда нужен контекст для рисования. Такой контекст является либо внеэкранным контекстом (весь рисунок в этом контексте не виден на экране), либо контекстом, который привязан к холсту окна.

Как выглядит это окно, зависит от используемой библиотеки и системы, но вы никогда не сможете рисовать вне этого окна / холста.

ImGUI - это библиотека, которая составляет пользовательский интерфейс с использованием различных компонентов / примитивов в контексте OpenGL. Элементы пользовательского интерфейса ImGUI не являются элементами пользовательского интерфейса, связанными с операционной системой. И окна ImGUI - это не что-то, что будет распознаваться ОС как окно, а просто набор пикселей в контексте OpenGL, которые формируют визуальное представление пользовательского интерфейса. ImGUI имеет те же ограничения, что и вы, он не может рисовать вне главного окна контекста OpenGL.

...