Quelle est la différence entre GLKView et EAGLView?

J'ai vu à la fois EAGLView et GLKView utilisés dans les applications iOS. Quelle est la différence entre eux?

Ces deux classs sont liées à OpenGL ES, mais une seule d'entre elles est réellement fournie par Apple dans le cadre du SDK iOS.

EAGLView n'est pas une class fournie avec les frameworks Cocoa Touch. Dans les templates OpenGL ES d'Apple et leur exemple de code, ils ont créé des classs portant ce nom qui hébergent le contenu OpenGL ES. D'autres ont copié et collé ces classs dans les tutoriels qu'ils ont écrits sur le sujet. Généralement, le seul élément que toutes les classs portant ce nom ont en commun est qu'elles remplacent la méthode +layerClass pour renvoyer [CAEAGLLayer class] , indiquant que ces vues hébergeront le contenu OpenGL ES dans leur couche de sauvegarde.

GLKView est nouveau dans iOS 5.0 dans le cadre de GLKit. GLKit vise à simplifier une partie de la configuration requirejse pour l'affichage de matériel OpenGL ES en fournissant des classs auxiliaires telles que GLKView. GLKView gère la configuration des framebuffers et des tampons de rendu pour vous, ainsi que d'autres tâches pour lesquelles vous devez normalement écrire du code.

Vous ne verrez peut-être pas beaucoup cette class dans les didacticiels, étant donné que beaucoup d'entre eux ont été écrits avant iOS 5.0, mais il s'agit d'une class d'aide pratique qui peut simplifier le rendu iOS OpenGL ES.