Me acabo de enterar que GLUT es obsoleto.
Eso es lo que sucede cuando aceptas la primera respuesta que encuentras; obtienes mala información. GLUT 3.7 no debe usarse, pero FreeGLUT es completamente compatible con versiones anteriores.
Sin embargo, su pregunta va a otra parte. Para hacer un juego real, GLUT of * form es inapropiado. No te da control del bucle principal, y realmente lo necesitas en un juego (FreeGLUT tiene una forma de controlar el bucle principal, pero aún es extraño). GLUT es para escribir demostraciones gráficas. Eso es muy importante al probar nuevos efectos gráficos, por lo que debe estar allí en su caja de herramientas cuando sea necesario. Pero tu código principal del juego nunca debería usarlo.
GLFW es una alternativa liviana centrada en el juego para GLUT. Proporciona soporte básico para cosas más allá de crear una ventana OpenGL. Le permite obtener entradas, cargar imágenes como texturas y un par de otras cosas.
SDL , SFML y Allegro 5 son todos kits de herramientas multimedia. Pueden crear ventanas OpenGL, pero hacen mucho más que eso. Proporcionan soporte completo para entrada, audio y otras cosas que necesitas para hacer un juego. Si estás haciendo un juego, cualquiera de estos es un buen punto de partida. Personalmente, me gusta Allegro 5, pero ese es solo mi sesgo hacia una buena documentación y una API limpia.
Puede encontrar una alternativa a GLUT en esta página:
http://www.opengl.org/resources/libraries/windowtoolkits/
A eso también agregaría SFML:
http://www.sfml-dev.org/index.php
fuente
Si tu objetivo es desarrollar un juego,
Depende de si quieres que tu juego sea multiplataforma o no. Para juegos portátiles (Windows, Mac, Linux), SDL parece ser la única opción.
Si solo apuntas a Windows y / o XBox, hay alternativas mucho mejores, por ejemplo, XNA que te libera de escribir mucho código manualmente.
Si tu objetivo es aprender OpenGL,
Solo programe en OpenGL sin formato, pero prepárese para enfrentar muchos conceptos poco intuitivos, matemáticas y enormes manuales.
fuente
GLUT es una API, así como una biblioteca. La biblioteca original es de hecho obsoleta. La API es algo diferente, fue bastante bueno para comenzar, solo necesita revisiones para superar las limitaciones y abordar nuevas necesidades. La implementación actual principal es FreeGLUT, que es compatible y no está obsoleta. Eso significa que una buena alternativa a GLUT (como en la biblioteca GLUT) es GLUT (como en FreeGLUT).
El problema mencionado anteriormente con "control del bucle principal" es incorrecto. Con las versiones más recientes de GLUT puedes tener un mejor control sobre tu ciclo de juego (si eso es importante para ti). La limitación fue corregida por glutMainLoopEvent (). Esta y otras limitaciones se abordan aquí:
http://en.wikipedia.org/wiki/OpenGL_Utility_Toolkit
fuente
glutMainLoopEvent
no es una buena forma de administrar el bucle principal. Todavía utiliza un modelo basado en eventos para alimentar sus datos, en lugar de un modelo de sondeo donde obtiene los datos que desea cuando lo desea.Qt es compatible con OpenGL. Eche un vistazo a Open Inventor y considere si tiene sentido ir directamente a una API 3D de nivel superior.
fuente