Мне нужно перенести мой игровой проект с Android (написано на C, OpenGL ES 2.0, благодаря NDK) на платформы Windows и Linux. Конечно, мне нужно будет переписать некоторый зависимый от платформы код, но теперь я застрял с вопросом, какую библиотеку для создания OpenGL и дескриптор ввода использовать.
Просто быстро погуглив мне 3 кандидата:
1) Freeglut - переписанный и бесплатный старый добрый GLUT.
2) SDL - наиболее хорошо известна одна библиотека, используемая во многих играх.
3) GLFW - что-то новое, но простое и функциональное.
Я просто новичок в разработке ПК и не вижу существенных различий между ними. Можете ли вы помочь мне выбрать? Я явно нуждаюсь в основном вводе мышью / клавиатурой и создании контекста OpenGL, также я буду использовать GLEW, чтобы легко добраться до современного OpenGL.
Ответы:
GLFW современен и имеет очень четкую сферу применения . Он также находится в стадии активной разработки.
SDL, с другой стороны, надежен и имеет множество функций в разных областях, но во всех из них его не хватает (например: SDL может воспроизводить звук, но вы можете предпочесть использование OpenAL, потому что в этом отношении он намного лучше). Следует отметить, что SDL был портирован на множество различных платформ, в отличие от GLFW, который предназначен только для настольных платформ (win / linux / mac).
GLUT , ну, следует избегать . В этом просто нет ничего, что могло бы сделать это хорошо.
На мой взгляд, как перфекционист GLFW является лучшим выбором. Потому что он делает именно то, что хочет, ни меньше, ни больше. Очень активная разработка также является хорошим знаком для долгосрочных проектов, поскольку обычно это означает, что ошибки будут исправлены, что будут добавлены новые функции, что будет соответствовать новым стандартам и что в ближайшее время они не будут устранены. Это не важно для быстрого порта или 6-месячной игры, но для движка или библиотеки, которую вы хотите использовать повторно, я бы помнил об этом.
источник