J'apprends comment utiliser OpenGL ES 2.0 sur iOS. En ce moment, je veux juste faire une animation 2D de base (par exemple déplacer un rectangle autour de l'écran et changer sa taille). J'ai commencé avec le modèle de projet pour OpenGL ES fourni par Apple dans Xcode. Mon code de dessin ressemble à ceci:Dessin 2D En OpenGL ES 2.0 (iOS)
static GLfloat squareVertices[] = {
-0.5f, -0.33f,
0.5f, -0.33f,
-0.5f, 0.33f,
0.5f, 0.33f
};
// Update attribute values.
glVertexAttribPointer(VERTEX_ATTR, 2, GL_FLOAT, 0, 0, squareVertices);
glEnableVertexAttribArray(VERTEX_ATTR);
glVertexAttribPointer(COLOR_ATTR, 4, GL_UNSIGNED_BYTE, 1, 0, squareColors);
glEnableVertexAttribArray(COLOR_ATTR);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 5);
Maintenant, cela va dessiner un nice rectangle au milieu de l'écran. Mais si je commence à changer le rectangle en ajoutant le code suivant, il commence à look funky:
squareVertices[5] -= .001;
squareVertices[7] -= .001;
Il est comme si une partie du rectangle est fixé au centre de l'écran. Je suis complètement nouveau à OpenGL ES donc je suis sûr que mon problème est évident. Je suppose également que cela a quelque chose à voir avec OpenGL ES étant une bibliothèque graphique 3D et j'essaie de le traiter comme un espace 2D. Donc ma question est: Quelle est la meilleure façon de dessiner et d'animer des objets 2D dans OpenGL ES 2.0? J'ai vu des choses en ligne pour OpenGL ES 1.1, mais cela ne m'aide pas beaucoup. Est-ce que leurs techniques spéciales pour le dessin 2D dans OpenGL ES 2.0, ou existe-t-il une sorte de mode de dessin 2D?
Toute indication serait grandement appréciée.
Ce blog est génial, mais cette série se termine après le quatrième chapitre. J'ai été vraiment déçu quand j'ai réalisé qu'il a arrêté :( – xaxxon