weitermachen
Im vorherigen Abschnitt habe ich Ihnen beigebracht, wie man Dreiecke und Vierecke zeichnet. In diesem Abschnitt erfahren Sie, wie Sie Dreiecken und Vierecken zwei verschiedene Arten von Schattierungen hinzufügen. Verwenden Sie eine flache Farbe, um das Viereck mit einer festen Farbe zu bemalen. Verwenden Sie „Smooth Coloring“, um die verschiedenen Farben der drei Eckpunkte des Dreiecks miteinander zu vermischen und so eine schöne Farbmischung zu erzeugen.
Fahren Sie mit der Änderung von glDraw im vorherigen Abschnitt fort.
PROzedur glDraw();
Beginnen
glClear(GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT); // Bildschirm und Tiefenpuffer löschen
glLoadIdentity(); //Setzen Sie die aktuelle Modellbeobachtungsmatrix zurück
glTranslatef(-1.5, 0.0, -6.0); // 1,5 Einheiten nach links und in den Bildschirm 6.0 verschieben
glBegin(GL_TRIANGLES); // Dreiecke zeichnen
//glColor3f(r,g,b). Die drei Parameter in Klammern sind die Farbkomponenten Rot, Grün und Blau in der Reihenfolge.
//Der Wertebereich kann zwischen 0,0 und 1,0 liegen. Ähnlich dem zuvor erwähnten Befehl zum Löschen des Bildschirmhintergrunds.
//Wir setzen die Farbe auf Rot (reines Rot, kein Grün, kein Blau).
// Die nächste Codezeile legt den ersten Scheitelpunkt des Dreiecks fest (den oberen Scheitelpunkt des Dreiecks).
//Und verwende die aktuelle Farbe (Rot) zum Zeichnen. Von nun an werden alle gezeichneten Objekte rot eingefärbt,
//Bis wir Rot in etwas anderes ändern.
glColor3f(1.0, 0.0, 0.0); //Setzt die aktuelle Farbe auf Rot
glVertex3f(0.0, 1.0, 0.0); // Oberer Scheitelpunkt
//Der erste rote Scheitelpunkt wurde gesetzt.
//Als nächstes setzen wir den zweiten grünen Scheitelpunkt. Der untere linke Scheitelpunkt des Dreiecks ist grün gefärbt.
glColor3f(0.0, 1.0, 0.0); //Setzt die aktuelle Farbe auf Grün
glVertex3f(-1.0, -1.0, 0.0); // Unten links
//Der untere rechte Scheitelpunkt des Dreiecks. Stellen Sie die Farbe auf Blau ein
//Nachdem glEnd() erscheint, wird das Dreieck gefüllt.
//Da aber jeder Scheitelpunkt eine andere Farbe hat, sieht es so aus, als ob die Farbe aus jeder Ecke herausspritzt.
//Und treffen sich genau in der Mitte des Dreiecks, vermischen sich die drei Farben miteinander. Das ist eine sanfte Schattierung.
glColor3f(0.0, 0.0, 1.0); //Setzt die aktuelle Farbe auf Blau
glVertex3f(1.0, -1.0, 0.0); // Unten rechts
glEnd(); // Ende der Dreieckszeichnung
glTranslatef(3.0, 0.0, 0.0); // Um 3 Einheiten nach rechts verschieben
//Jetzt zeichnen wir ein Quadrat mit einer monotonen Farbe - lila.
// Das Wichtigste ist, dass alles, was nach dem Festlegen der aktuellen Farbe gezeichnet wird, die aktuelle Farbe ist.
//Jedes Projekt, das Sie von nun an erstellen, wird Farbe verwenden.
//Auch wenn die Texturzuordnung vollständig genutzt wird,
//glColor3f kann weiterhin verwendet werden, um den Farbton der Textur anzupassen.
//Warte..., lass uns später darüber reden.
//(Haha, das Originalbuch ist blau, aber ich mag Lila)
glBegin(GL_QUADS); // Zeichne ein Quadrat
glColor3f(0.6, 0.2, 2.0); //Setzt die aktuelle Farbe auf Lila
glVertex3f(-1.0, 1.0, 0.0); // Oben links
glVertex3f(1.0, 1.0, 0.0); // Oben rechts
glVertex3f(1.0, -1.0, 0.0); // Unten links
glVertex3f(-1.0, -1.0, 0.0); // Unten rechts
glEnd(); // Ende der quadratischen Zeichnung
Ende;