Estou planejando desenvolver meu primeiro jogo para iPhone e queria saber se devo usar o OpenGL ou CoreGraphics para um jogo em 2D. Um resumo dos benefícios também seria útil.
Editar: defina isso para o wiki da comunidade, pois a resposta será muito subjetiva
Pela minha experiência, a maioria dos jogos 2D no iPhone são escritos em OpenGL ES. A demo do jogo em 2D também está escrita em OpenGL. Eu iria com o OpenGL, apenas porque é mais provável que você encontre muito mais recursos para problemas relacionados a jogos no OGL, em vez do CoreGraphics.
Existem também alguns recursos no nível do sistema operacional que tornam o trabalho no OpenGL menos doloroso do que em algumas outras plataformas. Por exemplo, você pode usar a classe NSString para renderizar em um contexto OpenGL e obter suporte completo e dinâmico a Unicode logo de cara.
fonte
Em poucas palavras, eles se concentram em propósitos diferentes.
CoreGraphics: Composição e gráficos vetoriais. Se você precisar apenas deles, o CoreGraphics é uma boa escolha.
CoreAnimation: animar camadas de objetos 2D.
O OpenGL fica abaixo desses dois (e CoreImage / CoreVideo também). Em virtude de ser de nível inferior, ele oferece um maior grau de controle. E exige que você faça mais trabalho ao implementar as coisas.
Realmente, depende do que você precisa fazer. E assim que você pensa em portar esse jogo para outras plataformas, o OpenGL parece muito mais atraente, já que é suportado praticamente em todos os lugares.
fonte