Sesi 2: Primitive Drawing Achmad Basuki Nana Ramadijanti Fadilah Fahrul
Struktur Dasar Perintah Contents Struktur Dasar Perintah 1 Menggambar Titik 2 Menggambar Garis 3 Menggambar Polyline 4 Menggambar Polygon 5 Mengubah Warna 6
1 STRUKTUR DASAR PEMROGRAMAN GRAFIS www.themegallery.com
Struktur Dasar Perintah OpenGL glBegin(GL_POLA); glVertex2f(koordinat titik 1); glVertex2f(koordinat titik 2); ......... glVertex2f(koordinat titik n); glEnd(); GL_POLA menentukan gambar yang dihasilkan.
Macam-macam GL_POLA GL_POINTS Menggambar titik GL_LINES Menggambar garis GL_LINE_STRIP Menggambar polyline GL_LINE_LOOP Menggambar rangka Polygon GL_POLYGON Menggambar polygon GL_QUADSMenggambar segi 4 GL_QUAD_STRIPMenggambar N segi 4 GL_TRIANGLES Menggambar segi 3 GL_TRIANGLE_STRIP Menggambar N segi 3 GL_TRIANGLE_FAN Menggambar N segi 3 dengan 1 pusat
Macam-macam GL_POLA
Menggambar Titik Perintah untuk menggambar titik: glBegin(GL_POINTS); glVertex(pos_x,pos_y); glEnd(); Perintah untuk menggambar banyak titik: glVertex(pos_x_1,pos_y_1); glVertex(pos_x_2,pos_y_2); ......... glVertex(pos_x_n,pos_y_n);
Contoh Menggambar Titik Menggambar titik di koordinat (30,20) glBegin(GL_POINTS); glVertex2f(30,20); glEnd(); 20 30 www.themegallery.com
Contoh Menggambar Titik Menggambar 3 titik di koordinat (30,20), (60,20) dan (60,40) glBegin(GL_POINTS); glVertex2f(30,20); glVertex2f(60,20); glVertex2f(60,40); glEnd(); 40 20 30 60 www.themegallery.com
Menggambar Garis Perintah untuk menggambar garis: glBegin(GL_LINES); glVertex(pos_x_awal,pos_y_awal); glVertex(pos_x_akhir,pos_y_akhir); glEnd(); Perintah ini bisa digunakan untuk menggambar banyak garis, dengan catatan titiknya harus berpasangan dan berurutan.
Contoh Menggambar Garis Menggambar garis dari koordinat (30,20) ke (60,40) glBegin(GL_POINTS); glVertex2f(30,20); glVertex2f(60,40); glEnd(); (60,40) (30,20) www.themegallery.com
Contoh Menggambar Garis (30,20) (60,40) (60,0) (60,40) glBegin(GL_POINTS); glVertex2f(30,20); glVertex2f(60,40); glVertex2f(60,0); glEnd(); (60,40) (30,20) (60,40)
Contoh Menggambar Garis (30,20) (60,40) (60,0) (60,40) glBegin(GL_LINES); glVertex2f(30,20); glVertex2f(60,40); glVertex2f(60,0); glEnd(); Garis pertama Garis kedua
Contoh Menggambar Garis glBegin(GL_LINES); glVertex2f(30,20); glVertex2f(60,40); glVertex2f(60,0); glVertex2f(30,70); glEnd(); Garis pertama Garis kedua Tidak digambar www.themegallery.com
Menggambar Polyline Polyline adalah gabungan garis-garis yang terbuka. Perintah untuk menggambar garis: glBegin(GL_LINE_STRIP); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); .......... glVertex2f(pos_x_n, pos_y_n); glEnd();
Menggambar Polyline Tertutup Polyline tertutup adalah gabungan garis-garis yang tertutup. Perintah untuk menggambar garis: glBegin(GL_LINE_LOOP); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); .......... glVertex2f(pos_x_n, pos_y_n); glEnd();
Menggambar Polygon Polygon adalah gabungan garis-garis yang tertutup yang membentuk satu obyek dan bisa diblok dengan warna. Perintah untuk menggambar garis: glBegin(GL_POLYGON); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); .......... glVertex2f(pos_x_n, pos_y_n); glEnd();
Menggambar Segiempat Perintah untuk menggambar Quad: Quad adalah mirip dengan polygon, tetapi membatasi jumlah titik sampai dengan 4. Perintah ini bisa digunakan untuk menggambar banyak Quad, dengan catatan setiap 4 titik harus berpasangan dan berurutan. Bisa diblok dengan warna. Perintah untuk menggambar Quad: glBegin(GL_QUADS); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); glVertex2f(pos_x_3, pos_y_3); glVertex2f(pos_x_4, pos_y_4); … glVertex2f(pos_x_n, pos_y_n); glEnd(); Quad pertama Quad N
Menggambar N Segiempat Quad Strip menghasilkan N buah bentuk Quad, dimana setiap Quad mempunyai 2 titik yang sama dengan Quad sebelum dan atau sesudahnya. Perintah untuk menggambar Quad Strip: glBegin(GL_QUAD_STRIP); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); glVertex2f(pos_x_3,pos_y_3); glVertex2f(pos_x_4,pos_y_4); glVertex2f(pos_x_5,pos_y_5); glVertex2f(pos_x_6,pos_y_6); .......... glEnd(); Quad pertama glVertex2f(pos_x_3,pos_y_3); glVertex2f(pos_x_4,pos_y_4); Quad kedua
Menggambar Segitiga GL_Triangles mengambil 3 titik menggambar segitiga dan bisa diblok dengan warna. Perintah untuk menggambar segitiga: glBegin(GL_TRIANGLES); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); glVertex2f(pos_x_3,pos_y_3); .......... glVertex2f(pos_x_n, pos_y_n); glEnd(); Triangles pertama Triangles N
Menggambar N Segitiga Perintah untuk menggambar N segitiga: GL_TRIANGLE_STRIP mirip dengan GL_LINE_STRIP dan GL_QUAD_STRIP dimana 2 dari 3 titik dipakai bersama dengan segitiga sebelum dan sesudahnya. Perintah untuk menggambar N segitiga: glBegin(GL_TRIANGLE_STRIP); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); glVertex2f(pos_x_3,pos_y_3); .......... glVertex2f(pos_x_n, pos_y_n); glEnd(); Triangles pertama Triangles N
Menggambar Segitiga (1Ttk Pusat) Menggambar kipas segitiga memiliki 1 titik pusat. Sangat berguna untuk menggambar lingkaran penuh. Perintah untuk menggambar garis: glBegin(GL_TRIANGLE_FAN); glVertex2f(pos_x_1,pos_y_1); glVertex2f(pos_x_2,pos_y_2); glVertex2f(pos_x_3,pos_y_3); .......... glVertex2f(pos_x_n, pos_y_n); glEnd(); Titik Pusat
gambar 1.1. rumah 2D tampak depan Tugas Membuat rumah tampak depan dengan menggunakan 10 pola pada glBegin(GL_POLA); seperti contoh pada gambar 1.1. gambar 1.1. rumah 2D tampak depan
Grafika lebih banyak berurusan dengan bagaimana menghasilkan gambar yang menawan dengan komputer TERIMA KASIH