Membuat Piramida dengan Menggunakan OpenGL - Grafika Komputer

Photo by Zoltan Tasi on Unsplash
Photo by Zoltan Tasi on Unsplash

Halo! Mulai dari postingan ini sampai kedepannya, kita akan berhenti membuat bentuk 2D dan masuk ke bentuk 3D. Sesuai dengan judul, di sini kita akan membuat sebuah bentuk segitiga 3D atau piramida. Langsung saja, berikut adalah source code untuk project kita:


Penjelasan:

Pada bagian atas, kita mendefinisikan sebuah fungsi bernama lines. Fungsi ini berguna untuk membuat garis yang mewakili koordinat x, y, dan z. Masing-masing dari garis tersebut akan berwarna merah, hijau dan biru.

Tepat di bawahnya, terdapat sebuah fungsi bernama display. Fungsi ini berguna untuk menampilkan bentuk piramida yang akan kita buat. Tidak seperti 2D yang hanya memiliki tampak depan, 3D memiliki tampak samping. Sehingga, kita harus merotasinya. Rotasi ini dapat diselesaikan dengan bantuan glTranslatef dan glRotatef.

Selanjutnya, panggil fungsi lines yang sudah kita definisikan tadi. Untuk membuat bentuk segitiga, kita dapat menggunakan sebuah fungsi yang sudah disediakan oleh OpenGL, yaitu glBegin(GL_TRIANGLES).

Dibutuhkan tiga buah titik untuk menciptakan segitiga, di mana titik tersebut memuat nilai untuk setiap koordinat x, y, dan z. Sedangkan untuk membuat piramida, kita membutuhkan empat buah segitiga. Pada source code di atas, segitiga yang dibuat dimulai dari arah depan, kanan, belakang dan kiri. 

Terdapat juga sebuah fungsi bernama reshape. Fungsi ini akan menghandle semua masalah ketika window diresize. Sehingga, bentuk dari objek yang kita buat akan tetap sama. Jika kalian ingin melihat bentuk piramida berupa garis, maka kalian dapat menghilangkan tanda komentar pada glPolygonMode(GL_FRONT_AND_BACK, GL_LINE).

Jika penjelasan ini terasa membingungkan, kalian dapat mempelajarinya lebih lanjut di 3D Graphics with OpenGL By Examples. Baiklah, jika source code di atas dijalankan, maka akan tampil hasil seperti ini:

Piramida

Piramida dalam bentuk garis

Kalian dapat mengclone project ini pada Piramida OpenGL. Demikian postingan kali ini, semoga bermanfaat!

Post a Comment

0 Comments