Я также советую избегать GLUT. В любом случае, оно довольно ограничено.
Другой вариант, если вы предпочитаете обрабатывать свой собственный цикл основного события, а не использовать обратные вызовы, использует SDL . Да, он предназначен для игр, но он может предоставить вам контекст GL и достаточно хорошо работает для большинства интерактивных приложений OpenGL, которым не нужны стандартные виджеты пользовательского интерфейса. Он предоставляет вам события клавиатуры / мыши, миллисекундные таймеры и некоторые основные функции управления окнами.
KINDA POINTLESS POST-HOC EDIT : Мне сообщили в комментарии, что GLFW также позволяет запускать ваш собственный цикл обработки событий. Посмотрев на это еще раз, я определенно согласен с тем, что GLFW является подходом для большинства вещей, которые не нуждаются в стандартных виджетах пользовательского интерфейса.