Necesito portar mi proyecto de juego desde Android (escrito en C, OpenGL ES 2.0, gracias a NDK) a plataformas Windows y Linux. Por supuesto, tendré que volver a escribir un código dependiente de la plataforma, pero ahora me quedo con la pregunta de qué biblioteca para crear OpenGL y el uso del identificador de entrada.
Solo una búsqueda rápida en Google me da 3 candidatos:
1) Freeglut - reescrito y gratis GLUT antiguo.
2) SDL: conoce bien una lib, utilizada en muchos juegos.
3) GLFW: algún tipo de novedad, pero simple y funcional.
Simplemente soy bastante nuevo en el desarrollo de PC y no veo diferencias significativas entre ellos. ¿Me pueden ayudar a elegir? Claramente necesito solo la entrada del mouse / teclado central y la creación de contexto OpenGL, también usaré GLEW para llegar a OpenGL moderno con facilidad.
Respuestas:
GLFW es moderno y tiene un alcance muy bien definido . También está en desarrollo muy activo.
SDL, por otro lado, es sólido como una roca y tiene muchas características en diferentes ámbitos, pero carece de algo en todos ellos (por ejemplo: SDL puede hacer audio, pero es posible que prefiera usar OpenAL porque es muy superior en ese aspecto). Puede ser notable que SDL fue portado a muchas plataformas diferentes, a diferencia de GLFW, que es solo para plataformas de escritorio (win / linux / mac).
GLUT , bueno, debe ser evitado . Simplemente no hay realmente nada al respecto que lo haga bueno.
En mi opinión, el perfeccionista GLFW es la mejor opción. Porque hace exactamente lo que uno quiere, nada menos nada más. El desarrollo muy activo también es una buena señal para proyectos a largo plazo porque generalmente significa que se corregirán los errores, se agregarán nuevas características, se mantendrán al día con los estándares más nuevos y no se eliminarán en ningún momento. Esto no es importante para un puerto rápido o un juego de 6 meses, pero para un motor o una biblioteca que quieras reutilizar, lo tendré en cuenta.
fuente