Etape 8: La construction : dessin d’un Cube
Mécanique de la création d’un cube en OpenGL (cube dans ce cas) :
OpenGL a les types primitifs suivants
Source : www.glprogramming.com,
Source de l’image :
Ses un site de référence assez bonne.
Ne laissez pas vous faire peur, nous utiliserons seulement GL_QUADS pour notre super cube.
Dans les jeux et la plupart des applications, ces primitives sont utilisés rarement directement, au lieu de cela, modèles à partir du logiciel 3ème partie CAD comme Autodesk Maya, Blender, 3DS Max sont importées et utilisées à la place (imaginez construire un personnage de poly 1000 par code). Cette liste décrit juste standard de l’OpenGL pour les primitives.
1) Etape 1: dire ce que vous êtes sur le point de faire à OpenGL. glBegin(GL_QUADS) ; permet de spécifier le point de départ de votre construction et glEnd() ; pour le point de fin de construction.
Dans la première ligne (1) , GL_COLOR_MATERIAL sera nécessaire plus tard, mais pas nécessairement dès maintenant,
la deuxième ligne (1) GL_CULL_FACE si activé empêche les surfaces qui ne sont pas visibles du dessin. C’est une bonne chose car elle réduit la charge sur le processeur et améliore les performances des applications.
la troisième ligne (2) marque le début pour le rendu de notre cube. considère l’extrait suivant
DÉBUT
glVertex3f (1.0F, 1.0F, 1.0F) ;
TIRAGE AU SORT
Cela attire un vertex (point) pour le QUAD. mais il ne faut pas que, si nous attirons trois autres sommets pour compléter un visage
DÉBUT
glVertex3f (1.0F, 1.0F, 1.0F) ;
glVertex3f (- 1.0F, 1.0F, 1.0F) ;
glVertex3f (-1.0F, 1.0F, 1.0F) ;
glVertex3f (1.0F, 1.0F, 1.0F) ;
TIRAGE AU SORT
Maintenant, cela nous donnerait une surface plane. Mais sans couleur, nous allons donc ajouter une certaine couleur.
Nous associer une couleur unique à chaque sommet et par défaut, les couleurs de chaque sommet seront mélange bien avec l’autre.
DÉBUT
glColor3f (0.583f, 0.771f, 0.014f) ;
glVertex3f (1.0F, 1.0F, 1.0F);
glColor3f (0.609f, 0.115f, 0.436f) ;
glVertex3f (- 1.0F, 1.0F, 1.0F);
glColor3f (0.327f, 0.483f, 0.844f) ;
glVertex3f (-1.0F, 1.0F, 1.0F);
glColor3f (0.822f, 0.569f, 0.201f) ;
glVertex3f (1.0F, 1.0F, 1.0F);
TIRAGE AU SORT
Voici le code complet pour le cube
Le code est très long, mais il suffit d’écrire cette fois dans votre application.
Ensuite, appelez cube() dans vos méthodes de drawScene() :
Et exécuter le code et vous devriez obtenir le résultat suivant :
C’est quoi?!?! y a-t-il quelque chose de mal avec notre code ? Lol
Vous voyez que le code est très bien, que la chose est que le cube est au centre de le X, Y et les axes Z et est donc notre caméra ou le viewport(s) donc, nous voyons un zoom au vu de notre cube.
Dans l’étape suivante, nous va manipuler le cube.