Одна из вещей, которые я сделал - по общему признанию, немного хакерская - чтобы избежать накладных расходов на создание моего собственного окна GL - это использование открытых окон процессов.
Ключ к пониманию OpenGL заключается в следующем: все, что вам нужно для создания контекста GL с вызовом wglCreateContext, - это действительный DC.
В документации нет НИЧЕГО, в которой говорится, что это должно быть то, что у вас есть.
Для проверки этого я запустил Worlds Of Warcraft и, используя SPY ++ для получения дескриптора окна, затем вручную подключил этот дескриптор к вызову GetDC, который возвращает действительный контекст устройства, и оттуда,Я запустил остальную часть моего кода GL, как обычно.
Нет собственного создания окна GL.
Вот что случилось, когда я сделал это с Worlds of Warcraft и Star Trek Online https://universalbri.wordpress.com/2015/06/05/experiment-results
Итак, чтобы ответить на ваш вопрос, ДА вам нужно окно, но в документации ничего нетв котором говорится, что окно должно принадлежать вам.
Теперь имейте в виду: я не смог заставить этот метод обеспечить корректный визуальный вывод, используя окно рабочего стола, но мне удалось успешно создать DC, используя API getDeskTopWindow для HWND, а затем вызвать GetDC.Поэтому, если есть невизуальная обработка, для которой вы хотите использовать OpenGL - дайте мне знать, что вы делаете, мне любопытно, и если вам действительно удастся получить метод GetDesktopWindow для работы с визуалами - ПОЖАЛУЙСТА, перепечатайте в этом потоке то, что вы сделали.
Удачи.
И не позволяйте никому говорить вам, что это невозможно сделать.
Когда есть желание, есть способ.