Портативная библиотека инструментария для создания приложений OpenGL

#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 в своих будущих проектах. Спасибо.