Я только что узнал, что GLUT устарел.
Вот что происходит, когда вы принимаете первый ответ, с которым сталкиваетесь; Вы получаете плохую информацию. GLUT 3.7 не должен использоваться, но FreeGLUT полностью обратно совместим с ним.
Тем не менее, ваш вопрос идет в другом месте. Для создания реальной игры GLUT формы * не подходит. Он не дает вам контроль над основным циклом, и вам действительно нужно это в игре (FreeGLUT действительно имеет способ управления основным циклом, но он все еще странный). GLUT для написания графических демонстраций. Это очень важно при тестировании новых графических эффектов, поэтому оно должно быть в вашем наборе инструментов, когда это необходимо. Но ваш основной игровой код никогда не должен его использовать.
GLFW - легкая альтернатива GLUT, ориентированная на игру. Он предоставляет базовую поддержку для вещей, помимо создания окна OpenGL. Он позволяет вам получать ввод, загружать изображения в качестве текстур и пару других вещей.
SDL , SFML и Allegro 5 являются мультимедийными инструментами. Они могут создавать окна OpenGL, но они делают гораздо больше. Они обеспечивают полную поддержку ввода, аудио и других материалов, необходимых для создания игры. Если вы делаете игру, любая из них является хорошей отправной точкой. Мне лично нравится Allegro 5, но это всего лишь мой уклон в сторону хорошей документации и чистого API.
Вы можете найти альтернативу GLUT на этой странице:
http://www.opengl.org/resources/libraries/windowtoolkits/
К этому я бы также добавил SFML:
http://www.sfml-dev.org/index.php
источник
Если ваша цель - разработать игру,
Это зависит от того, хотите ли вы, чтобы ваша игра была кроссплатформенной или нет. Для портативных (Windows, Mac, Linux) игр SDL кажется единственным выбором.
Если вы ориентируетесь только на Windows и / или XBox, есть гораздо лучшие альтернативы, например, XNA, которая освобождает вас от написания большого количества кода вручную.
Если ваша цель - изучить OpenGL,
Просто программируйте на OpenGL, но будьте готовы столкнуться с множеством неинтуитивных понятий, математики и огромных руководств.
источник
GLUT - это API, а также библиотека. Оригинальная библиотека действительно устарела. API - это совсем другое, начинать с него было неплохо, просто нужны изменения для преодоления ограничений и удовлетворения новых потребностей. Основной текущей реализацией является FreeGLUT, которая поддерживается и не устарела. Это означает, что хорошей альтернативой GLUT (как в библиотеке GLUT) является GLUT (как в FreeGLUT).
Указанная выше проблема с «управлением основным контуром» неверна. С новыми версиями GLUT вы можете лучше контролировать игровой цикл (если это важно для вас). Ограничение было исправлено glutMainLoopEvent (). Это и другие ограничения рассматриваются здесь:
http://en.wikipedia.org/wiki/OpenGL_Utility_Toolkit
источник
glutMainLoopEvent
вряд ли это хороший способ управления основным циклом. Он по-прежнему использует управляемую событиями модель для подачи ваших данных, а не модель опроса, где вы получаете данные, которые вы хотите, когда вы этого хотите.Qt поддерживает OpenGL. Взгляните на Open Inventor и подумайте, имеет ли смысл переходить прямо к высокоуровневому 3D API.
источник