Senin, 03 November 2014

Membuat Garis Vertical, Horizontal & Diagonal dengan OpenGL




Pendahuluan
Disini kita membuat program garis Horizontal, Vertikal & diagonal menggunakan program DevC++ . Karena untuk bahasa pemprograman C++ sendiri, program DevC++ lah yang mudah dan cocok dipackage dengan Open GL. Yang dimaksud package disini ialah pemaggilan output pada saat program dijalankan (Running), atau biasa dikatakan OpenGL ini adalah sebagai pengganti CommandPromt pada saat program dijalankan. Hal ini perlu dilakukan untuk mendapatkan hasil output dari program berupa grafik garis.

Langkah pertama yang kita lakukan adalah  menginstall program DevC++ yang dipackage dengan OpenGL, lalu membuka DevC++ dan membuat project baru, contohnya seperti gambar dibawah ini :
  
 
Setelah membuat project baru menggunakan OpenGL, pilihlah C++ project pada bagian Project option (Pilihlah project option C++ Project untuk bahasa pemprograman C++, atau pilih C Project jika menggunakan bahasa pemprograman C). Kemudian setelah itu klik ok dan kemudian akan muncul tampilan form source code dan souce code dari OpenGL didalamnya.


1. Membuat garis Vertical

Setelah itu mulailah menuliskan source code untuk membuat garis yang diinginkan dibawah source code pada line ke-81 yang bertuliskan/*OpenGL animation code goes here*/
Contohnya seperti gambar dibawah ini :
 
/*UntukmembuatgarisVertikal*/ //Merupakanjudul program yang berperan sebagai komentar dari program tersebut.

glClearColor (0.0f, 0.0f, 0.0f, 0.0f); //Untuk memilih warna yang digunakan untuk membersihkan latar dalam mode RGBA.

glClear(GL_COLOR_BUFFER_BIT); //Untuk membersihkan layar latar belakang dengan warna hitam.

glPushMatrix (); //Membuat baris kode menjadi tidak berlaku untuk bagian luar.

glClearColor(1,1,1,0); //Untuk menentukan warna garis/titik.

glColor3f(1,1,1); //Untuk menentukan warna garis/titik.

glBegin(GL_LINES); //Untuk menggambar garis dari titik yang digunakan.

glVertex3f(0.10,10.0,13.13); //Untuk menentukan titik awal yang digunakan.

glVertex3f(0,0,0.0);  //Untuk menentukan titik akhir yang digunakan.

glEnd ();  //Untuk mengakhiri gambar garis dititik akhir.

glPopMatrix (); //Membuat baris kode menjadi tidak berlaku untuk bagian luar.

SwapBuffers (hDC);  //Digunakan untuk menukar bagian belakang buffer menjadi buffer layar.

/* shutdown OpenGL */  //Berfungsi sebagai komentar dalam program.


Langkah selanjutnya setelah selesai mengisi source code adalah mengcompile program untuk memastikan ada tidaknya syntax program yang error. Setelah proses compile selesai dan sudah dipastikan tidak ada syntax yang error, lalu kita jalankan program dengan merunning. Maka hasil output tersebut akan seperti pada gambar dibawah ini :

 
 



  






Dapat dilihat pada output program diatas, warna background pada output adalah hitam karena pada source code program menggunakan kode warna 0.0f, lalu set titik awal dengan koordinat untuk sumbu X dan Y(0,0,-0.0), kemudian mulai membuat titik sampai titik akhir dengan koordinat (0.0,130.0,0.0) untuk sumbu 3 dimensi atau X, Y dan Z.



2. Membuat garis Horizontal

Setelah itu mulailah menuliskan source code untuk membuat garis yang diinginkan dibawah source code pada line ke-81 yang bertuliskan/*OpenGL animation code goes here*/
Contohnya seperti gambar dibawah ini :
 /*UntukmembuatgarisHorizontal*/ //Merupakan judul program yang berperan sebagai komentar dari program tersebut.

glClearColor (0.0f, 0.0f, 0.0f, 0.0f); //Untuk memilih warna yang digunakan untuk membersihkan latar dalam mode RGBA.

glClear(GL_COLOR_BUFFER_BIT); //Untuk membersihkan layar latar belakang dengan warna hitam.

glPushMatrix(); //Membuat baris kode menjadi tidak berlaku untuk bagian luar.

glClearColor(1,1,1,0) //Untuk menentukan warna garis/titik.

glColor3f(1,1,1); //Untuk menentukan warna garis/titik.

glBegin(GL_LINES); //Untuk menggambar garis dari titik yang digunakan.

glColor3f(0.0f, 0.0f, 1.0f); //Untuk menentukan warna garis/titik.

glVertex3f(-0.6f, 0.0f, 0.0f);  //Untuk menentukan titik awal yang digunakan.

glColor3f(0.0f, 0.0f, 1.0f);  //Untuk menentukan titik yang digunakan.

glVertex3f(0.6f, 0.0f, 0.0f);  //Untuk menentukan titik akhir yang digunakan.

glEnd();  //Untuk mengakhiri gambar garis dititik akhir.

glPopMatrix(); //Membuat baris kode menjadi tidak berlaku untuk bagian luar.

SwapBuffers (hDC); //Digunakan untuk menukar bagian belakang buffer menjadi buffer layar.

 /* shutdown OpenGL */  //Berfungsi sebagai komentar dalam program.
Langkah selanjutnya setelah selesai mengisi source code adalah mengcompile program untuk memastikan ada tidaknya syntax program yang error. Setelah proses compile selesai dan sudah dipastikan tidak ada syntax yang error, lalu kita jalankan program dengan merunning. Maka hasil output tersebut akan seperti pada gambar dibawah ini :

 
 Hal yang seperti pada program sebelumnya, perbedaannya pada titik awal (-0.6f, 0.0f, 0.0f) dan titik akhir (0.6f, 0.0f, 0.0f) dimulai dari sumbu X -0,6 sampai sumbu X 0,6 maka akan membuat garis horizontal seperti pada output program.


3. Membuat garis Diagonal

Setelah itu mulailah menuliskan source code untuk membuat garis yang diinginkan dibawah source code pada line ke-81 yang bertuliskan/*OpenGL animation code goes here*/
Contohnya seperti gambar dibawah ini :
 /*UntukmembuatgarisDiagonal*/ //Merupakan judul program yang berperan sebagai komentar dari program tersebut.

glClearColor (0.0f, 0.0f, 0.0f, 0.0f); //Untuk memilih warna yang digunakan untuk membersihkan latar dalam mode RGBA.

glClear(GL_COLOR_BUFFER_BIT); //Untuk membersihkan layar latar belakang dengan warna hitam.

glPushMatrix (); //Membuat baris kode menjadi tidak berlaku untuk bagian luar.

glClearColor(1,1,1,0); //Untuk menentukan warna garis/titik.

glColor3f(1,1,1); //Untuk menentukan warna garis/titik.

glBegin(GL_LINES); //Untuk menggambar garis dari titik yang digunakan.

glVertex3f(0,0,-0.8); //Untuk menentukan titik awal yang digunakan.

glVertex3f(9.9,8.9,0.1); //Untuk menentukan titik akhir yang digunakan.

glEnd ();  //Untuk mengakhiri gambar garis dititik akhir.

glPopMatrix (); //Membuat baris kode menjadi tidak berlaku untuk bagian luar.

SwapBuffers (hDC); //Digunakan untuk menukar bagian belakang buffer menjadi buffer layar.

/* shutdown OpenGL */  //Berfungsi sebagai komentar dalam program.

Langkah selanjutnya setelah selesai mengisi source code adalah mengcompile program untuk memastikan ada tidaknya syntax program yang error. Setelah proses compile selesai dan sudah dipastikan tidak ada syntax yang error, lalu kita jalankan program dengan merunning. Maka hasil output tersebut akan seperti pada gambar dibawah ini :
 Sama halnya seperti pada program-program sebelumnya, hanya pada program ini diperintahkan membuat garis diagonal maka titik awal yang saya gunakan adalah (0,0,-0.8) untuk sumbu X dan Y lalu titik akhirnya (9.9,8.9,0.1) untuk sumbu X, Y, dan Z. Maka akan dapat terlihat garis diagonal saat program dijalankan.

  
Klik jika ingin download file .docx
 

1 komentar:

  1. Sekedar berbagi ilmu tentang OpenGL, saya harap blog ini bisa berguna

    http://heriadyblog.blogspot.co.id/2015/12/belajar-visual-c-game-programming-opengl.html

    BalasHapus