Freeglut vs SDL vs GLFW arası


26

oyun projemi Android'den (C, OpenGL ES 2.0, NDK sayesinde yazılmış) Windows ve Linux platformlarına taşımalıyım. Tabii ki bazı platform bağımlı kodları yeniden yazmam gerekecek, ancak şimdi OpenGL ve giriş tanıtıcısı kullanımı için hangi kütüphaneyi kullanacağımı sorusuna şaşırdım.

Sadece hızlı bir googling bana 3 aday olsun:

1) Freeglut - yeniden yazılmış ve ücretsiz eski yaşlı GLUT.
2) SDL - çoğu oyunda kullanılan bir kütüphaneyi iyi bilir.
3) GLFW - bir tür yeni, ama basit ve işlevsel.

Ben sadece PC geliştirmede oldukça yeniyim ve onlar arasında önemli bir fark görmüyorum. Hangisini seçmeme yardım eder misin? Açıkça sadece temel fare / klavye girişine ve OpenGL bağlamı yaratmaya ihtiyacım var, ayrıca modern OpenGL'ye kolay ulaşmak için GLEW kullanacağım.


2
Cevap oldukça tartışılacak ve SE formatı için gerçekten iyi bir soru değil. Bununla birlikte, son derece görüşlü cevabım - üçünü de gerçek projeler için kullandım ve SFML, GLUT, Qt ve diğerleri arasında bir çözüm olarak kullandık - SDL'nin özelliklerin, istikrarın ve kolaylığın iyi bir karışımını verdiğini söyledi. kullanım. Özellikle sürüm öncesi 2.0 sürümlerini öneririm (yalnızca Mercurial repo'yu kontrol ederek ve kendinizi geliştirerek kullanılabilir, ancak bu oldukça kolaydır). İkincisi, SFML oldukça iyidir. GLFW'de çok fazla böcek buldum, GLUT oyunlar için kötü, el işi ise çok sayıda iş.
Sean Middleditch

Şahsen SDL'yi tavsiye ederim çünkü bir oyunun bütün bölümlerini girişten grafiklere ve sese kadar işler. Ancak, sınırlayıcı olabilir, ancak daha sınırlı bir platform için daha önce geliştirilmiş bir oyundan geldiğinizden, iyi bir seçim olacağını düşünüyorum.
CobaltHex

Evet, bu bir anket. Benim oyum GLFW, basit, kolay, çözülmemiş herhangi bir sorunla karşılaşmadı. Süper hafif ve derlenmesi de kolaydır.
dececaratedcaviar

Yanıtlar:


29

GLFW modern ve çok iyi tanımlanmış bir kapsamı var . Aynı zamanda çok aktif bir gelişme altında.

Diğer taraftaki SDL kaya gibi sağlam ve farklı kapsamlarda birçok özelliğe sahip ancak hepsinde bir miktar eksiklik var (örneğin: SDL ses yapabilir, ancak bu konuda üstün olduğu için OpenAL kullanmayı tercih edebilirsiniz). SDL'nin, yalnızca masaüstü platformları için olan (win / linux / mac) olan GLFW'den farklı olarak birçok farklı platforma taşınması dikkat çekici olabilir.

GLUT , iyi, kaçınılmalıdır . Sadece onu iyi yapan şey hakkında hiçbir şey yok.


Bence mükemmeliyetçi GLFW olarak daha iyi bir seçimdir. Çünkü tam olarak istediğini yapıyor, hiçbir şeyden başka bir şey değil. Çok aktif gelişme, uzun vadeli projeler için de iyi bir işarettir, çünkü genellikle hataların giderileceği, yeni özelliklerin ekleneceği, yeni standartlara ayak uyduracağı ve yakın zamandan vazgeçilmeyeceği anlamına gelir. Bu hızlı bir bağlantı noktası veya 6 aylık bir oyun için önemli değil, ancak yeniden kullanmak istediğiniz bir motor veya kütüphane için bunu aklımda tutardım.


7
Ancak OP, GLUT ile değil Freeglut'u soruyor !!!

@ user3473 "FreeGLUT, OpenGL Utility Toolkit (GLUT) kütüphanesine bir açık kaynak alternatifidir."
YoYoYonnY

@ YoYoYonnY Öyleyse GLFW ve SDL, bu nedenle bu soru.
Dan

@Dan ... hayır. GLFW ve özellikle SDL kesinlikle GLUT'a alternatif değil, çünkü GLUT ile yapamayacağınız ve tersi yapamayacağınız şeyler yapabilirsiniz.
YoYoYonnY

@YoYoYonnY FreeGLUT ile GLUT ile yapamayacağınız şeyler yapabilirsiniz. Demek istediğim hala duruyor.
Dan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.