Sabtu, 27 Oktober 2012

Tugas Grafik Komputer & Pengolahan Citra


Membuat Garis Horizontal, Vertikal, dan Diagonal pada openGL

Tulisan ini dimuat sehubungan dengan pemenuhan salah satu tugas mata kuliah Grafik Komputer dan Pengolahan Citra yang mana tercakup dalam tuiisan ini adalah berupa contoh program pembuatan garis vertikal,  horizontal, maupun diagonal disertai dengan penulisan sourche code (coding) dan tercantum pula gambaran definisi / sedikit penjelasan mengenai perintah - perintah di dalam coding tersebut.
Dalam contoh program ini bagian coding yang dimainkan hanya pada daerah dibawah tulisan komentar (yang ditandai dengan /* */) OpenGL animation code goes here.


Membuat Garis Vertical 























Secara keseluruhan:  baik itu coding,  proses kompilasi dan output program digambarkan dan ditampilkan dalam tampilan diatas ini. Seperti yang telah diutarakan dalam pendahuluan, penulisan dan pengubahan coding yang dilakukan hanya berkisar di daerah dibawa komentar OpenGL animation code goes here.  hingga Sleep(1);


Berikut ini sedikit penjelasan mengenai logika dan penjelasan statemen / perintah yang dituliskan pada coding.

glClearColor (0.0f, 0.0f, 0.0f, 0.0f);  
Guna memilih warna yang digunakan untuk membersihkan (menghapus) layar latar belakang. 

glClear(GL_COLOR_BUFFER_BIT);
Kegunaan perintah ini meyakinkan untuk membersihkan layar latar belakang dengan warna hitam.

glPushMatrix ();
Dengan perintah ini membuat baris kode menjadi tidak berlaku untuk bagian luar.

Warna garis dan titik ditentukan dari glClearColor(1,1,1,0); dan perintah glColor3(1,1,1);// yang mana kedua perintah ini saling berkesinambungan.

Penyetingan dan penghapusan layar sudah dilakukan maka sekaran menggambar garisnya.

Sebuah penggambaran garis dimulai dari suatu titik dan diawali dengan perintah  glBegin(GL_LINES). 
Titik awal dan titik akhir yang digunakan dinyatakan dalam perintah  glVertex3f (nilai /poin titik).
Dimana glVertex3f(0.10,10.0,13.13); adalah perintah penentuan titik awal, dan glVertex3f(0,0,0.0) adalah perintah penentuan titik akhir.

glEnd(); berguna untuk mengakhir penggambaran garis di titik akhir.
glPopMatrix(); untuk membuat baris kode menjadi tidak berlaku untuk bagian luar.

Bagian belakang buffer layar ditukar dengan digunakannya perintah SwapBuffers(hDC);
Denga hanya menekan F9,  Secara Otomatis Program akan terkompilasi terlebih dahulu sebelum muncul tampilan output. Apabila output tidak muncul berarti terjadi kesalahan (masih error). Kita dapat melihat  Kompilasi program dilakukan dengan perintah Ctrlt+F9 .


Dan untuk melihat tampilan output program tekan F9 pada keyboard. 



Membuat Garis Horizontal

Keseluruhan coding dan proses kompilasi tercantum pada gambar di bawah ini:

Dan berikut  mengenai logika dan penjelasan statemen / perintah yang dituliskan pada coding.
Sebagaimana diketahui bahwa perintah ini dibaca sebagai komentar.
glClearColor (0.0f, 0.0f, 0.0f, 0.0f);  
pemilihan warna yang digunakan untuk membersihkan (menghapus) layar latar belakang berdasarkan mode RGBA dinyatakan dalam perintah ini.

glClear(GL_COLOR_BUFFER_BIT);
perintah ini juga untuk membersihkan layar, tapi dengan warna hitam.

glPushMatrix ();
Dengan perintah ini membuat baris kode menjadi tidak berlaku untuk bagian luar.

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

glColor(1,1,1)
perintah ini juga berguna untuk menentukan warna garis/titik.

Dengan diawali perintah  glBegin(GL_LINES); sebuah penggambaran garis akan dilakukan. 
Dimana titik glVertex3f(-0.6f, 0.0f, 1.0f); perintah untuk menyatakan titik awal penggambaran garis d an perintah glVertex3f(0.6f, 0.0f, 0.0f); untuk menyatakan titik akhir penggambaran garis. Sementara glColor3f(0.0f, 0.0f, 1.0f); yang ditulis sebelum perintah titik awal dan perintah titik akhir adalah pemilihan warna garisnya.

glEnd(); berguna untuk mengakhir penggambaran garis di titik akhir.
glPopMatrix(); untuk membuat baris kode menjadi tidak berlaku untuk bagian luar.
Bagian belakang buffer layar ditukar dengan digunakannya perintah SwapBuffers(hDC);

Program dikompilasi dengan perintah penekanan Ctrl+F9 bersamaan. Dan ketika proses kompilasi berhasil dan tidak menunjukan error maka tampilan bisa kita lihat. Tekan F9  untuk melihat tampilan output program

karena penulisan perintah glColor3f(0.0f, 0.0f, 1.0f); yang mana  ditulis sebelum perintah titik awal dan perintah titik akhir, maka gambar garis akan terpilih dan tertampil warna ungu. Berikut ini adalah tampilannya





Membuat Garis Diagonal

Gambar diatas menampilkan keseluruhan koding dan proses kompilasi.

Penulisan coding pada area sehabis perintah komentar dimulai dengan perintah glClearColor (0.0f, 0.0f, 0.0f, 0.0f);  untuk pemilihan warna yang digunakan untuk membersihkan (menghapus) layar latar belakang berdasarkan mode RGBA.
glClear(GL_COLOR_BUFFER_BIT);
dengan fungsi yang sama perintah ini juga untuk membersihkan layar, tapi dengan warna hitam.

glPushMatrix ();
Dengan perintah ini maka akan membuat baris kode menjadi tidak berlaku untuk bagian luar.

Warna garis dan titik ditentukan dari glClearColor(1,1,1,0); dan perintah glColor3(1,1,1);//

Pengawalan untuk penggambaran sebuah garis dinyatakan dengan perintah  glBegin(GL_LINES);
Dan untuk permulaan titik dinyatakan dengan perintah glVertex3(0,0,-0.); sementara untuk akhir titik penggambaran dinyatakan dengan perintah glVertex3f(9.9,8.9,0.1);

glEnd(); berguna untuk mengakhir penggambaran garis di titik akhir.
glPopMatrix(); untuk membuat baris kode menjadi tidak berlaku untuk bagian luar.
Bagian belakang buffer layar ditukar dengan digunakannya perintah SwapBuffers(hDC);

Proses kompilasi bisa dilihat dengan cara menekan Ctrl & F9 secara bersamaan, atau bisa juga dengan hanya menekan F9 sehingga langsung tertampil outputnya yang mana sebelumnya sudah dikompilasi secara otomatis dan cepat sehingga sulit dilihat.



Dan untuk tampilan outputnya adalah sebagai berikut, untuk setiap tampilan pada program ini kami menyertakan juga gambar codingan disebelahnya untuk menganalisa.




Terima Kasih.