Можете ли вы создать контекст OpenGL без открытия окна? - PullRequest
30 голосов
/ 23 февраля 2009

Иногда я сталкиваюсь с местами, где я хочу получить объект кадрового буфера OpenGL, но где меня не интересует открытие какого-либо окна.

Можно ли создать контекст opengl, не привязывая его к какому-либо окну?

Ответы [ 3 ]

14 голосов
/ 23 февраля 2009

Да! вы можете использовать окно рабочего стола в качестве окна, переданного в OpenGL, до тех пор, пока вы не попытаетесь что-либо отобразить на нем;)

Просто вызовите GetDesktopWindow и передайте результат в качестве аргумента при создании нового окна OpenGL.

6 голосов
/ 24 августа 2011

http://www.opengl.org/wiki/Creating_an_OpenGL_Context

Согласно этой веб-странице, WGL_ARB_create_context может использоваться для создания контекста без окна. Я на самом деле не пробовал это сам. Я использовал freeGLUT для создания контекста, а затем отображал за кадром в framebuffer + renderbuffer Я выхожу из программы, никогда не вызывая glutMainLoop. Это клугы, но это работает для моих целей.

3 голосов
/ 23 февраля 2009

Да, вы можете выполнять рендеринг вне экрана с помощью OpenGL, но точный способ его настройки зависит от операционной системы. Наиболее близким к независимой от ОС способом было бы использовать Mesa 3D , но тогда рендеринг вне экрана не будет ускорен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...