continuer
Dans la section précédente, je vous ai appris à dessiner des triangles et des quadrilatères. Cette section vous apprendra comment ajouter 2 types d'ombrage différents aux triangles et aux quadrilatères. Utilisez une coloration à plat pour peindre le quadrilatère avec une couleur fixe. Utilisez la coloration douce pour mélanger les différentes couleurs des trois sommets du triangle afin de créer un joli mélange de couleurs.
Continuez à modifier glDraw dans la section précédente.
PRécédure glDraw();
Commencer
glClear(GL_COLOR_BUFFER_BIT Ou GL_DEPTH_BUFFER_BIT); // Efface l'écran et le tampon de profondeur
glLoadIdentity(); //Réinitialiser la matrice d'observation du modèle actuel
glTranslatef(-1.5, 0.0, -6.0); // Déplacement vers la gauche de 1,5 unités et dans l'écran 6.0
glBegin(GL_TRIANGLES); // Dessine des triangles
//glColor3f(r,g,b). Les trois paramètres entre parenthèses sont les composantes de couleur rouge, verte et bleue dans l'ordre.
//La plage de valeurs peut être comprise entre 0,0 et 1,0. Semblable à la commande d’effacement de l’arrière-plan de l’écran mentionnée précédemment.
//Nous définissons la couleur sur rouge (rouge pur, pas de vert, pas de bleu).
//La ligne de code suivante définit le premier sommet du triangle (le sommet supérieur du triangle),
//Et utilise la couleur actuelle (rouge) pour dessiner. Désormais, tous les objets dessinés seront colorés en rouge,
//Jusqu'à ce que nous changions le rouge en autre chose.
glColor3f(1.0, 0.0, 0.0); //Définit la couleur actuelle sur rouge
glVertex3f(0.0, 1.0, 0.0); // Sommet supérieur
//Le premier sommet rouge a été défini.
//Ensuite, nous définissons le deuxième sommet vert. Le sommet inférieur gauche du triangle est coloré en vert.
glColor3f(0.0, 1.0, 0.0); //Définit la couleur actuelle sur vert
glVertex3f(-1.0, -1.0, 0.0); // En bas à gauche
//Le sommet inférieur droit du triangle. Définir la couleur sur bleu
//Après l'apparition de glEnd(), le triangle sera rempli.
//Mais comme chaque sommet a une couleur différente, on dirait que la couleur jaillit de chaque coin,
//Et se rejoignent exactement au centre du triangle, les trois couleurs se mélangent. C'est un ombrage doux.
glColor3f(0.0, 0.0, 1.0); //Définit la couleur actuelle sur bleu
glVertex3f(1.0, -1.0, 0.0); // En bas à droite
glEnd(); // Fin du dessin du triangle
glTranslatef(3.0, 0.0, 0.0); // Décalage vers la droite de 3 unités
//Maintenant, nous dessinons un carré de couleur monotone - violet.
//La chose la plus importante à retenir est que tout ce qui est dessiné après avoir défini la couleur actuelle est la couleur actuelle.
//Chaque projet que vous créerez désormais utilisera la couleur.
//Même lorsque le mappage de texture est pleinement utilisé,
//glColor3f peut toujours être utilisé pour ajuster la tonalité de couleur de la texture.
//Attends..., on en reparle plus tard.
//(Haha, le livre original est bleu, mais j'aime le violet)
glBegin(GL_QUADS); // Dessine un carré
glColor3f(0.6, 0.2, 2.0); //Définit la couleur actuelle sur violet
glVertex3f(-1.0, 1.0, 0.0); // En haut à gauche
glVertex3f(1.0, 1.0, 0.0); // En haut à droite
glVertex3f(1.0, -1.0, 0.0); // En bas à gauche
glVertex3f(-1.0, -1.0, 0.0); // En bas à droite
glEnd(); // Fin du dessin du carré
Fin;