melanjutkan
Pada bagian sebelumnya saya mengajari Anda cara menggambar segitiga dan segi empat. Bagian ini akan mengajari Anda cara menambahkan 2 jenis bayangan berbeda pada segitiga dan segi empat. Gunakan pewarna datar untuk mengecat segi empat dengan warna tetap. Gunakan pewarnaan Halus untuk memadukan warna berbeda dari tiga titik sudut segitiga untuk menciptakan perpaduan warna yang bagus.
Lanjutkan memodifikasi glDraw pada bagian sebelumnya.
Prosedur glDraw();
Mulai
glClear(GL_COLOR_BUFFER_BIT Atau GL_DEPTH_BUFFER_BIT); // Hapus layar dan buffer kedalaman
glLoadIdentity(); //Reset matriks observasi model saat ini
glTranslatef(-1.5, 0.0, -6.0); // Pindah ke kiri 1.5 unit dan ke layar 6.0
glBegin(GL_TRIANGLES); // Menggambar segitiga
//glColor3f(r,g,b). Tiga parameter dalam tanda kurung adalah komponen warna merah, hijau, dan biru secara berurutan.
//Rentang nilainya bisa dari 0,0 hingga 1,0. Mirip dengan perintah hapus latar belakang layar yang disebutkan sebelumnya.
//Kita atur warnanya menjadi merah (merah murni, tanpa hijau, tanpa biru).
//Baris kode berikutnya menetapkan titik sudut pertama segitiga (titik puncak atas segitiga),
//Dan gunakan warna saat ini (merah) untuk menggambar. Mulai sekarang semua objek yang digambar akan diwarnai merah,
//Sampai kita mengubah warna merah menjadi yang lain.
glColor3f(1.0, 0.0, 0.0); //Mengatur warna saat ini menjadi merah
glVertex3f(0.0, 1.0, 0.0); // Titik atas
//Titik merah pertama telah ditetapkan.
//Selanjutnya kita atur titik hijau kedua. Titik sudut kiri bawah segitiga berwarna hijau.
glColor3f(0.0, 1.0, 0.0); //Mengatur warna saat ini menjadi hijau
glVertex3f(-1.0, -1.0, 0.0); // Kiri bawah
//Titik sudut kanan bawah segitiga. Atur warna menjadi biru
//Setelah glEnd() muncul, segitiga akan terisi.
//Tetapi karena setiap titik mempunyai warna yang berbeda, maka warnanya tampak muncrat dari setiap sudut,
//Dan bertemu tepat di tengah-tengah segitiga, ketiga warna tersebut bercampur satu sama lain. Ini adalah bayangan halus.
glColor3f(0.0, 0.0, 1.0); //Mengatur warna saat ini menjadi biru
glVertex3f(1.0, -1.0, 0.0); // Kanan bawah
glEnd(); // Akhir gambar segitiga
glTranslatef(3.0, 0.0, 0.0); // Geser ke kanan sebanyak 3 satuan
//Sekarang kita menggambar kotak dengan warna monoton - ungu.
//Hal yang paling penting untuk diingat adalah semua yang digambar setelah mengatur warna saat ini adalah warna saat ini.
//Setiap proyek yang Anda buat mulai sekarang akan menggunakan warna.
//Bahkan ketika pemetaan tekstur digunakan sepenuhnya,
//glColor3f masih dapat digunakan untuk mengatur nada warna tekstur.
//Tunggu..., mari kita bicarakan nanti.
//(Haha, buku aslinya berwarna biru, tapi saya suka ungu)
glBegin(GL_QUADS); // Menggambar sebuah persegi
glColor3f(0.6, 0.2, 2.0); //Mengatur warna saat ini menjadi ungu
glVertex3f(-1.0, 1.0, 0.0); // Kiri atas
glVertex3f(1.0, 1.0, 0.0); // Kanan atas
glVertex3f(1.0, -1.0, 0.0); // Kiri bawah
glVertex3f(-1.0, -1.0, 0.0); // Kanan bawah
glEnd(); // Akhir dari gambar persegi
Akhir;