Je prévois de développer mon premier jeu iPhone et je voulais savoir si je devrais utiliser OpenGL ou CoreGraphics pour un jeu 2D. Un aperçu des avantages serait également utile.
Modifier: définissez cela pour le wiki de la communauté car la réponse sera trop subjective
D'après mon expérience, la plupart des jeux 2D sur iPhone sont écrits en OpenGL ES. Leur démo de jeu 2D est également écrite en OpenGL. J'irais avec OpenGL, ne serait-ce que parce que vous êtes plus susceptible de trouver beaucoup plus de ressources pour les problèmes liés au jeu dans OGL au lieu de CoreGraphics.
Il existe également des fonctionnalités au niveau du système d'exploitation qui rendent le travail dans OpenGL moins pénible que sur quelques autres plates-formes. Par exemple, vous pouvez utiliser la classe NSString pour effectuer un rendu dans un contexte OpenGL et obtenir une prise en charge Unicode complète et dynamique dès le départ.
la source
En un mot, ils se concentrent sur différents objectifs.
CoreGraphics: Compositing et graphiques vectoriels. Si vous en avez juste besoin, CoreGraphics est un bon choix.
CoreAnimation: animez des couches d'objets 2D.
OpenGL se trouve en dessous de ces deux (et CoreImage / CoreVideo, aussi). En raison de son niveau inférieur, il vous donne un plus grand degré de contrôle. Et vous oblige à faire plus de travail lors de la mise en œuvre des choses.
Donc, vraiment, cela dépend de ce que vous devez faire. Et dès que vous envisagez de porter ce jeu sur d'autres plates-formes, OpenGL semble beaucoup plus attrayant, car il est pris en charge à peu près partout.
la source