#c #opengl #glut
#c #opengl #перенасыщение
Вопрос:
Я новичок в OpenGL, и я делал несколько руководств, использующих GLUT.
GLUT кажется довольно неуклюжим и «старомодным» (если вы понимаете, что я имею в виду: D) поэтому я спрашиваю, есть ли более простые (возможно, более интуитивно понятные) библиотеки для замены функциональности GLUT?
Ответ №1:
Похоже, GLFW
это то, что вы ищете. Это довольно простая библиотека, но гораздо более интуитивно понятная, чем GLUT. Она также имеет базовую поддержку ввода с клавиатуры, мыши и джойстика.
Это также довольно небольшая библиотека, поэтому у нее также есть небольшие накладные расходы. Обычно GLFW добавляет только 20-30 кб накладных расходов, если связан статически. Переносимость также превосходна, поддержка платформы включает все основные настольные платформы (Windows, Mac OS X, Unix-подобные системы с системой X Window, такие как FreeBSD и Linux).
Комментарии:
1. Это выглядит очень многообещающе. Спасибо. Я все еще жду дополнительных альтернативных ответов, прежде чем отмечу этот принятый ответ.
2. 1 на GLFW. Это одно из немногих решений по принципу «подключи, и никаких забот, никакой боли». Иногда мне хочется, чтобы больше вещей работало подобным образом.
Ответ №2:
Для этого я использую SDL. Это кроссплатформенная библиотека, которая позволяет мне создавать окно OpenGL и контекст рендеринга, а также обрабатывает ввод с помощью мыши, клавиатуры и джойстика. Она поддерживает вывод звука и некоторые дополнительные библиотеки, такие как SDL_mixer
для упрощения поддержки звука и SDL_ttf
для поддержки шрифтов TrueType.
Начиная с SDL 1.3, также можно указать, какую версию OpenGL должен поддерживать созданный контекст OpenGL, и, используя SDL 1.3, я могу заставить тот же код работать на Windows, Linux и моем телефоне Android. SDL 1.3, похоже, также включает в себя некоторые функции распознавания мыши и сенсорных жестов.
Комментарии:
1. Превосходно. К сожалению, нет возможности пометить два принятых ответа, поэтому я должен выбрать первый, несмотря на то, что я, вероятно, буду использовать как SDL, так и GLFW в своих будущих проектах. Спасибо.