preciso portar meu projeto de jogo do Android (escrito em C, OpenGL ES 2.0, graças ao NDK) para plataformas Windows e Linux. É claro que precisarei reescrever algum código dependente da plataforma, mas agora fiquei com a dúvida de qual biblioteca para criar OpenGL e uso do identificador de entrada.
Apenas uma pesquisa rápida me leva três candidatos:
1) Freeglut - reescrito e livre GLUT velho bom.
2) SDL - muito bem conhece uma lib, usada em muitos jogos.
3) GLFW - algum tipo de novo, mas simples e funcional.
Eu sou um novato no desenvolvimento de PCs e não vejo diferenças significativas entre eles. Você pode me ajudar qual escolher? Eu claramente preciso apenas da entrada principal do mouse / teclado e da criação do contexto do OpenGL, também vou usar o GLEW para chegar ao OpenGL moderno com facilidade.
Respostas:
O GLFW é moderno e tem um escopo muito bem definido . Também está em desenvolvimento muito ativo.
O SDL, por outro lado, é sólido e possui muitos recursos em escopos diferentes, mas falta um pouco em todos eles (por exemplo: SDL pode fazer áudio, mas você pode preferir usar o OpenAL porque é muito superior nesse assunto). Pode ser notável que o SDL foi portado para muitas plataformas diferentes, ao contrário do GLFW, que é apenas para plataformas de desktop (win / linux / mac).
GLUT , bem, deve ser evitado . Simplesmente não há realmente nada sobre o que o torna bom.
Na minha opinião como perfeccionista GLFW é a melhor escolha. Porque faz exatamente o que se quer, nada menos nada mais. O desenvolvimento muito ativo também é um bom sinal para projetos de longo prazo, porque geralmente significa que os bugs serão corrigidos, que novos recursos serão adicionados, acompanhará os padrões mais recentes e que não serão abandonados a qualquer momento. Isso não é importante para uma porta rápida ou para um jogo de 6 meses, mas para um mecanismo ou uma biblioteca que você deseja reutilizar, eu deveria ter isso em mente.
fonte