11
Nama : Azhari Iriansyah Akmal Atmaja NPM : 11112311 Kelas : 3KA26 Membuat Garis dengan menggunak an OpenGL Pengantar Komputer Grafik dan Olah Citra UNIVE RSITA S GUNAD ARMA

azariansyah.files.wordpress.com  · Web viewSeperti apa yang saya kemukakan diawal, header glut merupakan header yang berasal dari openGL dan fungsinya adalah untuk menampilkan output

  • Upload
    lamtu

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Nama : Azhari Iriansyah Akmal Atmaja

NPM : 11112311

Kelas : 3KA26

Membuat Garis Horizontal, Garis Vertikal dan Garis Diagonal Dengan Menggunakan CodeBlocks dan OpenGL

Membuat Garis dengan menggunakan

OpenGL

Pengantar Komputer Grafik dan Olah Citra

UNIVERSITAS

GUNADARMA

PTA 2014 / 2015

Setiap file c++ pasti menggunakan file header yang dimana file header ini mrupakan file library yang akan digunakan pada kodingan tersebut. Ada 3 file header yang saya pergunakan ; glut, conio dan iostream. Iostream dan conio umumnya sering digunakan sebagai header c++ karena memiliki fungsi vital, contohnya fungsi cout dan cin itu adalah bagian dari library iostream, sedangkan untuk conio contoh fungsi statementnya adalah void dan switch pil. Khusus untuk glut, header ini adalah header khusus yang ditambahkan pada library codeblocks yang berasal dari OpenGL, dimana berfungsi untuk fungsi fungsi yang berhubungan dengan display untuk menampilkan garis pada openGL.

Sementara itu cls berfungsi untuk menghapus layar sebelumnya jika sudah selesai menampilkan output. Lalu saya mendeklarsikan x0, y0, x1 dan y1 dan a sebagai tipe data integer. Lalu glClearColot itu fungsinya adalah untuk memberi format warna pada garis di output sementara glMatrixMode berfungsi untuk menentukan mode output garisnya seperti apa. Lalu dibawahnya ada statement gluOrtho2D yang berfungsi untuk membatasi titik koordinat yang boleh diinputkan oleh user. Titik X hanya boleh dari -70 sampai 70 dan titik y hanya boleh dari titik -70 sampai 70

UNIVERSITAS

GUNADARMA

PTA 2014 / 2015

Lanjut pada blok program berikutnya, ini adalah subprogram atau untu seterusnya saya akan mengatakannya sebagai class, yang berfungsi untuk menampilkan display pada output. Statement glClear berfungsi untuk menampilkan warna yang akan ditampilkan pada output, format warnanya ada pada line berikutnya, menggunakan kode khusus warna dengan format 3 warna CMY. Lalu masuk pada statement berikutnya ada statement untuk menjelaskan garis. Karena garis yang akan kita gambar adalah 2 dimensi dan formatnya vertex maka statementnya adalah glVertex2d, titik awalnya adalah x0 dan y0 dan titik akhirnya x1 dan y1. Lalu akhiri dengan statement glEnd.

Masuk pada statement berikutnya adalah int inputpart2 berfungsi untuk sebagai return jika output program selesai ditampilkan. Jadi program akan looping, masuk kembali pada menu program, nah urutannya yaitu void input void horizon, void vertikal dan void diagonal.

Masuk pada program tampilan menu program garis. Fungsi untuk menampilkan output cukup sederhana saja. Gunakan perintah cout seperti sintaks c++ pada umumnya. Dan untuk input pilihan masukkan perintah cin dan variabel yang dipergunakan adalah pil, nantinya pil ini akan berrubah menjadi menu pilihan yang berisi case case tergantung inputan user.

Case 1, 2 dan 3 pada umumnya berisikan Program garis yang isinya adalah input untuk titik awal dan akhir lalu program garis tersebut akan dipanggil dan mulai bekerja sesuai dengan programnya, apakah akan membentuk garis horizontal, vertikal ataukah diagonal.

Pada screenshot gambar diatas mulai banyak sintaks dengan awalan ‘glut’ terlihat. Seperti apa yang saya kemukakan diawal, header glut merupakan header yang berasal dari openGL dan fungsinya adalah untuk menampilkan output display garis pada program. Glut diatas berfungsi untuk menjelaskan dan mengatur windows output. Glut init windows position mengatur tentang dimanakah letak jendela output akan terlihat, sementara itu ini windows size akan mengatur seberapa besar jendela output programnya. Dan glut Display Mode berfungsi untuk menjelaskan bagaimana karakter jendela outputnya, yang disini saya jelaskan sebagai single color dan bentuknya RGB. Nama Jendelanya adalah garis keras.

Berikutnya adalah class inputpart. Class ini menjelaskan memasukkan input untuk kemudian input tersebut dikirimkan kepada masing masing class garis tergantung apa saja yang diinputkan oleh user tadi. 3 line awal menjelaskan bagaimana untuk input titik awal pada program. Untu x0 variabel yang mewakili input adalah x0 yang dimasukkan kepada inputpart2 juga y0 sebagai input part 2. Sama juga dengan 3 line berikutnya dimana setiap input program akan dimasukkan pada inputpart .

Class berikutnya adalah class inputpart2. Disana terdapat int inputpart2. Menggunakan tipe data integer karena sebelumnya user memasukkan titik awal dan titik akhir. Isi class ini kemudian melakukan looping. Isi looping tersebut menjelaskan apabila kurang dr -70 dan lebih dari70 maka program akan menjalankan class xy.

Masuk pada class horizon. Perlu sedikit diketahui bahwa garis horizontal adalah garis dimana titik x dan y yang nilainya berubah, namun untuk titik y sifatnya tetap. Maka apabila nilai y 0 dan y1 tetap, maka program bisa dijalankan dan akan mulai mengeksekusi program. Namun apabila salah, maka output kesalahan akan keluar dan user diminta untuk memperbaiki input data.

Sama juga dengan garis horizontal, prinsip di garis vertikal juga demikian. Namun jika pada garis horizontal nilai y nya tetap, maka garis vertikal adalah kebalikannya dimana nilai x adalah statis dan nilai y nya yang dinamis.

Terakhir adalah garis diagonal. Garis diagonal berbeda dengan garis horizontal maupun vertikal. Nilai y dan x pada garis diagonal sama sama berubah. Namun dengan catatan nilai keduanya harus berubah searah. Jika nilai x bertambah positif, maka nilai y juga harus bertambah positif.

Diatas adalah output programnya, pertama saya akan mencoba bagaimana menampilkan garis horizonta pada program. Maka saya memasukkan titik awal x0 10 dan titik y0 5, nah untuk titik akhirnya saya memasukkan nilai 50 untuk x1 dan karena garis horizontal nilai y nya harus tetap, maka saya tetap memasukkan y1 sebagai 5.

Dan ini merupakan input garis horizontal programnya

Berikutnya adalah garis vertikal, dimana nilai yang statis adalah nilai titik x. maka nilai titik xnya statis dan titik ynya berubah, yang berangkat dari titik 3 dan berakhir pada titik 60. Maka program akan menyatakannya sebagai garis vertikal karena memenuhi syarat yakni nilai x0 dan x1 sama.

Dan diatas merupakan output program garis vertikal pada OpenGL

Dan terakhir merupakan program diagonal. Syaratnya nilai x0 sama dengan y0 dan x1 sama dengan y1. Saya menginputkan x0 dan y0nya sama maka x1 juga harus ama dengan y1.