2013-05-09 15 views
18

Windows, Linux, MacOSX, Android ve IOS üzerinde çalışacak bir çapraz platform multimedya uygulaması geliştirmem gerekiyor. Bu uygulama, ses/video içeriği, fotoğraf ve grafikleri görüntüleyebilmeli ve büyük ihtimalle basit 2D animasyonlarını gösterebilmelidir. Arama yaptıktan sonra, problemin "en portatif yaklaşımı", her ikisi de neredeyse her cihaz/OS çiftinde desteklendiği için çizim API'si olarak dil ve OpenGL ES kullanmaktır. iyi ve görsel görünüm her bir (grup) cihazda aynı olmalıdır.Win/Linux/MacOSX/Android/IOS üzerinde platformlar arası geliştirme için OpenGL ES framework'ü arıyoruz

Açıkçası, farklı ekran boyutları ve çözünürlükleri olan farklı cihazlarda "ölçeklendirmek" için uygulamanın görünümünü değiştirmem gerektiğini biliyorum. Farklı mimarilerdeki herhangi bir kod parçası için aynı davranışı talep etmenin gerçekçi olmadığını da biliyorum. Sadece yazılı kodu en aza indirmek istiyorum (örneğin, C++'da ilk önce bir arayüz parçasının yeniden yazılması, sonra da Java'dan kaçınılmalıdır).

OpenGL ES programlama konusunda uzman değilim, ancak bazı örneklere baktığımda, bazı hazır widget'lere (menüler, düğmeler, metin kutuları) sahip olmak için bir çerçeveye ihtiyacım var gibi görünüyor. Direksiyonu yeniden icat etmemeyi tercih ederim.

Bu düşük bütçeli bir projedir, bu yüzden tamamen ücretsiz ve open source olan bir çerçeveye ihtiyacım var. İkinci gereklilik, önemli bir şey eksik olduğunda veya yanlış davranıyorsa çerçevenin API'lerini ekleme/değiştirme özgürlüğü de verir. Ben bahsettiğim platformlar için böyle bir çerçevenin varolmadığından kuşkulu olduğum için girdi, ağ oluşturma, depolama, vb. Işleyebilen çok amaçlı bir çerçeve (örneğin böyle bir Qt) istemiyorum. Sadece düşük seviyeli ayrıntıların çoğunu soyutlayabilen ama aynı zamanda Qt'nin yapacağı gibi bazı UI widget'ları sunan bir tür OpenGL sarıcı istiyorum. Ben here önerildiği gibi, muhtemelen diğer çapraz platform açık kaynak kitaplıkları kullanarak, giriş, ağ, depolama, sensörler ayrı ele alacağım.

Ben Stackoverflow ve Gamedev benzer bir çok soru okudum ve ben ağırlıklı olarak oyun geliştirme için oluşturulan çerçeveler (Unity, Corona SDK, LÖVE, LibGDX, Ogre, Cocos2D-x), bir çok duydum. Ogre ve Cocos2D-x, örneğin, bazı gereksinimlerimle eşleşiyor gibi görünüyor, ancak bunlardan birini kullanmaya karar verirsem neredeyse tüm UI öğelerini kodlamalıyım (böyle büyük bir yük değil, biri tartışabilir).

Birkaç açıklamalar: OpenGL overkill gibi görünebilir böylece

  • uygulama, 2B olduğunu. Ancak OpenGL ES, çok iyi taşınabilirlik ve eski donanımlarda bile yüksek performans seviyesi nedeniyle seçilmiştir.
  • Temelde bir Linux C++ geliştiricisiyim, bu yüzden HTML5'e (hala çok genç) ya da .NET/Mono'ya (daha az verimli) dönüş yapmamaya dikkat etmeliyim. Üstelik bu dilleri kısa sürede gerçekçi bir şekilde yönetemedim.
  • this article'daki hikayeden etkilendim. Bunun doğru yaklaşım olabileceğine inanıyorum: proje ihtiyaçlarına uygun açık kaynak araç ve kütüphanelerin bir karışımı. Ama hala en önemli parçayı özlüyorum: grafik çerçevesi.
  • Bu soruları yanıtladığım için this discouraging answer numaralı telefonu buldum. Umarım benim gereksinimlerim boş bir set üretmez. Farklı bir platformda n farklı UI'leri n farklı platformda sürdürmek için gerçekten göze alamıyorum.Platform agnostik olan bir şeye ihtiyacım var.

Herhangi bir yardım veya tavsiye büyük takdir.

+0

, bir "multimedya uygulama" olarak düşünün. Bir fotoğraf editörü, bir "multimedya uygulaması" şemsiyesi altında düşmek hepsi bir eğitim dağıtım platformu önemli ölçüde farklı olan bir first-person shooter, önemli ölçüde farklı olan bir video oynatıcı, önemli ölçüde farklıdır. Hala bu projenin ne kadar ileri gidebileceğini ayrıntılı olarak bilmiyorum çünkü Haklısın – CommonsWare

+0

, ben belirsiz oldum. Elbette uygulamanın ses/video içeriği, fotoğraf ve grafikleri ve muhtemelen basit 2D animasyonları oynayabilmesi gerekecek. – Avio

cevap

9

ben de bunu üzerine tökezledi: GamePlay 3D

Desteklenen platformlar Blackberry, Android, iOS, Windows, Linux ve Mac OS X

Hep 2D 3D çerçeve kullanarak yapabilirsiniz

bulunmaktadır.

+0

Vay, tam olarak aradığım şey gibi görünüyor! Çok teşekkür ederim, deneyeceğim! – Avio

+1

Link bozuk, yeni web sitesi http://www.gameplay3d.io –

2

openframeworks

istediğiniz herşeyi yapar.

Sen biraz daha ayrıntılı olarak açıklamak isteyebilirsiniz
+5

adresinde görünüyor. Bu soruya cevap verebiliyor olsa da, gerçek bilgiyi burada sadece bir link olarak değil, daha iyi bir şekilde sunmak daha doğru olur. [Sadece bağlantıya verilen cevaplar iyi yanıt olarak kabul edilmez ve muhtemelen silinecektir] (http://stackoverflow.com/help/deleted-answers). –

+0

bu iyi bir öneri olsa da. Bende biraz var. –

+0

oF, baktığım ilk yerdi çünkü bana en çok tanıdık geldi, ama karşılaştırılabilir bir şey olup olmadığını görmek istedim. Görünüşe göre oF hala kral! – plong0

İlgili konular