GLFW

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.glfw.org

GLFW — это лёгкая кроссплатформенная библиотека на языке C, предназначенная для создания окон, управления контекстами OpenGL, OpenGL ES и Vulkan, а также обработки ввода от клавиатуры, мыши и игровых контроллеров. Библиотека предоставляет минимальный, хорошо документированный API, ориентированный на разработчиков графических приложений, прототипов и учебных проектов, где требуется простое и надёжное создание контекста рендеринга и взаимодействие с системой ввода.

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

  • Создание и управление окнами: функции для создания окон с заданными размерами и атрибутами, управление полноэкранным режимом, изменение размеров и контроль видимости.
  • Контексты графики: создание и привязка контекстов OpenGL, OpenGL ES и Vulkan, указание версий и профилей контекста.
  • Обработка событий ввода: коллбэки и обработчики событий клавиатуры, мыши, позиционирования курсора, прокрутки и оконных событий.
  • Поддержка игровых контроллеров: обнаружение подключённых джойстиков и геймпадов, получение состояния кнопок и осей.
  • Событийная модель: как поллинг событий, так и событийные коллбэки для удобной интеграции в цикл приложения.
  • Мониторы и видеорежимы: перечисление доступных мониторов, получение разрешений, частот обновления и управление режимами полноэкранного вывода.
  • Временные функции: простые средства для получения точного времени и измерения интервалов в приложении.
  • Совместимость и расширяемость: небольшая и переносимая кодовая база, позволяющая интеграцию с другими библиотеками и инструментами для работы с графикой и ресурсами.
Подробнее