Перейти к содержанию

Библиотека для отрисовки GUI


Рекомендуемые сообщения

Имеется хук функции в графической библиотеке (glSwapBuffers). Таким образом я рисую простое гуи, но управлять им могу только кнопками, без обработки событий. Хочется использовать более сложную библиотеку типа ImGUI и ей подобных. Но на сколько я понял у меня не получится взять контекст игры. То есть opengl не предусматривает такой возможности вообще, а даже если и предусматривает то это так не работает. Могу ли я рисовать такие сложные вещи в чужом окне? Что для этого нужно? Я видел пример использования этой библиотеки в CS GO, но она может рисоваться как через directX так и через openGL на выбор, на сколько я знаю. 

 

 

 

68747470733a2f2f63646e2e61697878652e6e65

 

 

 

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, Xipho сказал:

wglGetCurrentContext пробовал?

 

Поддерживаю.

 

В OGLHook делал именно так: после хука glSwapBuffers сохранял текущий контекст через wglGetCurrentContext, после создавал новый через wglCreateContext, переключался на новый через wglMakeCurrent, рисовал всё что нужно и возвращал старый через wglMakeCurrent

Главное помнить, что если работать в отдельном потоке - нужно создавать контекст и на него. Я так создавал поток, в котором грузил текстуры параллельно с выполнением основного кода, но пришлось сращивать контексты через wglShareLists.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Получилось отрисовать, действительно пришлось создавать свой контекст. Оказывается в imgui есть возможность рисовать без использования сторонних библиотек, только средствами чистого opengl, но возникает проблема с обработкой событий. Я нашел    Пример (ссылка почему-то открывается только через vpn)  с использованием хука SDL для перехвата событий, но в моей целевой игре не используется SDL, поэтому я просто использовал глобальный хук мыши и клавиатуры. 
Если кому надо:   так же имеется пример отрисовки на чистом opengl     https://github.com/ocornut/imgui/pull/1553/files

Изменено пользователем SweetAss1337
  • Понравилось 1
  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.