Soru OpenGL ES, OpenFrameworks, Cinder ve IOS yaratıcı geliştirme


Zor bir seçimin ortasındayım. Güçlü bir sanatsal / yaratıcı / grafik bileşeni ile uygulama oluşturmama yardımcı olabilecek ve müşterilerim için ticari projeler için kullanabileceğim bir dil öğrenmek istiyorum.

İlk seçimim OpenGL ES idi, bunu "Standart" bir yol olarak düşünüyorum. Ancak, bu arada, bu siteyi keşfettim: http://www.creativeapplications.net/ En çok kullanılanlar için ios için çok güzel uygulamalar buldum OpenFramewors ve kül.

Sorum şu: OpenGL yerine neden bu 2 "sarıcı" seçilmelidir? Faydaları ve dezavantajları anlamalıyım.

Bu çerçeveleri kullanmanın kolay (ve standart) bir şekilde (OpenGL için olduğu gibi) UIKit / Kakao ve Grafikler ile karışabileceğinden emin değilim. Şu anda hala OpenGL'yi tercih ediyorum çünkü bunun Apple'ın önerdiği gibi olduğunu biliyorum (Apple tarafından önerilmekte) ve eminim ki bu müşteriden de yararlanabileceğime eminim. OF ve Cinder i kullanmanın UIKit ve Kakao'yu hileli olarak tam olarak yönetebileceğinden emin değilim.


18
2018-04-25 09:01


Menşei


Kötü saygınlığım nedeniyle "cüret" etiketi oluşturamıyorum: Birisi bu formu düzenleyebilir ve bu etiketi ekleyebilir mi? - MatterGoal


Cevaplar:


Bir çerçeve kullanmanın yararları, Ruben tarafından belirtildiği gibi, tekerleği yeniden icat etmediğinizdir. OpenGL normalde ihtiyacınız olan pek çok sınıfla birlikte gelmez: Vektörler, matrisler, kameralar, renk, görüntüler vb. Ve onlarla çalışmak için ihtiyaç duyacağınız yöntemler: normalize, aritmetik, çapraz ürün vb.

Tabii ki tüm bunları OpenGL'de uygulayabilirsiniz, ancak eğer birisi daha önce yapmışsa, neden sadece bunun yerine değil? Çerçeve veya kütüphane seçiminiz hangi uygulamayı tercih edeceğinize bağlı olacaktır. OF bunun yerine başka bir kütüphaneye göre farklı olan Cinder'e farklı şeyler yapar.

Bir çerçeve sağlayan her şeyi kullanmak zorunda değilsiniz. Eğer temel uygulamayı sevmiyorsanız (örneğin Cinder gibi) kendi bağlamlarınızı yaratabilirsiniz ve sadece çerçevenin 3d matematik kütüphanelerini veya görüntü kütüphanesini veya istediğiniz başka bir parçayı kullanamazsınız. Sadece istediğiniz ilgili başlıklarını ekleyin.

Alternatif olarak, çok eğimliyseniz ve hep birlikte çerçevelerle uzaklaşıyorsanız, sadece bir 3B matematik kütüphanesi kullanabilirsiniz. Bu, işleme hattınızın üzerinde daha fazla kontrol sağlar ve ayrıca uygulama boyutunu potansiyel olarak azaltır.

Nihayetinde seçtiğiniz şey, özelliklerine ve belirli bir stil için tercihinize bağlı olacaktır. Sizinle rahat olduğunuz ve üretimde kullanılmış olan bir çerçeve veya kütüphaneye gitmenizi öneririm (sadece bir şeylerle uğraşmadıkça). Dokümantasyon da önemlidir. Dokümanlar / kaynaklar çok iyi değilse, bir şey kullanmaktan çekinirim.

Tabii ki, ins ve çıkışları öğrenmek istiyorsanız (asla kötü bir fikir), kendi kütüphanenizi yazın.


9
2018-05-19 18:44





OF ve Cinder'i seçmenin temel avantajı, OpenGL kütüphanesiyle uğraşmaktan çok saat kaybetmekten daha iyi bir şekilde yaratımınıza odaklanabilmenizdir. Cinder, görüntü indirme ve hafıza işlemlerini de içerir. Ancak, sabırlı olmalısınız çünkü bu çerçeveler şu anda iOS platformuna aktarılıyor.

Bazı aylarda ya da yıllarda, herkes grafik sanatının ardındaki her şeyi özetleyen bu çerçeveleri kullanacak ve onlara sanat yapma potansiyeli ve zamanı getirecek!


7
2018-04-25 11:24





Bir şey kaçırmazsan, sadece OpenGL ile birlikte iyi olacağını düşünüyorum.

Cinder bazı ek güzellikler sunar, bkz. http://libcinder.org/features/. Belki üçgenleme, sistem fontlarının yüklenmesi, matris desteği vb. Gelecekte sizin için ilginç olabilir.

Ayrıca Cinder's tehlikeli şey yeni projeler yaratmayı çok kolaylaştırıyor.


3
2018-05-03 13:45





Artık hem Cinder hem de OF iOS platformunu tamamen destekliyor ve bunları bir iOS uygulamasında kolayca kullanabilirsiniz.

Ayrıca bu çerçevelerin tasarımcılar ve yaratıcı sanatçılar / kodlayıcılar ile özel olarak tasarlandığını, ancak OpenGL'nin grafik donanımlarla uğraşmak için teknik bir standart olduğunu unutmayın.


3
2017-11-01 23:33





Not: Bu çerçevenin yazarıyım.

İOS için bir Objective-C tabanlı OpenGL ES 2.0 çerçevesi olan Rend'i oluşturmaya biraz zaman harcadım. Hafiftir ve bazı projeler için uygun olabilecek saf işlemeye odaklanır.

Ayrıca, kendi çerçevenizi oluşturuyorsanız, ilham ve kod parçacıkları için de kullanabilirsiniz.

http://github.com/antonholmquist/rend-ios


3
2018-06-29 15:32



Teşekkür ederim @Anton! Bu gerçekten ilginç bir proje, emin olmak için bir göz atacağım :) - MatterGoal
@anton rend-ios TeapotController.m'deki REDisplayLink removeObserver yöntemine erişemiyorum. REDisplayLink'e nasıl erişebilirim? - SnakingPrabhu