Как встроить OpenGL в приложение Win32? - PullRequest
0 голосов
/ 17 марта 2019

Прежде всего, моё понимание как Win32, так и OpenGL может быть совершенно неверным.Поэтому не стесняйтесь ставить под сомнение любые предположения, которые я сделаю в рамках моего следующего вопроса.

То, что я здесь спрашиваю, не является чем-то новым;Есть немало популярных библиотек, которые уже реализуют то, о чем я говорю!Хороший пример, вероятно, будет GLFW .

Поэтому я явно не прошу рекомендации.Вместо этого я хотел бы знать, что эти библиотеки делают в фоновом режиме.Посмотрев на фактическую реализацию GLFW, я понял, что процесс создания и взаимодействия с фактическим GUI полностью независим от самого OpenGL.Позвольте мне попытаться выразить себя лучше в следующем прекрасном произведении искусства.

enter image description here

Верно ли это предположение?Как бы вы тогда нарисовали OpenGL на текстуре в пределах GUI?

И в случае, если это не правильно, то как в действительности это реализовано?

1 Ответ

0 голосов
/ 19 марта 2019

Хорошо, во-первых, я хотел бы поблагодарить @ derhass за предоставление мне достаточной информации для решения моего вопроса.Таким образом, вся заслуга идет к нему!

Давайте сразу перейдем к ответу: ключевой деталью, которую я пропустил, был мост между OpenGL и Win32 самой - wgl , а именно,Затем этот интерфейс прикладного программирования может встраивать «кадровый буфер» в графический пользовательский интерфейс Win32.

Согласно @ Spektre , метод GetDC(Handle)может даже связать OpenGL с компонентом самого графического пользовательского интерфейса.

Я бы настоятельно рекомендовал любому взглянуть на каждый связанный вопрос - они содержат несколько примеров использования wgl.

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