PENGENALAN OPENGL
copyright : https://fitridama94s.wordpress.com
copyright : https://fitridama94s.wordpress.com
OpenGL adalah suatu spefikasi grafik yang low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk keperluan-keperluan pemrograman grfis.OpenGL bersifat Open-Source, multi-platform dan multi-language serta digunakan mendefinisikan suatu objek, baik objek 2 dimensi maupun objek 3 dimensi. OpenGL juga merupakan suatu antarmuka pemrograman aplikasi (application programming interface (API) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya.
OpenGl melayani dua tujuan :
- Untuk menyembunyikan kompleksitas dari interfacing dengan berbagai 3D accelerators,memamerkan oleh programmer dengan satu, seragam API.
- Untuk menyembunyikan kemampuan yang berbeda dari hardware platform, oleh semua yang memerlukan mendukung implementasi penuh fitur opengl set (menggunakan softwareemulation jika diperlukan).
SYNTAX OPENGL
Sintaks perintah OpenGL mengikuti aturan penulisan dari library dimana fungsi tersebut berasal, format penulisan fungsi OpenGL :
<awalanlibrary><perintah><optional jumlah argumen><optional tipe argumen>
Semua perintah OpenGL menggunakan awalan gl diikuti dengan huruf kapital pada setiap kata membentuk nama perintah (sebagai contoh glClearColor).
Untuk mendefinisikan konstanta diawali dengan GL_, dengan menggunakan huruf kapital dan garis bawah untuk memisahkan kata (seperti GL_POLY_STIPPLE).
Terkadang beberapa huruf dan angka ditambahkan pada akhir perintah (seperti 3f pada glVertex3f). Dalam hal ini angka 3 menunjukkan berapa banyak argumen yang harus ada pada perintah tersebut dan akhiran huruf f menunjukkan jenis datanya yaitu floating.
Fungsi asli dari OpenGL sendiri selalu diawali dengan gl yang terdapat pada library opengl32.dll dan file header gl.h. Sedangkan beberapa library yang telah ditulis untuk menyediakan fungsi-fungsi tambahan pada OpenGL adalah :
OpenGL Utility Library (GLU) yang didalamnya terdapat sejumlah rutin yang menggunakan level bawah dari perintah OpenGL. Rutin-rutin ini mempunyai awalan glu. Library ini digunakan sebagai bagian dari implementasi OpenGL.
Bentuk umum coding untuk pembuatan garis :
glBegin(GL_LINES); /* Ingin menggambar garis */
glVertex2(tipe_data)(koordinat X1, koordinat Y1); /* menyatakan sejumlah titik */
glVertex2(tipe_data)(koordinat X2, koordinat Y2); /* menyatakan sejumlah titik */
glEnd(); /* Akhir menggambar titik */
PENJELASAN PROGRAM
Untuk membuat garis pada tugas kali ini, dibutuhkan package manager ‘glut’ sebagai library agar dapat memberikan koordinat garis nantinya.
Cara menginstallnya:
Buka dev c++, lalu pada menu bar pilih tools dan pilih package manager.
Lalu klik instal dan cari file bernama glut37, lalu open.
Setelah itu, akan tampil Installation wizard untuk menginstall glut tersebut.
Setelah penginstalan selesai, buat projectnya dengan cara pilih file pada menu bar, pilih new, lalu pilih project. Akan ada tampilan New project. Pada tab basic, pilih Console Application dan beri nama project “Project1”.
Untuk memulai coding program, panggil semua file header yang dibutuhkan untuk pembuatan program. Glu, glut, dan gl merupakan file header yang dipakai dalam pembuatan coding dengan openGL.
Untuk membuat garis diagonal, horizontal, dan vertikal dapat dijalankan menggunakan source code berikut:
- glClear (GL_COLOR_BUFFER_BIT); Digunakan untuk membersihkan layar latar belakang dengan warna hitam
- glPushMatrix (); Digunakan untuk membuat baris kode menjadi tidak berlaku untuk bagian luar 3. glColor3f (1.0,1.0,1.0); Digunakan untuk menentukan warna garis/titik
- glBegin (GL_LINES); Digunakan untuk menggambar garis dari titik
- glVertex3f (x+0.5,a+0.5,0.0); Digunakan untuk menentukan titik awal
- glVertex3f (x+0.5,b+0.5,0.0);Digunakan untuk menentukan titik awal
- glEnd (); Digunakan untuk mengakhiri gambar garis dititik akhir
- glPopMatrix (); Digunakan untuk membuat baris kode menjadi tidak berlaku untuk bagian luar
agar user dapat memilih garis apa yang ingin dibuat, dapat menggunakan tampilan menu dengan source code berikut:
OUTPUT