Praktikum Komputer Grafik [MODUL] Ganjil 2012/2013. Laboratorium Multimedia 1/41

Ukuran: px
Mulai penontonan dengan halaman:

Download "Praktikum Komputer Grafik [MODUL] Ganjil 2012/2013. Laboratorium Multimedia 1/41"

Transkripsi

1 Praktikum Komputer Grafik [MODUL] Ganjil 2012/2013 1/41

2 KONTRAK PRAKTIKUM Nama Mata Kuliah : Praktikum Komputer Grafik Kode Mata Praktikum : TKC 111 SKS : 1 Mata Kuliah Prasyarat : - Dosen Penanggung Jawab : Abdullah Basuki Rahmat, S.Si., M.T. Dosen Penyusun Modul : Abdullah Basuki Rahmat, S.Si., M.T. Rima Tri Wahyuningrum, S.T., M.T. Semester / Th Ajaran : Ganjil / Hari Pertemuan / Jam : Sesuai Jadwal Praktikum Tempat Pertemuan : Laboratorium Common Computing Gambaran Umum : Praktikum ini merupakan bagian dari kuliah Komputer Grafik. Dalam praktikum ini, praktikan dikenalkan dengan beberapa aspek yang berkaitan dalam pemrograman komputer grafik. Praktikum ini memuat beberapa modul yang berisi tentang struktur program OpenGL (Open Graphics Library): primitif drawing, animasi, pencahayaan pada OpenGL, bayangan, tekstur I dan tekstur II. Modul-modul ini harus dapat dikuasai oleh mahasiswa sebagai dasar penguasaan Komputer Grafik. Mahasiswa diharapkan dapat: Mampu membuat dan memanfaatkan output primitif (titik, garis, segiempat, kurva, lingkaran, elips, fill area, dan teks). Mampu membuat dan memanfaatkan animasi. Mampu membuat dan memanfaatkan pencahayaan pada OpenGL. Mampu membuat dan memanfaatkan bayangan. Mampu membuat dan memanfaatkan tekstur. Tujuan Pembelajaran Praktimum Mahasiswa mampu memahami dan menerapkan aplikasi komputer grafik menggunakan bahasa pemrograman OpenGL. Rumusan Kompetensi Dasar Mahasiswa mampu memahami dan mengaplikasikan sistem grafik pada komputer. Mahasiswa mampu memahami dan mengaplikasikan berbagai teknik dan komponen komputer grafik. Mahasiswa mampu memahami dan mengaplikasikan visualisasi obyek. 2/41

3 Referensi / Bahan Bacaan E. Angel, Interactive Computer Graphics: A Top-Down Approach Using OpenGL, Fourth Edition, Pearson Education Inc., R. S. Wright, N. Haemel, G. Sellers and B. Lipchak, OpenGL Superbible: Comprehensive Tutorial and Reference, Fifth Edition, Pearson Education Inc., Alur bagi peserta praktikum : 1. Pada Tiap Sesi Pelaksanaan Praktikum: a. Peserta praktikum menerima dan kemudian mempelajari modul praktikum. b. Peserta praktikum mengerjakan tugas pendahuluan yang diberikan. c. Peserta praktikum melakukan asistensi tugas pendahuluan tersebut. Asistensi ini digunakan bagi asisten untuk menilai kesiapan peserta juga berfungsi sebagai ajang diskusi peserta praktikum atas kesuliatan yang dialaminya. d. Peserta Praktikum melakukan implementasi tugas praktikum di laboratorium. e. Peserta praktikum mendemokan implementasi pada asisten. Penilaian yang dilakukan oleh asisten bersifat WISIWYG (What I see Is What You Get). 2. Pada akhir pelaksanaan seluruh sesi praktikum, ada Post Test, berupa test program. Tugas NO KRITERIA INDIVIDU KELOMPOK 1 Jenis Tugas Post Test 1. Tugas Pendahuluan 2. Tugas Sesi Praktikum 2 Tujuan Mahasiswa memahami dan menerapkan aplikasi komputer grafik. Mampu menyelesaikan masalah yang diberikan dengan bahasa pemrograman OpenGL. 3 Jadwal Pengumpulan Di akhir praktikum 1. Di awal sesi praktikum 2. Di akhir sesi praktikum 4 Keluaran Tugas Program + Penjelasan 1. Program 2. Listing Program beserta penjelasan (soft copy Hardcopy di kumpulkan di akhir kegiatan praktikum) 3/41

4 Bobot Prosentase Penilaian Praktikum: 1. Pelaksanaan Praktikum 6 Modul a. Tugas pendahuluan 15% b. Kehadiran dan tugas praktikum 35% c. Asistensi dan laporan praktikum 35% 2. Post Test + Laporan resmi 15% Form Nilai Kelas : A Asdos : No NRP NAMA ,33 80,33 77, ,45 B ,67 75,17 73, ,49 B ,17 83,50 84, ,10 A ,50 77,67 77, ,19 B ,33 78,50 78, ,76 B ,33 78,33 78, ,42 B+ 7 Modul 1 Modul 2 Modul 3 Modul 4 Modul 5 Modul 6 Rata-rata Posttest + Lapres n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3 n1 n2 n3 Akhir Nilai Akhir Nilai Huruf Presentase Nilai Kegiatan % Tugas Pendahulua 15% Kehadiran + Tugas 35% Asistensi + Laporan 35% Posttest + Lapres 15% KET n1 n2 n3 post test Grade Nilai Kegiatan % A > 80 B+ > B > C+ > C > D E < 50 Nilai Point Range A 4 > 80 B+ 3,5 >75 80 B 3 >70 75 C+ 2,5 > C 2 >60 65 D E 0 < 50 Catatan : Range Nilai bisa berubah sesuai dengan kondisi kelas Peraturan Praktikum : Toleransi keterlambatan bagi Praktikan adalah 5 menit dari jadwal praktikum (konsekuensi : tidak boleh masuk, kecuali dengan alasan yang rasional) dengan catatan diberi tugas tambahan 4/41

5 Jika Tidak mengikuti kali praktikum tanpa alasan yang rasional (kecuali sakit dengan keterang dokter atau ada keluarga inti yang meninggal) maka nilai untuk semua modul praktikum adalah NOL Praktikan diwajibkan untuk berpakaian rapi (tidak boleh kaos) dan bertingkah laku secara sopan Praktikan dilarang membuka situs selain yang bersangkutan dengan praktikum, konsekuensinya nilai untuk modul praktikum bernilai NOL Asistensi untuk tiap modul minimal 1x (jika tidak ada revisi) dan waktunya maksimal H-1 sebelum praktikum, Jika tidak ada asistensi maka untuk modul yang bersangkutan adalah NOL. Kegiatan PLAGIASI dalam laporan praktikum akan diberikan nilai 0 untuk laporan yang bersangkutan dan harus membuat surat pernyataan yang disertai dengan nama, NPM, serta foto, yang diserahkan ke asisten praktikum masing-masing yang nantinya akan ditempel di mading Lab. NB: saat pelaksanaan praktikum terdapat praktikan yang kedapatan membuka social media maka nilai untuk praktikum modul tersebut adalah 0 5/41

6 Modul 1 Primitif Drawing I. Pengantar Perkembangan komputer grafik menuntut para pengembang sistem aplikasi komputer grafik untuk dapat mengembangkan suatu informasi yang dilengkapi dengan visualisasi dan animasi, agar dapat lebih mudah dipahami oleh pihak yang menggunakan sistem tersebut. Komputer grafik telah menunjukkan kemajuan yang pesat dalam pengembangan berbagai aplikasi untuk menghasilkan gambar komputer grafik yang digunakan untuk menunjang berbagai bidang dengan teknologi grafik berbasis komputer. Penggunaan komputer grafik telah lama digunakan dalam beberapa macam aplikasi, diantaranya pendidikan, kedokteran, fisika, matematika, multimedia, dan lain-lain. Pada saat ini komputer grafik sudah digunakan pada bidang sains, engineering, kedokteran, bisnis, industri, pemerintahan, seni, hiburan, iklan, pendidikan, dan lain-lain. Oleh karena itu, sudah semakin banyak pula bahasa pemrograman yang dilengkapi dengan tools/library pembuatan grafik. Salah satu tools/library pembuatan aplikasi grafik adalah OpenGL (Open Graphics Library). OpenGL (Open Graphics Library) adalah suatu spefikasi grafik low-level yang menyediakan fungsi untuk pembuatan grafik primitif termasuk titik, garis, dan lingkaran. OpenGL digunakan untuk mendefinisikan suatu obyek, baik obyek 2 dimensi maupun obyek 3 dimensi. OpenGL juga merupakan suatu antarmuka pemrograman aplikasi/api (Application Programming Interface) yang tidak tergantung pada piranti dan platform yang digunakan, sehingga OpenGL dapat berjalan pada sistem operasi Windows, UNIX dan sistem operasi lainnya. OpenGL pada awalnya didesain untuk digunakan pada bahasa pemrograman C/C++, namun dalam perkembangannya OpenGL dapat juga digunakan dalam bahasa pemrograman yang lain seperti Java, Tcl, Ada, Visual Basic, Delphi, maupun Fortran. Namun OpenGL di-package secara berbeda-beda sesuai dengan bahasa pemrograman yang digunakan. Oleh karena itu, package OpenGL tersebut dapat di-download pada situs sesuai dengan bahasa pemrograman yang akan digunakan. II. Primitif Drawing Penghasilan citra pada komputer grafik menggunakan primitif grafik dasar. Primitif ini memudahkan untuk merender (menggambar pada layar monitor) sebagaimana penggunaan persamaan geometrik sederhana. Contoh primitif grafik dasar (Gambar 2.1) adalah : 6/41

7 o Titik o Garis, Segiempat o Kurva, Lingkaran, ellipse, kurva bezier, kurva lainnya o Fill area o Text Gambar 1. Primitif grafik Obyek kompleks dapat dibuat dengan kombinasi dari primitif ini. Adapun contoh grafik primitif yang lain adalah : Poligaris yaitu urutan garis lurus yang saling terhubung. Teks adalah bentuk bahasa tulisan dengan simbol-simbol tertentu. Teks merupakan kumpulan lebih dari dua karakter. Citra raster adalah gambar yang dibuat dengan piksel yang membedakan bayangan dan warna. Citra raster disimpan dalam komputer sebagai larik bernilai numerik. Larik tersebut dikenal sebagai piksel map atau bitmap. Ada tiga cara untuk menghasilkan citra grafik yaitu citra didisain dengan tangan, citra yang didapat dari perhitungan dan citra yang discan. Pemaparan citra raster dinyatakan oleh piksel dengan video displays (Cathod-ray Tube CRT), flat panel dispalys (LCD), hardcopy (printer laser, dot matrix printers, ink-jet printers). Contoh proses pemaparan permukaan adalah citra yang ditangkap lalu disimpan di frame buffer, kemudian digunakan untuk mewarnai sebuah titik pada permukaan pemapar. Selanjutnya proses scan di CRT. Frame buffer adalah matriks 2 dimensi yang mewakili piksel pada pemapar. Ukuran matriks harus cukup untuk menyimpan kedalam warna pemapar untuk semua piksel. Sebagai contoh pemapar (monitor) berresolusi 1280 x 1024 mempunya kedalaman warna 24 bit (~16 juta warna) membutuhkan ruang simpan sekitar 4 Mb. o Piksel dan Bitmap. Jumlah bit yang digunakan untuk mewakili warna/bayangan dari masin-masing piksel (picture element = pixel). 4 bit/piksel = 24 = 16 level abu-abu. 7/41

8 III. Program Program primitve drawing #include <windows.h> #include <GL/gl.h> #include <GL/glut.h> void display(void) /* bersihkan layar dari titik pixel yang masih ada */ glclear (GL_COLOR_BUFFER_BIT); /* gambar poligon (rectangle) dengan titik sudut * * (0.25, 0.25, 0.0) and (0.75, 0.75, 0.0) */ glcolor3f (1.0, 1.0, 0.0); glbegin(gl_points); glvertex3f (0.0, 0.0, 0.0); glvertex3f (0.0, 0.8, 0.0); glvertex3f (0.8, 0.0, 0.0); glvertex3f (0.0, -0.8, 0.0); glvertex3f (-0.8, 0.0, 0.0); glend(); glflush (); void kunci(unsigned char key, int x, int y) switch (key) case 27 : case 'q': exit(0); glutpostredisplay(); Int main(int argc, char *argv[]) glutinitwindowsize(200,200); glutinitwindowposition(100,100); glutinitdisplaymode(glut_rgb GLUT_SINGLE); glutcreatewindow("suprapto"); glutdisplayfunc(display); glutkeyboardfunc(kunci); glutmainloop(); return 0; IV. Percobaan 1. Gantilah sintak program yang berwarna merah bold untuk membuat berbagai macam primitive drawing. Lakukan pengamatan apa yang terjadi 8/41

9 glbegin(gl_points); glbegin(gl_line_strip); glbegin(gl_line_loop); glbegin(gl_lines); glbegin(gl_triangles); glbegin(gl_triangle_fan); glbegin(gl_triangle_strip); glbegin(gl_quads); glbegin(gl_quad_strip); glbegin(gl_polygon); 2. Lakukan penyisipan glcolor3f (X, X, X); pada tiap vertek, kemudian amati lagi apa yang terjadi. 3. Lakukan pengaturan ketebalan titik dan garis dengan perintah glpointsize(x); dan gllinewidth(x); kemudian amati apa yang terjadi. V. Tugas 1. Cobalah program diatas lakukan percobaan sesuai dengan perintah diatas 2. Buat Segitiga sama kaki 3. Buat Gambar Kubus 4. Buat Warna Pelangi yang terdiri dari 7 warna 5. Buatlah Gambar segiempat dengan didalamnya diblok warna merah 9/41

10 Modul 2 Animasi I. Pendahuluan Review Praktikum sebelumnya Sebelum ke modul selanjutnya, perhatikan sintak pada Tabel 1. Tabel 1. Perintah-perintah OpenGL yang telah dipraktekan Animasi. Animasi, atau kebanyakan orang lebih banyak kenal dengan film animasi, adalah film yang merupakan hasil dari pengolahan gambar tangan sehingga menjadi gambar yang bergerak. Pada awal penemuannya, film animasi dibuat dari berlembar-lembar kertas gambar yang kemudian di-"putar" sehingga muncul efek gambar bergerak. Dengan bantuan komputer dan komputer grafik, pembuatan film animasi menjadi sangat mudah dan cepat. Bahkan akhir-akhir ini lebih banyak bermunculan film animasi 3 dimensi daripada film animasi 2 dimensi. Wayang kulit merupakan salah satu bentuk animasi tertua di dunia. Bahkan ketika teknologi elektronik dan komputer belum diketemukan, pertunjukan wayang kulit telah memenuhi semua elemen animasi seperti layar, gambar bergerak, dialog dan ilustrasi musik. Selain wayang ternyata animasi sudah berusia sangat tua. Sejak ditemukan rangkaian gerak dalam bentuk gambar pada berbagai artefak pada jaman Mesir Kuno 2000 tahun sebelum masehi manusia sudah mencoba membuat ilustrasi gerakan yang akhirnya berkembang menjadi animasi. Sampai akhirnya Paul Roget, Joseph Plateau dan 10/41

11 Pierre Desvigenes menemukan pola penglihatan mata, lahirlah dunia animasi yang sampai sekarang mampu melahirkan berbagai keajaiban bagi para penontonnya. Dari menghadirkan adegan-adegan lucu dalam tradisional cell animation, hingga special effect dahsyat dalam Computer Graphics Animation yang dilahirkan studio-studio besar Hollywood. Sejak menyadari bahwa gambar dapat dipakai sebagai alternatif media komunikasi, timbul keinginan menghidupkan lambang-lambang tersebut menjadi cermin ekspresi kebudayaan. Terbukti dengan diketemukannya berbagai artefak pada peradapan Mesir Kuno 2000 sebelum masehi. Salah satunya adalah beberapa panel yang menggambarkan aksi dua pegulat dalam berbagai pose. Dalam salah satu ilustrasi Leonardo da Vinci yang terkenal, dilukiskan anggota tubuh manusia dalam berbagai posisi.seorang artis Italy Gioto, juga melukiskan malaikat dalam posisi terbang dengan repitisi gerakan. Animasi sendiri tidak akan pernah berkembang tanpa ditemukannya prinsip dasar dari karakter mata manusia yaitu: persistance of vision (pola penglihatan yang teratur ). Paul Roget, Joseph Plateau dan Pierre Desvigenes, melalui peralatan optik yang mereka ciptakan, berhasil membuktikan bahwa mata manusia cenderung menangkap urutan gambar-gambar pada tenggang waktu tertentu sebagai suatu pola. Dalam perkembangannya animasi secara umum bisa didefinisikan sebagai: Suatu sequence gambar yang diekspos pada tenggang waktu tertentu sehingga tercipta sebuah ilusi gambar bergerak. Animation adalah Illusion Of Motion yang dibuat dari image statis yang ditampilkan secara berurutan. Pada video atau film, animasi merancu pada teknik dimana setiap frame dalam film dibuat secara terpisah. Frame bisa dihasilkan dari komputer, dari fotografi atau dari gambar lukisan. Ketika frame-frame tersebut digabungkan, maka terdapat ilusi perubahan gambar, sesuai dengan teori yang disebut dengan persistance of vision. II. Program 11/41 Program 1 garis silang #include <GL/glut.h> static float rotangle = 0.; void init(void) glclearcolor(0.0,0.0, 0.2, 0.0); void display(void)

12 glclear(gl_color_buffer_bit); glcolor3f (0.0, 1.0, 0.0); glpushmatrix(); glrotatef(-rotangle, 0.0, 0.0, 0.1); glbegin (GL_LINES); glvertex2f (-0.5, 0.5); glvertex2f (0.5, -0.5); glend (); glpopmatrix(); glcolor3f (0.0, 0.0, 1.0); glpushmatrix(); glrotatef(rotangle, 0.0, 0.0, 0.1); glbegin (GL_LINES); glvertex2f (0.5, 0.5); glvertex2f (-0.5, -0.5); glend (); glpopmatrix(); glflush(); void reshape(int w, int h) glviewport(0, 0, w, h); glmatrixmode(gl_projection); glloadidentity(); if (w <= h) gluortho2d (-1.0, 1.0, -1.0*(GLfloat)h/(GLfloat)w, 1.0*(GLfloat)h/(GLfloat)w); else gluortho2d (-1.0*(GLfloat)w/(GLfloat)h, 1.0*(GLfloat)w/(GLfloat)h, -1.0, 1.0); glmatrixmode(gl_modelview); glloadidentity(); void keyboard(unsigned char key, int x, int y) switch (key) case 'r': case 'R': rotangle += 20.; if (rotangle >= 360.) rotangle = 0.; glutpostredisplay(); case 27: exit(0); default: int main(int argc, char** argv) glutinit(&argc, argv); 12/41

13 glutinitdisplaymode (GLUT_SINGLE GLUT_RGB); glutinitwindowsize (300, 300); glutcreatewindow (argv[0]); init(); glutreshapefunc (reshape); glutkeyboardfunc (keyboard); glutdisplayfunc (display); glutmainloop(); return 0; 13/41 Program 2 Membuat Kotak Berputar #include <GL/glut.h> static GLfloat spin = 0.0; void display(void) glclear(gl_color_buffer_bit); glpushmatrix(); glrotatef(spin, 0.0, 0.0, 1.0); glcolor3f(1.0, 1.0, 1.0); glrectf(-25.0, -25.0, 25.0, 25.0); glpopmatrix(); glutswapbuffers(); void spindisplay(void) spin = spin + 2.0; if (spin > 360.0) spin = spin ; glutpostredisplay(); void init(void) glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel (GL_FLAT); void reshape(int w, int h) glviewport (0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode(gl_projection); glloadidentity(); glortho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0); glmatrixmode(gl_modelview); glloadidentity(); void mouse(int button, int state, int x, int y) switch (button) case GLUT_LEFT_BUTTON:

14 if (state == GLUT_DOWN) glutidlefunc(spindisplay); case GLUT_MIDDLE_BUTTON: case GLUT_RIGHT_BUTTON: if (state == GLUT_DOWN) glutidlefunc(null); default: int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_DOUBLE GLUT_RGB); glutinitwindowsize (300, 300); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutdisplayfunc(display); glutreshapefunc(reshape); glutmousefunc(mouse); glutmainloop(); return 0; Program 3 Membuat Gerakan Lengan #include <GL/glut.h> static int shoulder = 0, elbow = 0; void init(void) glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel (GL_FLAT); void display(void) glclear (GL_COLOR_BUFFER_BIT); glpushmatrix(); gltranslatef (-1.0, 0.0, 0.0); glrotatef ((GLfloat) shoulder, 0.0, 0.0, 1.0); gltranslatef (1.0, 0.0, 0.0); glpushmatrix(); glscalef (2.0, 0.4, 1.0); glutwirecube (1.0); glpopmatrix(); gltranslatef (1.0, 0.0, 0.0); glrotatef ((GLfloat) elbow, 0.0, 0.0, 1.0); gltranslatef (1.0, 0.0, 0.0); glpushmatrix(); glscalef (2.0, 0.4, 1.0); glutwirecube (1.0); glpopmatrix(); 14/41

15 glpopmatrix(); glutswapbuffers(); void reshape (int w, int h) glviewport (0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode (GL_PROJECTION); glloadidentity (); gluperspective(65.0, (GLfloat) w/(glfloat) h, 1.0, 20.0); glmatrixmode(gl_modelview); glloadidentity(); gltranslatef (0.0, 0.0, -5.0); void keyboard (int key, int x, int y) switch (key) case 's': shoulder = (shoulder + 5) % 360; glutpostredisplay(); case 'S': shoulder = (shoulder - 5) % 360; glutpostredisplay(); case 'e': elbow = (elbow + 5) % 360; glutpostredisplay(); case 'E': elbow = (elbow - 5) % 360; glutpostredisplay(); case 27: exit(0); default: void main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_DOUBLE GLUT_RGB); glutinitwindowsize (700, 600); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutdisplayfunc(display); glutreshapefunc(reshape); glutkeyboardfunc(keyboard); glutmainloop(); return 0; 15/41

16 Program 4 membuat planet #include <GL/glut.h> static year = 0, day = 0; void init(void) glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel (GL_FLAT); void display(void) glclear (GL_COLOR_BUFFER_BIT); glcolor3f (1.0, 1.0, 1.0); glpushmatrix(); glutwiresphere(1.0, 20, 16); /* gambar matahari */ glrotatef ((GLfloat) year, 0.0, 1.0, 0.0); gltranslatef (2.0, 0.0, 0.0); glrotatef ((GLfloat) day, 0.0, 1.0, 0.0); glutwiresphere(0.2, 10, 8); /* gambar planet kecil */ glpopmatrix(); glutswapbuffers(); void reshape (int w, int h) glviewport (0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode (GL_PROJECTION); glloadidentity (); gluperspective(60.0, (GLfloat) w/(glfloat) h, 1.0, 20.0); glmatrixmode(gl_modelview); glloadidentity(); glulookat (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); void keyboard (int key, int x, int y) switch (key) case 'd': day = (day + 10) % 360; glutpostredisplay(); case 'D': day = (day - 10) % 360; glutpostredisplay(); case 'y': year = (year + 5) % 360; glutpostredisplay(); case 'Y': year = (year - 5) % 360; glutpostredisplay(); 16/41

17 case 27: exit(0); default: void main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_DOUBLE GLUT_RGB); glutinitwindowsize (500, 500); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutdisplayfunc(display); glutreshapefunc(reshape); glutkeyboardfunc(keyboard); glutmainloop(); return 0; III. Tugas 1. Cobalah program diatas! 2. Amati pada fungsi program inti! 3. Amati pada fungsi masukan! 4. Dari praktikum sebelumnya sampai sekarang, buatlah program untuk menampilkan gambar segiempat dengan warna yang dapat diubah dengan menggunakan tombol panah dan 5. Ubahlah program 1 supaya kedua garis yang muncul pada gambar menjadi bergerak searah dengan simpangan 90 derajat antara keduanya! 6. Pada program 2 ubahlah program supaya bergerak jika di tekan tombol keyboard P atau p! 7. Pada program 4 Lakukan perubahan nilai pada glulookat (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); dan glscalef (1.0, 2.0, 1.0);! 8. Pada program 4 sintak glutwirecube (1.0); lakukan perubahan dengan sintak glutwiresphere(1.0, 40, 16); dengan melakukan perubahan nilai pada glulookat (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); dan glscalef (1.0, 2.0, 1.0); kemudian amati apa yang terjadi? 9. Pada program 4. Buatlah gambar lintasan bumi yang mengelilingi matahari! 17/41

18 Modul 3 Pencahayaan pada OpenGL I. Pendahuluan OpenGL akan melakukan komputasi warna setiap pixel di display akhir, ditampilkan adegan itu dilakukan di frame buffer. Bagian dari komputasi ini tergantung pada pencahayaan yang digunakan dalam adegan dan hal tersebut berkenaan dengan bagaimana suatu benda dalam adegan yang memantulkan atau menyerap cahaya. Sebagai contoh saja misalnya sebuah lautan memiliki warna yang berbeda pada cerah maupun pada saat hari mendung. Adanya sinar matahari atau awan menentukan apakah laut termelihat sebagai pirus terang atau abu-abu keruh kehijauan. Pada kenyataannya, sebagian besar objek bahkan yang tidak terlihat tiga dimensi sampai mereka diterangi cahaya. Pada gambar 2 menunjukkan dua versi dari adegan yang persis sama yaitu sebuah bola, dimana satu dengan pencahayaan dan satu tanpa pencahayaan. Gambar 2. Sebuah spere dengan diterangi cahaya dan tidak diterangi Seperti ditunjukkan pada Gambar 2, wilayah gelap tampak tidak berbeda dari bulatan dua dimensi. hal Ini menunjukkan betapa pentingnya interaksi antara obyek dan cahaya adalah dalam menciptakan adegan tiga dimensi. Agar obyek yang telah dibuat terlihat lebih nyata, diperlukan tambahan efek pencahayaan pada obyek yang telah kita buat. Pencahayaan adalah proses pemberian cahaya pada suatu obyek, dikenal dengan istilah lighting atau iluminasi. Pada OpenGL terdapat sebuah perbedaan penting antara warna dan pencahayaan yang perlu pahami. Ketika menggunakan pencahayaan atau tekstur pemetaan dengan efek pencahayaan dihidupkan, warna dari vertex adalah efek kumulatif dari warna bahan dan cahaya yang bersinar di puncak. Ketika pencahayaan dimatikan, maka warna dari vertex adalah efek pengaturan warna dan warna yang berbeda dengan bahan warna. 18/41

19 Gambar 3. Contoh ambient, diffuse, dan specular pada pantulan cahaya Dengan menggunakan OpenGL, dapat memanipulasi pencahayaan dan obyek dalam sebuah adegan untuk menciptakan berbagai macam efek. Dalam pokok bahasan pada bab pencahayaan akan dimulai dengan sebuah pencahayaan yang penting pada permukaan tersembunyi penghapusan. Kemudian menjelaskan bagaimana untuk mengontrol pencahayaan dalam suatu adegan, membahas model konseptual OpenGL pencahayaan, dan menggambarkan secara rinci cara mengatur pencahayaan dengan banyak parameter untuk mendapatkan efek tertentu. Pada akhir bab, perhitungan matematis yang menentukan bagaimana warna mempengaruhi pencahayaan disajikan Pencahayaan pada OpenGL dan Dunia Nyata Ketika melihat permukaan fisik, persepsi warna pada mata tergantung pada distribusi energi foton yang datang dan memicu sel-sel kerucut mata. Foton berasal dari sumber cahaya atau kombinasi dari sumber, yang sebagian diserap dan sebagian yang dipantulkan oleh permukaan. Selain itu, permukaan yang berbeda memiliki sifat yang sangat berbedaada, misalnya yang mengkilap dengan sempurna akan memantulkan cahaya dalam arah tertentu, sementara yang lain menyebarkan cahaya sama-sama masuk di segala penjuru. Pencahayaan pada OpenGL hanya dengan cahaya pendekatan dan cahaya lampu seolah-olah dapat dipecah menjadi komponen merah, hijau, dan biru. Dengan demikian, warna sumber cahaya dicirikan oleh jumlah warna yang memancarkan cahaya merah, hijau, dan biru, dan materi permukaan ditandai dengan persentase komponen warna merah, hijau, dan biru yang masuk dan tercermin dalam berbagai arah. Persamaan pencahayaan pada OpenGL hanya sebuah pendekatan, tetapi satu yang bekerja cukup baik dan dapat dihitung relatif cepat. Jika menginginkan yang lebih akurat atau model pencahayaan hanya berbeda, harus melakukan perhitungan sendiri dalam perangkat lunak. Dengan perangkat lunak tersebut dapat menjadi sangat kompleks, seperti beberapa jam membaca buku teks optik pun harus meyakinkan. 19/41

20 Model pencahayaan dalam OpenGL, cahaya dalam sebuah adegan berasal dari beberapa sumber cahaya yang dapat secara individual diaktifkan dan dinonaktifkan. Beberapa cahaya datang dari arah atau posisi tertentu, dan beberapa cahaya umumnya tersebar karena adanya suatu peristiwa. Sebagai contoh, ketika menghidupkan bola lampu dalam ruangan, sebagian besar berasal dari cahaya bola lampu, tetapi beberapa cahaya datang setelah ada pantulan dari dinding satu, dua, tiga, atau lebih. Cahaya yang memantul ini disebut ambient dan dapat diasumsikan begitu cahaya tersebar tidak ada cara untuk mengetahui arah semula, tetapi hal ini akan menghilang jika suatu sumber cahaya dimatikan. Akhirnya, mungkin ada cahaya ambient umum dalam adegan yang tidak berasal dari sumber tertentu, seolah-olah telah tersebar beberapa kali sumber cahaya asli dan tidak mungkin untuk menentukan. Dalam model OpenGL, sumber cahaya hanya memiliki efek ketika ada permukaan yang menyerap dan memantulkan cahaya. Setiap permukaan diasumsikan terdiri dari bahan dengan berbagai sifat. Sebuah bahan dapat memancarkan cahaya sendiri seperti lampu pada sebuah mobil atau mungkin menyebarkan beberapa cahaya yang masuk ke segala penjuru, dan mungkin juga memantulkan sebagian dari cahaya masuk dalam arah preferensial seperti cermin atau permukaan mengilap. Model pencahayaan yang OpenGL mempertimbangkan pencahayaan yang dibagi menjadi empat komponen independen: memancarkan (emissi), ambient, diffuse, dan specular. Semua empat komponen dihitung secara independen dan kemudian ditambahkan secara bersama-sama. Cahaya Ambient, Diffuse, dan Specular Pencahayaan ambient adalah cahaya yang sudah berserakan begitu banyak disebabkan oleh lingkungan dan arahnya tidak mungkin ditentukan atau tampaknya datang dari segala penjuru. Backlighting pada sebuah ruangan memiliki komponen ambient besar, karena sebagian besar cahaya yang mencapai mata yang memantul dari banyak permukaan. Sebuah lampu sorot kecil di luar rumah memiliki komponen ambient, sebagian besar cahaya dalam arah yang sama, dan karena diluar, sangat sedikit cahaya mencapai mata setelah memantul dari benda-benda lain. Ketika cahaya ambient menyerang permukaan, maka akan tersebar merata di segala penjuru. Komponen cahaya diffuse adalah komponen yang berasal dari satu arah, jadi akan terang kalau hal tersebut terjadi tepat diatas sebuah permukaan dibandingkan jika hampir tidak terjadi di atas permukaan. Setelah mengenai permukaan, akan tersebar merata di segala penjuru, sehingga tampak sama-sama terang, tak peduli di mana mata berada. Setiap cahaya yang datang dari posisi atau arah tertentu mungkin memiliki komponen diffuse. 20/41

21 Cahaya specular datang dari arah tertentu, dan cenderung terpental pada permukaan dalam arah yang diinginkan. sinar laser berkualitas tinggi memantul pada cermin dan menghasilkan hampir 100 persen refleksi specular. Logam atau plastik mengkilap memiliki komponen specular tinggi, dan kapur atau karpet telah hampir tidak ada. Specularity dapat juga dianggap sebagai shininess. Meskipun sumber cahaya memberikan satu distribusi frekuensi, komponen ambient, diffuse, dan specular mungkin berbeda. Sebagai contoh, jika memiliki cahaya putih di sebuah ruangan dengan dinding merah, cahaya yang tersebar cenderung menjadi warna merah, meskipun cahaya secara langsung objek putih yang mencolok. OpenGL memungkinkan untuk mengatur nilai merah, hijau, dan biru untuk setiap komponen cahaya secara bebas. II. Program Program 1. Sebuah Lit Sphere. Dibawah ini merupakan langkah-langkah yang diperlukan untuk menambahkan pencahayaan ke obyek. Tentukan vektor normal untuk setiap sudut dari semua benda. Vektor normal ini menentukan orientasi objek relatif terhadap sumber cahaya. Buat, pilih, dan atur posisi satu atau lebih dari sebuah sumber cahaya. Ciptakan dan pilih model pencahayaan, yang mendefinisikan tingkat cahaya lingkungan global dan lokasi efektif dari sudut pandang (untuk keperluan perhitungan pencahayaan). Tentukan sifat-sifat material untuk objek-objek dalam adegan. Contoh program dibawah akan menyelesaikan tugas ini. Program tersebut akan menampilkan sebuah bola diterangi satu sumber cahaya. program Menggambar sebuah Lit Sphere: light.c #include <GL/gl.h> #include <GL/glu.h> #include <GL/glut.h> void init(void) GLfloat mat_specular[] = 1.0, 1.0, 1.0, 1.0 ; GLfloat mat_shininess[] = 50.0 ; GLfloat light_position[] = 1.0, 1.0, 1.0, 0.0 ; glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel (GL_SMOOTH); glmaterialfv(gl_front, GL_SPECULAR, mat_specular); glmaterialfv(gl_front, GL_SHININESS, mat_shininess); gllightfv(gl_light0, GL_POSITION, light_position); glenable(gl_lighting); glenable(gl_light0); 21/41

22 glenable(gl_depth_test); void display(void) glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glutsolidsphere (1.0, 20, 16); glflush (); void reshape (int w, int h) glviewport (0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode (GL_PROJECTION); glloadidentity(); if (w <= h) glortho (-1.5, 1.5, -1.5*(GLfloat)h/(GLfloat)w, 1.5*(GLfloat)h/(GLfloat)w, , 10.0); else glortho (-1.5*(GLfloat)w/(GLfloat)h, 1.5*(GLfloat)w/(GLfloat)h, -1.5, 1.5, -10.0, 10.0); glmatrixmode(gl_modelview); glloadidentity(); int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_RGB GLUT_DEPTH); glutinitwindowsize (500, 500); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutdisplayfunc(display); glutreshapefunc(reshape); glutmainloop(); return 0; Program 2 Obyek sphere #include <GL/glut.h> GLfloat light_diffuse[] =1.0, 1.0, 0.0, 1.0; GLfloat light_position[] =1.0, 1.0, 1.0, 0.20; GLUquadricObj *qobj; void display(void) glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glcalllist(1); /* tampilan list render sphere */ glutswapbuffers(); void gfxinit(void) qobj = glunewquadric(); // glut Library gluquadricdrawstyle(qobj, GLU_FILL); glnewlist(1, GL_COMPILE); /* membuat tampilan sphere */ //glusphere(radius, slices, stacks); 22/41

23 glusphere(qobj, 1.0, 20, 20); glucylinder(qobj, 1, 1, 3, 20, 20); gludisk(qobj, 0.5, 1, 20, 20); glupartialdisk(qobj, 0.5, 1, 20, 20, 45, 270); Lakukan percobaan dengan memilih salah satu dari sintak dengan warna merah tebal. Lakukan perubahan nilai. glendlist(); gllightfv(gl_light0, GL_DIFFUSE, light_diffuse); gllightfv(gl_light0, GL_POSITION, light_position); glenable(gl_lighting); glenable(gl_light0); glenable(gl_depth_test); glmatrixmode(gl_projection); // gluperspective(field of view in degree, aspect ratio, Z near, Z far ); gluperspective(40.0, 1.0, 1.0, 10.0); glmatrixmode(gl_modelview); glulookat(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.); gltranslatef(0.0, 0.0, -1.0); int main(int argc, char **argv) glutinit(&argc, argv); glutinitdisplaymode(glut_double GLUT_RGB GLUT_DEPTH); glutcreatewindow("sphere"); glutdisplayfunc(display); gfxinit(); glutcreatewindow("pencahayaan"); glutdisplayfunc(display); gfxinit(); glutmainloop(); return 0; Program 3 Objek Kubus #include <GL/glut.h> GLfloat light_diffuse[] = 1.0, 0.0, 0.0, 1.0; /* warna merah terang. */ GLfloat light_position[] = 1.0, 1.0, 1.0, 0.0; GLfloat n[6][3] = /* secara normal kubus ada 6 muka. */ -1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, -1.0 ; GLint faces[6][4] = 0, 1, 2, 3, 3, 2, 6, 7, 7, 6, 5, 4, 4, 5, 1, 0, 5, 6, 2, 1, 7, 4, 0, 3 ; GLfloat v[8][3]; void drawbox(void) int i; for (i = 0; i < 6; i++) glbegin(gl_quads); glnormal3fv(&n[i][0]); 23/41

24 glvertex3fv(&v[faces[i][0]][0]); glvertex3fv(&v[faces[i][1]][0]); glvertex3fv(&v[faces[i][2]][0]); glvertex3fv(&v[faces[i][3]][0]); glend(); void display(void) glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); drawbox(); glutswapbuffers(); void init(void) /* pengaturan data vertek kubus. */ v[0][0] = v[1][0] = v[2][0] = v[3][0] = -1; v[4][0] = v[5][0] = v[6][0] = v[7][0] = 1; v[0][1] = v[1][1] = v[4][1] = v[5][1] = -1; v[2][1] = v[3][1] = v[6][1] = v[7][1] = 1; v[0][2] = v[3][2] = v[4][2] = v[7][2] = 1; v[1][2] = v[2][2] = v[5][2] = v[6][2] = -1; /* meng-enable-kan pencahayaan OpenGL single. */ gllightfv(gl_light0, GL_DIFFUSE, light_diffuse); gllightfv(gl_light0, GL_POSITION, light_position); glenable(gl_light0); glenable(gl_lighting); glenable(gl_depth_test); /* mengatur penglihatan kubus. */ glmatrixmode(gl_projection); /* sudut pandangan, aspek ratio, kedekatan Z, jauh Z */ gluperspective(40.0,1.0, 1.0, 10.0); glmatrixmode(gl_modelview); glulookat(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.); /* mengatur posisi kubus */ gltranslatef(0.0, 0.0, -1.0); glrotatef(60, 1.0, 0.0, 0.0); glrotatef(-20, 0.0, 0.0, 1.0); int main(int argc, char **argv) glutinit(&argc, argv); glutinitdisplaymode(glut_double GLUT_RGB GLUT_DEPTH); glutcreatewindow("kubus warna merah 3D dengan pencahayaan"); glutdisplayfunc(display); init(); glutmainloop(); return 0; 24/41

25 III. Tugas 1. Cobalah program diatas 2. Lakukan perubahan sintak atau nilai yang ada dalam program diatas 3. Masukan hasil pengamatan dan masukan hasilnya yang disertai gambar hasil compile dalam tabel pengamatan yang disesuaikan dengan pengamatan anda. (dengan MS Office) 4. Buatlah gambar donat dilengkapi dengan pencahayaan satu sumber 5. Buatlah program gambar cone dilengkapi dengan pencahayaan satu sumber 25/41

26 Modul 4 Bayangan I. Pengantar Untuk menghasilkan gambar yang realistik perlu memodelkan pencerminan dan pembiasan maupun memunculkan bayangan karena pengaruh dari adanya cahaya. Dengan memodelkan pencerminan untuk benda yang reflektif seperti cermin akan dihasilkan pantulan ataupun bayangan benda. Dan efek pembiasan cahaya dapat dimodelkan pada benda yang transparan untuk menghasilkan penampakan obyek lain yang berada di belakang obyek transparan tersebut serta efek pengumpulan cahaya bias. Effek bayangan ini sangat penting karena dengan adanya effek tersebut seolah-olah benda tersebut nampak nyata. Bayangan sebuah obyek benda harus disesuaikan dengan bentuk benda aslinya dan asal sumber cahaya tersebut berada dan banyaknya sumber cahaya. Program 1 #include <math.h> #include <stdio.h> #include <GL/glut.h> double rx = 0.0; double ry = 0.0; float l[] = 0.0, 80.0, 0.0 ; // koordinat sumber cahaya float n[] = 0.0, -1.0, 0.0 ; float e[] = 0.0, -60.0, 0.0 ; void help(); // obyek yang akan digambar draw() glutsolidteapot(30.0); glutsolidsphere(40, 16, 16); glutsolidcube (40); Isi dengan salah satu saja (cetak merah tebal), dan berilah obyek yang selain dalam tabel ini //membuat proyeksi bayangan void glshadowprojection(* l, * e, * n) float d, c; float mat[16]; d = n[0]*l[0] + n[1]*l[1] + n[2]*l[2]; c = e[0]*n[0] + e[1]*n[1] + e[2]*n[2] - d; 26/41

27 mat[0] = l[0]*n[0]+c; // membuat matrik. OpenGL menggunakan kolom matrik mat[4] = n[1]*l[0]; mat[8] = n[2]*l[0]; mat[12] = -l[0]*c-l[0]*d; mat[1] = n[0]*l[1]; mat[5] = l[1]*n[1]+c; mat[9] = n[2]*l[1]; mat[13] = -l[1]*c-l[1]*d; mat[2] = n[0]*l[2]; mat[6] = n[1]*l[2]; mat[10] = l[2]*n[2]+c; mat[14] = -l[2]*c-l[2]*d; mat[3] = n[0]; mat[7] = n[1]; mat[11] = n[2]; mat[15] = -d; glmultmatrixf(mat); // kalikan matrik void render() glclearcolor(0.0,0.6,0.9,0.0); glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); gllightfv(gl_light0, GL_POSITION, l); gldisable(gl_cull_face); gldisable(gl_lighting); glcolor3f(1.0,1.0,0.0); glbegin(gl_points); glvertex3f(l[0],l[1],l[2]); glend(); glcolor3f(0.8,0.8,0.8); glbegin(gl_quads); glnormal3f(0.0,1.0,0.0); glvertex3f( ,e[1]-0.1, ); glvertex3f( ,e[1]-0.1, ); glvertex3f( ,e[1]-0.1, ); glvertex3f( ,e[1]-0.1, ); glend(); // gambar bayangan glpushmatrix(); glrotatef(ry,0,1,0); glrotatef(rx,1,0,0); glenable(gl_lighting); glcolor3f(0.0,0.0,0.8); draw(); glpopmatrix(); //sekarang gambar bayangan yang muncul 27/41

28 glpushmatrix(); glshadowprojection(l,e,n); glrotatef(ry,0,1,0); glrotatef(rx,1,0,0); gldisable(gl_lighting); glcolor3f(0.4,0.4,0.4); draw(); glpopmatrix(); glutswapbuffers(); void keypress(unsigned char c, int a, int b) ( c==27 ) exit(0); ( c=='s' ) l[1]-=5.0; ( c=='w' ) l[1]+=5.0; ( c=='a' ) l[0]-=5.0; ( c=='d' ) l[0]+=5.0; ( c=='q' ) l[2]-=5.0; ( c=='e' ) l[2]+=5.0; ( c=='h' ) help(); void help() printf("proyeksi contoh bayangan sebuah obyek teapot\n"); void idle() rx+=0.4; ry+=0.7; render(); void resize(w, h) glviewport(0, 0, w, h); int main(argc, * argv[]) glutinit(&argc, argv); glutinitdisplaymode(glut_double GLUT_RGB GLUT_DEPTH); glutcreatewindow("proyeksi bayangan"); glutreshapefunc(resize); glutreshapewindow(400,400); glutkeyboardfunc(keypress); glutdisplayfunc(render); glutidlefunc(idle); glenable(gl_normalize); glenable(gl_lighting); glenable(gl_color_material); glenable(gl_depth_test); glenable(gl_light0); 28/41

29 glenable(gl_texture_2d); glmatrixmode(gl_projection); glloadidentity(); gluperspective(60.0f, 1.0, 1.0, 400.0); // Reset koordinat sebelum dimodifikasi/diubah glmatrixmode(gl_modelview); glloadidentity(); gltranslatef(0.0, 0.0, ); glutmainloop(); return 0; Tugas 1. Cobalah program diatas 2. Lakukan pengamatan sintak atau nilai yang ada dalam program diatas, kemudian lakukan analisis sintak mana yang berhubungan dengan bayangan dan mana pencahayaan (tulis dan masukan dalam laporan) 3. Setelah dicompile Lakukan perubahan bayangan dan pencahayaan dengan menekan tombol: s/w memindahkan sumber cahaya naik/turun a/d memindahkan sumber cahaya ke kanan/ke kiri q/e memindahkan sumber cahaya ke depan atau ke belakang 4. Buatlah sebuah program yang menampilkan bayangan sebuah obyek benda yang berbeda dengan program diatas disertai pencahayaan. 5. Buatlah benda kubus yang terletak di meja dengan disertai pencahayaan dan bayangannya (sudut nya bebas) 6. Buatlah gambar tabung dilengkapi dengan bayangan dengan sudut 45 disertai pengkabutan dengan ketebalan 40% 29/41

30 Modul 5 Tekstur I I. Pengantar Tekstur adalah tampilan permukaan (corak) dari suatu benda yang dapat dinilai dengan cara dilihat atau diraba. Pada prakteknya, tekstur sering dikategorikan sebagai corak dari suatu permukaan benda, misalnya permukaan karpet, baju, kulit kayu, dan lain sebagainya. Tekstur merupakan karakteristik intrinsik dari suatu citra yang terkait dengan tingkat kekasaran (roughness), granularitas (granulation), dan keteraturan (regularity) susunan struktural piksel. Aspek tekstural dari sebuah citra dapat dimanfaatkan sebagai dasar dari segmentasi, klasifikasi, maupun interpretasi citra. Tekstur dapat didefinisikan sebagai fungsi dari variasi spasial intensitas piksel (nilai keabuan) dalam citra. Berdasarkan strukturnya, tekstur dapat diklasifikasikan dalam dua golongan : a. Makrostruktur Tekstur makrostruktur memiliki perulangan pola lokal secara periodik pada suatu daerah citra, biasanya terdapat pada pola-pola buatan manusia dan cenderung mudah untuk direpresentasikan secara matematis. Gambar 1. Contoh tekstur makrostruktur b. Mikrostruktur Pada tekstur mikrostruktur, pola-pola lokal dan perulangan tidak terjadi begitu jelas, sehingga tidak mudah untuk memberikan definisi tekstur yang komprehensif. Gambar 2. Contoh tekstur mikrostruktur 30/41

31 Program 1 /* Program evaluasi untuk mengevaluasi kurva * permukaan secara otomatis menentukan koorditan texture */ #include <GL/glut.h> #include <stdlib.h> #include <math.h> GLfloat ctrlpoints[4][4][3] = -1.5, -1.5, 4.0, -0.5, -1.5, 2.0, 0.5, -1.5, -1.0, 1.5, -1.5, 2.0, -1.5, -0.5, 1.0, -0.5, -0.5, 3.0, 0.5, -0.5, 0.0, 1.5, -0.5, -1.0, -1.5, 0.5, 4.0, -0.5, 0.5, 0.0, 0.5, 0.5, 3.0, 1.5, 0.5, 4.0, -1.5, 1.5, -2.0, -0.5, 1.5, -2.0, 0.5, 1.5, 0.0, 1.5, 1.5, -1.0 ; GLfloat texpts[2][2][2] = 0.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0; void display(void) glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glcolor3f(1.0, 1.0, 1.0); glevalmesh2(gl_fill, 0, 20, 0, 20); glflush(); #define imagewidth 64 #define imageheight 64 GLubyte image[3*imagewidth*imageheight]; void makeimage(void) int i, j; float ti, tj; for (i = 0; i < imagewidth; i++) ti = 2.0* *i/imageWidth; for (j = 0; j < imageheight; j++) tj = 2.0* *j/imageHeight; image[3*(imageheight*i+j)] = (GLubyte) 127*(1.0+sin(ti)); image[3*(imageheight*i+j)+1] = (GLubyte) 127*(1.0+cos(2*tj)); image[3*(imageheight*i+j)+2] = (GLubyte) 127*(1.0+cos(ti+tj)); void init(void) glmap2f(gl_map2_vertex_3, 0, 1, 3, 4, 0, 1, 12, 4, &ctrlpoints[0][0][0]); glmap2f(gl_map2_texture_coord_2, 0, 1, 2, 2, 0, 1, 4, 2, &texpts[0][0][0]); 31/41

32 glenable(gl_map2_texture_coord_2); glenable(gl_map2_vertex_3); glmapgrid2f(20, 0.0, 1.0, 20, 0.0, 1.0); makeimage(); gltexenvf(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_DECAL); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_REPEAT); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_REPEAT); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_NEAREST); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glteximage2d(gl_texture_2d, 0, GL_RGB, imagewidth, imageheight, 0, GL_RGB, GL_UNSIGNED_BYTE, image); glenable(gl_texture_2d); glenable(gl_depth_test); glshademodel (GL_FLAT); void reshape(int w, int h) glviewport(0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode(gl_projection); glloadidentity(); if (w <= h) glortho(-4.0, 4.0, -4.0*(GLfloat)h/(GLfloat)w, 4.0*(GLfloat)h/(GLfloat)w, -4.0, 4.0); else glortho(-4.0*(glfloat)w/(glfloat)h, 4.0*(GLfloat)w/(GLfloat)h, -4.0, 4.0, -4.0, 4.0); glmatrixmode(gl_modelview); glloadidentity(); glrotatef(85.0, 1.0, 1.0, 1.0); void keyboard(unsigned char key, int x, int y) switch (key) case 27: exit(0); int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_RGB GLUT_DEPTH); glutinitwindowsize (500, 500); glutinitwindowposition (100, 100); glutcreatewindow (argv[0]); init (); glutdisplayfunc(display); glutreshapefunc(reshape); glutkeyboardfunc(keyboard); glutmainloop(); return 0; 32/41

33 Program 2 /* program mendemontrasikan texture menggunakan glbindtexture() * untuk membuat dan mengatur 2 texture */ /* membuat texture papan catur */ #include <GL/glut.h> #include <stdlib.h> #include <stdio.h> #ifdef GL_VERSION_1_1 #define checkimagewidth 64 #define checkimageheight 64 static GLubyte checkimage[checkimageheight][checkimagewidth][4]; static GLubyte otherimage[checkimageheight][checkimagewidth][4]; static GLuint texname[2]; void makecheckimages(void) int i, j, c; for (i = 0; i < checkimageheight; i++) for (j = 0; j < checkimagewidth; j++) c = ((((i&0x8)==0)^((j&0x8))==0))*255; checkimage[i][j][0] = (GLubyte) c; checkimage[i][j][1] = (GLubyte) c; checkimage[i][j][2] = (GLubyte) c; checkimage[i][j][3] = (GLubyte) 255; c = ((((i&0x10)==0)^((j&0x10))==0))*255; otherimage[i][j][0] = (GLubyte) c; otherimage[i][j][1] = (GLubyte) 0; otherimage[i][j][2] = (GLubyte) 0; otherimage[i][j][3] = (GLubyte) 255; void init(void) glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel(gl_flat); glenable(gl_depth_test); makecheckimages(); glpixelstorei(gl_unpack_alignment, 1); glgentextures(2, texname); glbindtexture(gl_texture_2d, texname[0]); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_NEAREST); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glteximage2d(gl_texture_2d, 0, GL_RGBA, checkimagewidth, checkimageheight, 0, GL_RGBA, GL_UNSIGNED_BYTE, checkimage); glbindtexture(gl_texture_2d, texname[1]); 33/41

34 gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_CLAMP); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_NEAREST); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST); gltexenvf(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_DECAL); glteximage2d(gl_texture_2d, 0, GL_RGBA, checkimagewidth, checkimageheight, 0, GL_RGBA, GL_UNSIGNED_BYTE, otherimage); glenable(gl_texture_2d); void display(void) glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glbindtexture(gl_texture_2d, texname[0]); glbegin(gl_quads); gltexcoord2f(0.0, 0.0); glvertex3f(-2.0, -1.0, 0.0); gltexcoord2f(0.0, 1.0); glvertex3f(-2.0, 1.0, 0.0); gltexcoord2f(1.0, 1.0); glvertex3f(0.0, 1.0, 0.0); gltexcoord2f(1.0, 0.0); glvertex3f(0.0, -1.0, 0.0); glend(); glbindtexture(gl_texture_2d, texname[1]); glbegin(gl_quads); gltexcoord2f(0.0, 0.0); glvertex3f(1.0, -1.0, 0.0); gltexcoord2f(0.0, 1.0); glvertex3f(1.0, 1.0, 0.0); gltexcoord2f(1.0, 1.0); glvertex3f( , 1.0, ); gltexcoord2f(1.0, 0.0); glvertex3f( , -1.0, ); glend(); glflush(); void reshape(int w, int h) glviewport(0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode(gl_projection); glloadidentity(); gluperspective(60.0, (GLfloat) w/(glfloat) h, 1.0, 30.0); glmatrixmode(gl_modelview); glloadidentity(); gltranslatef(0.0, 0.0, -3.6); void keyboard(unsigned char key, int x, int y) switch (key) case 27: exit(0); 34/41

35 int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode(glut_single GLUT_RGB GLUT_DEPTH); glutinitwindowsize(250, 250); glutinitwindowposition(100, 100); glutcreatewindow(argv[0]); init(); glutreshapefunc(reshape); glutdisplayfunc(display); glutkeyboardfunc (keyboard); glutmainloop(); return 0; #else int main(int argc, char** argv) fprintf (stderr, "program tekstur didemontrasikan dengan OpenGL Versi 1.0.\n"); return 0; #endif Tugas 1. Cobalah program diatas 2. Lakukan perubahan sintak atau nilai yang ada dalam program diatas ( yang berhubungan dengan texture saja) 3. Masukan hasil pengamatan dan masukan hasilnya yang disertai gambar hasil compile dalam tabel pengamatan yang disesuaikan dengan pengamatan anda. 4. Pada labsheet praktikum topik ini belum di lengkapi dengan teori mengenai teksture secara detail oleh karena itu buatlah makalah yang berisi tentang texture dengan topik: a. Tekture obyek serta Tekture koordinat NIM ganjil b. Teksture matrik serta Pencahayaan dan teksture NIM genap Makalah minimal 2 halaman A4 1 spasi, font: new time roman 12, tidak termasuk contoh program kumpulkan soft copy. Hasil dikumpulkan minggu depan 35/41

36 Modul 6 Tekstur II Program 1 /* membuat texture papan catur */ #include <GL/glut.h> #include <stdlib.h> #include <stdio.h> #ifdef GL_VERSION_1_1 #define checkimagewidth 64 #define checkimageheight 64 #define subimagewidth 16 #define subimageheight 16 static GLubyte checkimage[checkimageheight][checkimagewidth][4]; static GLubyte subimage[subimageheight][subimagewidth][4]; static GLuint texname; void makecheckimages(void) int i, j, c; for (i = 0; i < checkimageheight; i++) for (j = 0; j < checkimagewidth; j++) c = ((((i&0x8)==0)^((j&0x8))==0))*255; checkimage[i][j][0] = (GLubyte) c; checkimage[i][j][1] = (GLubyte) c; checkimage[i][j][2] = (GLubyte) c; checkimage[i][j][3] = (GLubyte) 255; for (i = 0; i < subimageheight; i++) for (j = 0; j < subimagewidth; j++) c = ((((i&0x4)==0)^((j&0x4))==0))*255; subimage[i][j][0] = (GLubyte) c; subimage[i][j][1] = (GLubyte) 0; subimage[i][j][2] = (GLubyte) 0; subimage[i][j][3] = (GLubyte) 255; void init(void) glclearcolor (0.0, 0.0, 0.0, 0.0); glshademodel(gl_flat); glenable(gl_depth_test); makecheckimages(); glpixelstorei(gl_unpack_alignment, 1); glgentextures(1, &texname); glbindtexture(gl_texture_2d, texname); gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_REPEAT); 36/41

37 gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_REPEAT); gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_NEAREST); gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glteximage2d(gl_texture_2d, 0, GL_RGBA, checkimagewidth, checkimageheight, 0, GL_RGBA, GL_UNSIGNED_BYTE, checkimage); void display(void) glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); glenable(gl_texture_2d); gltexenvf(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_DECAL); glbindtexture(gl_texture_2d, texname); glbegin(gl_quads); gltexcoord2f(0.0, 0.0); glvertex3f(-2.0, -1.0, 0.0); gltexcoord2f(0.0, 1.0); glvertex3f(-2.0, 1.0, 0.0); gltexcoord2f(1.0, 1.0); glvertex3f(0.0, 1.0, 0.0); gltexcoord2f(1.0, 0.0); glvertex3f(0.0, -1.0, 0.0); gltexcoord2f(0.0, 0.0); glvertex3f(1.0, -1.0, 0.0); gltexcoord2f(0.0, 1.0); glvertex3f(1.0, 1.0, 0.0); gltexcoord2f(1.0, 1.0); glvertex3f( , 1.0, ); gltexcoord2f(1.0, 0.0); glvertex3f( , -1.0, ); glend(); glflush(); gldisable(gl_texture_2d); void reshape(int w, int h) glviewport(0, 0, (GLsizei) w, (GLsizei) h); glmatrixmode(gl_projection); glloadidentity(); gluperspective(60.0, (GLfloat) w/(glfloat) h, 1.0, 30.0); glmatrixmode(gl_modelview); glloadidentity(); gltranslatef(0.0, 0.0, -3.6); void keyboard (unsigned char key, int x, int y switch (key) case 's': case 'S': glbindtexture(gl_texture_2d, texname); gltexsubimage2d(gl_texture_2d, 0, 12, 44, subimagewidth, subimageheight, GL_RGBA, GL_UNSIGNED_BYTE, subimage); glutpostredisplay(); 37/41

38 case 'r': case 'R': glbindtexture(gl_texture_2d, texname); glteximage2d(gl_texture_2d, 0, GL_RGBA, checkimagewidth, checkimageheight, 0, GL_RGBA, GL_UNSIGNED_BYTE, checkimage); glutpostredisplay(); case 27: exit(0); default: int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode(glut_single GLUT_RGB GLUT_DEPTH); glutinitwindowsize(250, 250); glutinitwindowposition(100, 100); glutcreatewindow(argv[0]); init(); glutdisplayfunc(display); glutreshapefunc(reshape); glutkeyboardfunc(keyboard); glutmainloop(); return 0; #else int main(int argc, char** argv) fprintf (stderr, "program didemontrasikan dengan OpenGL Versi 1.0.\n"); return 0; #endif Program 2 /* program menggambar texture teapot */ #include <GL/glut.h> #include <stdlib.h> #include <stdio.h> #define stripeimagewidth 32 GLubyte stripeimage[4*stripeimagewidth]; #ifdef GL_VERSION_1_1 static GLuint texname; #endif void makestripeimage(void) int j; for (j = 0; j < stripeimagewidth; j++) stripeimage[4*j] = (GLubyte) ((j<=4)? 255 : 0); stripeimage[4*j+1] = (GLubyte) ((j>4)? 255 : 0); stripeimage[4*j+2] = (GLubyte) 0; stripeimage[4*j+3] = (GLubyte) 255; 38/41

Gambar 1. Contoh tekstur makrostruktur

Gambar 1. Contoh tekstur makrostruktur No. : ST/EKA/PTI223/08 Revisi : 02 Senin 010510 Hal. 1 dari 14 hal. Pengantar Tekstur adalah tampilan permukaan (corak) dari suatu benda yang dapat dinilai dengan cara dilihat atau diraba. Pada prakteknya,

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER No. : ST/EKA/PTI275/05 Revisi : 02 1 P a g e A. Pendahuluan OpenGL akan melakukan komputasi warna setiap pixel di display akhir, ditampilkan adegan itu dilakukan di frame buffer. Bagian dari komputasi

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER No. : ST/EKA/PTI223/05 Revisi : 02 Senin 010409 Hal. 1 dari 8 hal. A. Pendahuluan OpenGL akan melakukan komputasi warna setiap pixel di display akhir, ditampilkan adegan itu dilakukan di frame buffer.

Lebih terperinci

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan A. Pendahuluan Review Praktikum sebelumnya Sebelum ke modul selanjutnya, perhatikan sintak dibawah ini Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan Perintah Arti Keterangan glvertex2i(x,y);

Lebih terperinci

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan No. : ST/EKA/PTI223/04 Revisi : 02 Senin 010210 Hal. 1 dari 8 hal. A. Pendahuluan Review Praktikum sebelumnya Sebelum ke modul selanjutnya, perhatikan sintak dibawah ini Tabel 1 Perintah-perintah OpenGL

Lebih terperinci

Modul 1 Primitif Drawing

Modul 1 Primitif Drawing Modul 1 Primitif Drawing I. Tugas Pendahuluan 1. Jelaskan tentang OpenGL! 2. Jelaskan tenteng ouput primitif dalam grafika computer! II. Tujuan Mahasiswa mampu membuat dan memanfaatkan output primitif

Lebih terperinci

Program 1 /* Menampilkan Bayangan sebuah obyek sumber file */

Program 1 /* Menampilkan Bayangan sebuah obyek sumber file  */ No. : ST/EKA/PTI223/10 Revisi : 01 Senin 010509 Hal. 1 dari 5 hal. Pengantar Untuk menghasilkan gambar yang realistik perlu memodelkan pencerminan dan pembiasan maupun memunculkan bayangan karena pengaruh

Lebih terperinci

Tutorial 09. Lighting

Tutorial 09. Lighting Tutorial 09. Lighting Visualisasi tentu saja tidak akan terjadi bila tidak ada cahaya. Pencahayaan merupakan esensi dari visualisasi dan merupakan topik yang sangat kompleks. Hingga tahap ini lingkungan

Lebih terperinci

Praktikum Komputer Grafik [MODUL] Genap 2012/2013. Laboratorium Multimedia 1/35

Praktikum Komputer Grafik [MODUL] Genap 2012/2013. Laboratorium Multimedia 1/35 Praktikum Komputer Grafik [MODUL] Genap 2012/2013 1/35 KONTRAK PRAKTIKUM Nama Mata Kuliah : Praktikum Komputer Grafik Kode Mata Praktikum : TIF121 SKS : 1 Mata Kuliah Prasyarat : - Dosen Penanggung Jawab

Lebih terperinci

Praktikum Komputer Grafik [MODUL] Genap 2013/2014. Laboratorium Multimedia 1/47

Praktikum Komputer Grafik [MODUL] Genap 2013/2014. Laboratorium Multimedia 1/47 Praktikum Komputer Grafik [MODUL] Genap 2013/2014 1/47 KONTRAK PRAKTIKUM Nama Mata Kuliah : Praktikum Komputer Grafik Kode Mata Praktikum : TIF121 SKS : 1 Mata Kuliah Prasyarat : - Dosen Penanggung Jawab

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER No. : ST/EKA/PTI223/06 Revisi : 02 Senin 010509 Hal. 1 dari 9 hal. Pengantar Fog adalah pengaruh atmospheric yang ditambahkan objek, sehingga akan terjadi kekaburan pada obyek yang tergantung seberapa

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER A. Pendahuluan Objek 3D pada open GL merupakan objek yang lebih hidup dibandingkan objek 2D. Namun permukaan objek 3D yang polos membuat 3D cenderung kurang menarik dan kaku. Untuk membuat objek yang lebih

Lebih terperinci

Topik bahasan: 1. Membuat objek mudah dan kompleks dengan jaring poligon 2. Merender jaring poligon sebagai wireframe dan atau pejal dengan OpenGL

Topik bahasan: 1. Membuat objek mudah dan kompleks dengan jaring poligon 2. Merender jaring poligon sebagai wireframe dan atau pejal dengan OpenGL Grafika-5 Pemodelan 3D dengan Jaring Poligon Tujuan Materi: Setelah mempelajari bab ini, Anda diharapkan dapat menjelaskan secara ringkas bagaimana membentuk objek 3D dengan jaring poligon (polygon meshes)

Lebih terperinci

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2015/2016. Lab TIA 1/59

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2015/2016. Lab TIA 1/59 Laboratorium Teknologi Informasi & Aplikasi Praktikum Komputer Grafik [MODUL] Genap 2015/2016 1/59 KONTRAK PRAKTIKUM Nama Mata Kuliah : Praktikum Komputer Grafik Kode Mata Praktikum : TIF121 SKS : 1 Mata

Lebih terperinci

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2014/2015. Lab TIA 1/58

Laboratorium Teknologi Informasi & Aplikasi. Praktikum Komputer Grafik [MODUL] Genap 2014/2015. Lab TIA 1/58 Laboratorium Teknologi Informasi & Aplikasi Praktikum Komputer Grafik [MODUL] Genap 2014/2015 1/58 KONTRAK PRAKTIKUM Nama Mata Kuliah : Praktikum Komputer Grafik Kode Mata Praktikum : TIF121 SKS : 1 Mata

Lebih terperinci

PETEMUAN KE-3 PRIMITIVE DRAWING 2

PETEMUAN KE-3 PRIMITIVE DRAWING 2 PETEMUAN KE-3 PRIMITIVE DRAWING 2 A.Tujuan 1. Dapat mengaplikasikan objek primitif dalam bentuk yang lain B. Dasar Teori Dalam praktikum sebelumnya anda diminta membuat titik garis, dan sebagainya. Dalam

Lebih terperinci

DAFTAR PUSTAKA. (diakses 1 maret 2016)

DAFTAR PUSTAKA. (diakses 1 maret 2016) DAFTAR PUSTAKA [1] http://www.surakarta.go.id/konten/bus-tingkat-werkudara# (diakses 28 februari 2016) [2] Anonim. www.opengl.org (diakses 1 maret 2016) [3] Haemel, Nicholas, et al. 2011. OpenGL super

Lebih terperinci

LAMPIRAN SOURCE CODE

LAMPIRAN SOURCE CODE DAFTAR PUSTAKA Anonim. www.opengl.org (diakses pada tanggal 01 Juli 2015). Fadlisyah, et al. 2007. Pengantar Grafika Komputer. Yogyakarta: Andi. Haemel, Nicholas, et al. 2011. OpenGL super bible : comprehensive

Lebih terperinci

Gambar 1. Viewport pada layar

Gambar 1. Viewport pada layar No. : ST/EKA/PTI223/03 Revisi : 03 Senin 010210 Hal. 1 dari 5 hal. A. Pendahuluan Transformasi adalah memindahkan objek tanpa merusak bentuk. Contoh transformasi adalah transisi, penskalaan, putaran/rotasi,

Lebih terperinci

apa yang terjadi?. Kemudian lakukan pengantian beberapa bagian seperti sintak

apa yang terjadi?. Kemudian lakukan pengantian beberapa bagian seperti sintak No. : ST/EKA/PTI223/02 Revisi : 02 Senin 010210 Hal. 1 dari 8 hal. A. Pendahuluan Dalam praktikum sebelumnya anda diminta membuat titik garis, dan sebagainya. Dalam praktikum hari ini lakukan penambahan

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM Pada bab ini akan dibahas implementasi bertujuan memastikan apakah aplikasi yang dibuat berjalan sesuai yang penulis harapakan. Sebelum program diimplementasikan

Lebih terperinci

PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing)

PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing) PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing) A.Tujuan 1. Dapat menggambar objek 3D 2. Dapat mentransformasikan objek 3D 3. Dapat menggunkan glviewport,glmodelview, glprojection, glfrustum B. Dasar Teori

Lebih terperinci

Tutorial 04 Modeling & Transformasi Proyeksi

Tutorial 04 Modeling & Transformasi Proyeksi Tutorial 04 Modeling & Transformasi Proyeksi Secara substansi, Grafika Komputer adalah proses transformasi dari model 3D obyek berupa informasi geometri bentuk, informasi pose, warna, texture, dan pencahayaan

Lebih terperinci

Gambar 1. Viewport pada layar

Gambar 1. Viewport pada layar No. : ST/EKA/PTI223/03 Revisi : 02 Hal. 1 dari 9 hal. A. Pendahuluan Transformasi adalah memindahkan objek tanpa merusak bentuk. Contoh transformasi adalah transisi, penskalaan, putaran/rotasi, balikan,

Lebih terperinci

/*Bismillahirrohmanirrohim _Fatimah_Rombel 2_Projek_Akhir_Komgraf*/ #include <stdio.h> #include <stdlib.h> #include <string.

/*Bismillahirrohmanirrohim _Fatimah_Rombel 2_Projek_Akhir_Komgraf*/ #include <stdio.h> #include <stdlib.h> #include <string. /*Bismillahirrohmanirrohim.. 5302413025_Fatimah_Rombel 2_Projek_Akhir_Komgraf*/ #include #include #include #include "SOIL.h" #include float z_pos = -5.0f; float

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Tahapan implementasi bertujuan untuk memastikan apakah aplikasi yang dibuat dapat bekerja secara efektif dan efisien sesuai dengan yang diharapkan. Sebelum

Lebih terperinci

Grafika Komputer. Evangs Mailoa

Grafika Komputer. Evangs Mailoa Grafika Komputer Evangs Mailoa Kumpulan polygon atau permukaan yang secara bersama-sama membentuk kulit dari suatu obyek. Dinyatakan dengan daftar poligon-poligon yang disertai dengan arah dari permukaan

Lebih terperinci

LAPORAN PRATIKUM KOMPUTER APLIKASI

LAPORAN PRATIKUM KOMPUTER APLIKASI LAPORAN PRATIKUM KELAS TI VI SORE D KOMPUTER APLIKASI Nama Nomor Pratikan Mahasiswa Ayu MayaSari 1214370278 Tanggal Kumpul Tanda Tangan Pratikan Nama Penilai Tanggal Nilai Tanda Tangan Koreksi Dosen Universitas

Lebih terperinci

Tutorial 06. Texture Mapping & Blending

Tutorial 06. Texture Mapping & Blending Tutorial 06. Texture Mapping & Blending Hingga tahap ini, geometric primitive digambar dengan warna solid atau warna hasil interpolasi warnawarna vertex-nya. Texture mapping memungkinkan untuk menaruh

Lebih terperinci

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL Pemrograman Grafis Pemrograman grafis adalah pemrograman yang digunakan untuk menghasilkan gambar pada komputer menggunakan library yang ada. Teknik-teknik

Lebih terperinci

Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL

Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL Pengenalan OpenGL OpenGL adalah suatu graphic library yang sebagian bersifat open source, dipakai pada banyak platform (windows, linux) dan dapat digunakan pada berbagai jenis compiler seperti C++ atau

Lebih terperinci

Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL

Pengenalan OpenGL. Sintax Perintah OpenGL. Library yang Berhubungan dengan OpenGL Pengenalan OpenGL OpenGL adalah suatu graphic library yang sebagian bersifat open source, dipakai pada banyak platform (windows, linux) dan dapat digunakan pada berbagai jenis compiler seperti C++ atau

Lebih terperinci

PENGANTAR GRAFIKA KOMPUTER

PENGANTAR GRAFIKA KOMPUTER PENGANTAR GRAFIKA KOMPUTER Achmad Basuki Nana Ramadijanti Achmad Basuki, Nana Ramadijanti - Laboratorium Computer Vision Politeknik Elektronika Negeri Surabaya (PENS-ITS) Materi Pengenalan grafika komputer

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER No. : ST/EKA/PTI223/10 Revisi : 03 Senin 170511 Hal. 1 dari 16 hal. Pengantar Media berasal dari bahasa latin yang merupakan bentuk jamak dari Medium yang secara harfiah berarti Perantara atau Pengantar

Lebih terperinci

Tutorial 08. Fog. mensimulasikan efek kabut membatasi ruang pandang pengguna agar komputasi grafis yang diperlukan dapat dibatasi.

Tutorial 08. Fog. mensimulasikan efek kabut membatasi ruang pandang pengguna agar komputasi grafis yang diperlukan dapat dibatasi. Tutorial 08. Fog Kabut/fog adalah salah satu fitur OpenGL lain yang sering digunakan pada banyak kesempatan. Kabut digunakan dalam banyak kesempatan, antara lain: mensimulasikan efek kabut membatasi ruang

Lebih terperinci

PRIMITIVE DRAWING. Achmad Basuki Nana Ramadijanti

PRIMITIVE DRAWING. Achmad Basuki Nana Ramadijanti PRIMITIVE DRAWING Achmad Basuki Nana Ramadijanti Materi Program Dasar dengan OpenGL Menggambar Titik Menggambar Garis Menggambar Polyline Menggambar Polygon Pewarnaan Struktur Dasar Program Grafik Dengan

Lebih terperinci

GRAFIK KOMPUTER & PENGOLAHAN CITRA

GRAFIK KOMPUTER & PENGOLAHAN CITRA GRAFIK KOMPUTER & PENGOLAHAN CITRA MEMBUAT GARIS MENGGUNAKAN OPENGL NAMA : ADRY FITRA AZHAR SIREGAR NPM : 10114361 KELAS : 3KA26 UNIVERSITAS GUNADARMA SISTEM INFORMASI PTA 2016 / 2017 PENGENALAN OPENGL

Lebih terperinci

TRANSFORMASI. Tujuan transfomasi adalah:

TRANSFORMASI. Tujuan transfomasi adalah: TRANSFORMASI Grafika komputer merupakan bidang yang menarik minat banyak orang. Salah sub bagian dari grafika komputer adalah pemodelan objek (object modelling). Dalam pemodelan objek dua dimensi (2D),didapati

Lebih terperinci

TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA

TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA NAMA : HERU SANJAYA NPM : 39110387 KELAS : 2DB23 Gambar dibawah ini adalah tampilan awal Code Blocks. Setelah itu, pilih menu Settings Compiler and Debugger.

Lebih terperinci

DIAN PRATIWI. ST, MTI

DIAN PRATIWI. ST, MTI DIAN PRATIWI. ST, MTI PEMROGRAMAN GRAFIKA KOMPUTER BERBASIS OPENGL Diterbitkan melalui Nida Dwi Karya Publishing PEMROGRAMAN GRAFIKA KOMPUTER BERBASIS OPENGL Oleh: Dian Pratiwi, ST, MTI Copyright 2015

Lebih terperinci

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS 2012 Created by: Gideon Tutorial Open GL untuk membuat garis dengan program Microsoft Visual Studio Express 2012 OpenGL dengan Microsoft Visual Express 2012

Lebih terperinci

Transformasi Obyek (Lanjutan)

Transformasi Obyek (Lanjutan) Transformasi Obek (Lanjutan) Grafika Komputer Semester Ganjil 28 Teknik Informatika ITS Ann Yuniarti - 28 Kompetensi. Mampu memahami konsep transformasi 3D 2. Mampu mengimplementasikan konsep transformasi

Lebih terperinci

PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON

PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON Ina Agustina, Agus Iskandar Jurusan Sistem Informasi, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional Jl. Sawo Manila, Pejaten Pasar

Lebih terperinci

EC5130 Grafika Komputer dan Pemrograman GPU

EC5130 Grafika Komputer dan Pemrograman GPU EC5130 Grafika Komputer dan Pemrograman GPU Suplemen Diktat Kuliah OpenGL Tutorial dengan GLUT: Fixed Pipeline Ary Setijadi Prihatmanto Sekolah Teknik Elektro & Informatika Institut Teknologi Bandung 2007

Lebih terperinci

PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL

PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL Ina Agustina, Fauziah Jurusan Sistem Informasi Universitas Nasional Jl. Sawo Manila No.61 Pasar Minggu E-Mail : ina_agustina2007@yahoo.com, fauziah_z2@yahoo.com

Lebih terperinci

BAB I PENGENALAN OPENGL

BAB I PENGENALAN OPENGL BAB I PENGENALAN OPENGL A. TUJUAN a. Mampu melakukan konfigurasi Library opengl di Visual Studio 2008 b. Mampu memahami inisialisasi fungsi opengl c. Mampu membuat objek dasar dengan fungsi opengl B. MATERI

Lebih terperinci

Modul 6 Interaksi dengan Keyboard dan Mouse

Modul 6 Interaksi dengan Keyboard dan Mouse Modul 6 Interaksi dengan Keyboard dan Mouse A. KOMPETENSI DASAR Memahami prinsip-prinsip deteksi input berupa interaksi dari keyboard. Membuat objek 2D yang dikendalikan dengan keyboard. Memahami prinsip-prinsip

Lebih terperinci

LAPORAN PRAKTIKUM KOMPUTER GRAFIK

LAPORAN PRAKTIKUM KOMPUTER GRAFIK LAPORAN PRAKTIKUM KOMPUTER GRAFIK KELAS TI4C SORE NAMA PRAKTIKAN Mulia Hamonangan Tambunan NOMOR TANGGAL TANDA TANGAN MAHASISWA KUMPUL PRAKTIKAN 1214370473 NAMA PENILAI TANGGAL KOREKSI NILAI TANDA TANGAN

Lebih terperinci

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar 2 dimensi. Penggunaan aplikasi pengolah grafis 3D

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar 2 dimensi. Penggunaan aplikasi pengolah grafis 3D Matakuliah : Komputer Grafik Dosen : Yonathan Ferry Hendrawan ThAkad : 2013-2014 Semester : Genap (empat) Prodi : S1 Teknik Informatika KONTRAK KULIAH 1. Manfaat Matakuliah Dengan mengambil mata kuliah

Lebih terperinci

ALGORITMA PERPOTONGAN OBJEK

ALGORITMA PERPOTONGAN OBJEK ALGORITMA PERPOTONGAN OBJEK Ina Agustina, Fauziah Jurusan Sistem Informasi, Fakultas Teknologi Komunikasi dan Informatika, Universitas Nasional Jl. Sawo Manila, Pejaten Pasar Minggu No.61, Jakarta 12520

Lebih terperinci

BAB I Pengantar Animasi

BAB I Pengantar Animasi BAB I Pengantar Animasi A. Pengertian Animasi Animasi adalah sebuah proses merekam dan memainkan kembali serangkaian gambar statis untuk mendapatkan sebuah ilusi pergerakan ( Ibiz Fernandez McGraw - Hill/

Lebih terperinci

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar dan interaksi 2 dimensi

TIU: Mahasiswa mampu menghasilkan aplikasi Komputer Grafik sederhana. Pemrograman OpenGL API dasar dan interaksi 2 dimensi Matakuliah : Komputer Grafik Dosen : Yonathan Ferry Hendrawan ThAkad : 2014-2015 Semester : Genap (empat) Prodi : S1 Teknik Informatika KONTRAK KULIAH 1. Manfaat Matakuliah Dengan mengambil mata kuliah

Lebih terperinci

PENGOLAHAN CITRA DIGITAL

PENGOLAHAN CITRA DIGITAL PENGOLAHAN CITRA DIGITAL Aditya Wikan Mahastama mahas@ukdw.ac.id Sistem Optik dan Proses Akuisisi Citra Digital 2 UNIV KRISTEN DUTA WACANA GENAP 1213 v2 Bisa dilihat pada slide berikut. SISTEM OPTIK MANUSIA

Lebih terperinci

BAB 2 DASAR TEORI. Pada bagian ini akan dibahas tentang teori dasar dari grafika komputer, yang

BAB 2 DASAR TEORI. Pada bagian ini akan dibahas tentang teori dasar dari grafika komputer, yang BAB 2 DASAR TEORI 2.1 Teori Dasar Grafika Komputer Pada bagian ini akan dibahas tentang teori dasar dari grafika komputer, yang akan digunakan dalam pembahasan teknik environment mapping. 2.1.1 Sistem

Lebih terperinci

PENCAHAYAAN (LIGHTING)

PENCAHAYAAN (LIGHTING) PENCAHAYAAN (LIGHTING) S1 Tekinik Informatika 1 Model Pencahayaan Tujuan pencahayaan dalam grafika komputer adalah untuk menghasilkan tampilan senyata mungkin Model pencahayaan secara matematika harus

Lebih terperinci

Grafika Komputer. Pendahuluan. Dr. Ahmad Sabri Universitas Gunadarma

Grafika Komputer. Pendahuluan. Dr. Ahmad Sabri Universitas Gunadarma Grafika Komputer Pendahuluan Dr. Ahmad Sabri Universitas Gunadarma Ruang lingkup Perangkat Gambar Disiplin ilmu Grafik Komputer Gambar Grafik komputer adalah gambar yang dihasilkan oleh komputer. Natural

Lebih terperinci

ANALISA TEKNIK CUBE MAPPING BERBASIS OPENGL

ANALISA TEKNIK CUBE MAPPING BERBASIS OPENGL ANALISA TEKNIK CUBE MAPPING BERBASIS OPENGL Yohan Angjaya A11.2006.02722 Program Studi Ilmu Komputer Universitas Dian Nuswantoro Semarang ABSTRAK Tulisan ini berisi tentang analisa Cube Mapping berbasis

Lebih terperinci

Sistem Koordinat 3D. +y +y

Sistem Koordinat 3D. +y +y Pendahuluan Grafika Komputer dalam aplikasinya terbagi menjadi 2 : Grafika 2D Grafika 3D Aplikasi 2D banyak dipakai dalam pembuatan grafik, peta, kreasi 2D yang banyak membantu pemakai dalam membuat visualisasi.

Lebih terperinci

Sistem Multimedia. Image. Donny Reza, S.Kom

Sistem Multimedia. Image. Donny Reza, S.Kom Sistem Multimedia Image Donny Reza, S.Kom Image/Citra Image: representasi grafis dan visual dari suatu informasi yang dapat ditampilkan dalam layar komputer atau dicetak Berbagai bentuk image: Foto Gambar

Lebih terperinci

C. METODE PEMBELAJARAN Model : Pembelajaran Langsung (Direct Instruction/DI) Strategi : - Penjelasan - Demonstrasi

C. METODE PEMBELAJARAN Model : Pembelajaran Langsung (Direct Instruction/DI) Strategi : - Penjelasan - Demonstrasi RENCANA PELAKSANAAN PEMBELAJARAN (RPP) Nama Sekolah :... Mata Pelajaran : Teknologi Informasi dan Komunikasi Kelas / Semester : 12 / Ganjil Pertemuan Ke : 1 dan 2 Alokasi Waktu : 4 x 40 menit Standart

Lebih terperinci

PEMBUATAN PERANGKAT LUNAK UNTUK MEMVISUALISASIKAN BENDA TEMBUS PANDANG DENGAN METODE RAY TRACING

PEMBUATAN PERANGKAT LUNAK UNTUK MEMVISUALISASIKAN BENDA TEMBUS PANDANG DENGAN METODE RAY TRACING PEMBUATAN PERANGKAT LUNAK UNTUK MEMVISUALISASIKAN BENDA TEMBUS PANDANG (Liliana) PEMBUATAN PERANGKAT LUNAK UNTUK MEMVISUALISASIKAN BENDA TEMBUS PANDANG DENGAN METODE RAY TRACING Liliana Fakultas Teknologi

Lebih terperinci

Pembentukan Citra. Bab Model Citra

Pembentukan Citra. Bab Model Citra Bab 2 Pembentukan Citra C itra ada dua macam: citra kontinu dan citra diskrit. Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra diskrit

Lebih terperinci

Pembuatan Simulasi Pergerakan Objek 3D (Tiga Dimensi) Menggunakan OpenGL

Pembuatan Simulasi Pergerakan Objek 3D (Tiga Dimensi) Menggunakan OpenGL 1 Pembuatan Simulasi Pergerakan Objek 3D (Tiga Dimensi) Menggunakan OpenGL Deddy Suhardiman, S.T.G. Kaunang, Rizal Sengkey, Arthur M. Rumagit Jurusan Teknik Elektro-FT, UNSRAT, Manado-95115, Email: deddy050213024@gmail.com

Lebih terperinci

TEKSTUR, GAMBAR, DAN IMAGE ADJUSTMENT

TEKSTUR, GAMBAR, DAN IMAGE ADJUSTMENT TEKSTUR, GAMBAR, DAN IMAGE ADJUSTMENT Prodi D3 Manajemen Informatika WIU RHN TFN RYD Teksture Tekstur adalah 1. Kualitas tertentu suatu permukaan yang timbul sebagai akibat dari struktur 3 dimensi 2. Merupakan

Lebih terperinci

Primitive Drawing. Achmad Basuki Nana Ramadijanti

Primitive Drawing. Achmad Basuki Nana Ramadijanti Primitive Drawing Achmad Basuki Nana Ramadijanti Achmad Basuki, Nana Ramadijanti - Laboratorium Computer Vision Politeknik Elektronika Negeri Surabaya (PENS-ITS) Materi Sistem Koordinat 2 Dimensi Menggambar

Lebih terperinci

Pengantar Grafika Komputer

Pengantar Grafika Komputer Kompetensi dan Referensi Pengantar Grafika Komputer G R A F I K A K O M P U T E R / P T I 2 7 5 /PENDIDIKAN TEKNIK INFORMATIKA/2 SKS Kompetensi Mahasiswa dapat merancang dan membangun sebuah aplikasi Grafika

Lebih terperinci

BAB 2 TINJAUAN TEORETIS

BAB 2 TINJAUAN TEORETIS BAB 2 TINJAUAN TEORETIS 2. Citra Digital Menurut kamus Webster, citra adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda. Citra digital adalah representasi dari citra dua dimensi

Lebih terperinci

EFEK PENGUMPULAN CAHAYA BIAS PADA OBYEK TRANSPARAN 3D MENGGUNAKAN METODE BACKWARD RAY TRACING DAN PHOTON MAPPING. Liza Setyaning Pertiwi 1 ABSTRAK

EFEK PENGUMPULAN CAHAYA BIAS PADA OBYEK TRANSPARAN 3D MENGGUNAKAN METODE BACKWARD RAY TRACING DAN PHOTON MAPPING. Liza Setyaning Pertiwi 1 ABSTRAK EFEK PENGUMPULAN CAHAYA BIAS PADA OBYEK TRANSPARAN 3D MENGGUNAKAN METODE BACKWARD RAY TRACING DAN PHOTON MAPPING Liza Setyaning Pertiwi 1 ABSTRAK Penelitian ini merancang suatu perangkat lunak yang mampu

Lebih terperinci

Bab 3 Metode dan Perancangan Sistem 3.1 Metode Pengembangan Sistem

Bab 3 Metode dan Perancangan Sistem 3.1 Metode Pengembangan Sistem Bab 3 Metode dan Perancangan Sistem 3.1 Metode Pengembangan Sistem Metode yang digunakan untuk pengembangan sistem dalam penelitian ini adalah model proses Prototype. Model prototype (Prototyping model)

Lebih terperinci

MODUL 7 OBJEK 3D A. KOMPETENSI DASAR

MODUL 7 OBJEK 3D A. KOMPETENSI DASAR MODUL 7 OBJEK 3D A. KOMPETENSI DASAR Memahami Inisialisasi dunia 3D Memahami Object 3D (Wired). Memahami dasar menampilkan susunan objek 3D. B. ALOKASI WAKTU 4 js (4x50 menit) C. PETUNJUK Awali setiap

Lebih terperinci

Ray Tracing S1 Teknik Informatika

Ray Tracing S1 Teknik Informatika Ray Tracing S1 Teknik Informatika 1 Definisi Ray tracing adalah salah satu dari banyak teknik yang ada untuk membuat gambar dengan komputer. Ide dibalik ray tracing adalah bahwa gambar yang benar secara

Lebih terperinci

CEG4B3. Randy E. Saputra, ST. MT.

CEG4B3. Randy E. Saputra, ST. MT. CEG4B3 Randy E. Saputra, ST. MT. Jenis Graphics Multimedia Bitmap Graphics Lebih cocok untuk citra foto yang membutuhkan variasi warna yang kompleks Vector Graphics Lebih cocok untuk ilustrasi yang membutuhkan

Lebih terperinci

Modul 2 Primitive Objects

Modul 2 Primitive Objects Modul 2 Primitive Objects A. KOMPETENSI DASAR Memahami jenis-jenis primitive objects. Memahami dan dapat membuat objek primitif. Memahami penerapan Objek primitif menjadi bangun 2 dimensi dasar. Memahami

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Dengan perkembangan komputer dan alat pengambilan gambar secara digital yang semakin berkembang saat ini, sehingga menghasilkan banyak fasilitas untuk melakukan proses

Lebih terperinci

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL

BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL BAB II TEORI DASAR PENGOLAHAN CITRA DIGITAL 2.1 Citra Secara harafiah, citra adalah representasi (gambaran), kemiripan, atau imitasi pada bidang dari suatu objek. Ditinjau dari sudut pandang matematis,

Lebih terperinci

Model Citra (bag. 2)

Model Citra (bag. 2) Model Citra (bag. 2) Ade Sarah H., M. Kom Resolusi Resolusi terdiri dari 2 jenis yaitu: 1. Resolusi spasial 2. Resolusi kecemerlangan Resolusi spasial adalah ukuran halus atau kasarnya pembagian kisi-kisi

Lebih terperinci

PENGANTAR APLIKASI KOMPUTER

PENGANTAR APLIKASI KOMPUTER Perangkat yang digunakan untuk memasukkan data atau memberikan perintah kepada komputer untuk melakukan suatu proses. Komputer hanya dapat menerima data atau perintah dalam bentuk sinyal listrik digital.

Lebih terperinci

BAHAN AJAR. GRAFIKA KOMPUTER MMS 2604 / 3 sks

BAHAN AJAR. GRAFIKA KOMPUTER MMS 2604 / 3 sks BAHAN AJAR GRAFIKA KOMPUTER MMS 264 / 3 sks Disusun Oleh : DRS. JANOE HENDARTO MKOM. Program Studi Ilmu Komputer Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Gadjah Mada

Lebih terperinci

BAB 3 PERANCANGAN SISTEM. mendapatkan input, melakukan proses, dan menghasilkan output yang diinginkan oleh

BAB 3 PERANCANGAN SISTEM. mendapatkan input, melakukan proses, dan menghasilkan output yang diinginkan oleh 23 BAB 3 PERANCANGAN SISTEM 3.1 Rancangan Perangkat Keras Perangkat keras yang digunakan dalam sistem kali ini berupa rancangan untuk mendapatkan input, melakukan proses, dan menghasilkan output yang diinginkan

Lebih terperinci

Pendahuluan 9/7/2011. Overview. Deskripsi

Pendahuluan 9/7/2011. Overview. Deskripsi Pertemuan : I Dosen Pembina : Sriyani Violina Danang Junaedi Pendahuluan Overview Deskripsi Tujuan Instruksional Kaitan Materi Urutan Bahasan Penilaian Grade Referensi 2 Deskripsi Tujuan Instruksional

Lebih terperinci

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI. GRAFIK KOMPUTER DAN PENGOLAHAN CITRA WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 8 - GRAFKOM DAN PENGOLAHAN CITRA Konsep Dasar Pengolahan Citra Pengertian Citra Analog/Continue dan Digital. Elemen-elemen Citra

Lebih terperinci

BAB II PRIMITIF GRAFIK

BAB II PRIMITIF GRAFIK BAB II PRIMITIF GRAFIK 2.1 ELEMEN GAMBAR UNTUK MENCIPTAKAN GAMBAR DALAM KOMPUTER Penghasilan citra pada grafika komputer menggunakan primitif grafik dasar. Primitif ini memudahkan untuk merender (menggambar

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA II.1. Perancangan Perancangan adalah aktifitas kreatif menuju sesuatu yang baru dan berguna yang tidak ada sebelumnya. Menurut Al-Bahra (2005 : 51), Perancangan adalah suatu kegiatan

Lebih terperinci

Pengantar Pengolahan Citra. Ade Sarah H., M. Kom

Pengantar Pengolahan Citra. Ade Sarah H., M. Kom Pengantar Pengolahan Citra Ade Sarah H., M. Kom Pendahuluan Data atau Informasi terdiri dari: teks, gambar, audio, dan video. Citra = gambar adalah salah satu komponen multimedia yang memegang peranan

Lebih terperinci

BAB II CITRA DIGITAL

BAB II CITRA DIGITAL BAB II CITRA DIGITAL DEFINISI CITRA Citra adalah suatu representasi(gambaran),kemiripan,atau imitasi dari suatu objek. DEFINISI CITRA ANALOG Citra analog adalahcitra yang bersifat kontinu,seperti gambar

Lebih terperinci

Berikut ini contoh jenis-jenis peripheral dengan berbagai tugasnya:

Berikut ini contoh jenis-jenis peripheral dengan berbagai tugasnya: Peripheral Komputer Peripheral merupakan semua peralatan yang terhubung dengan komputer. Berdasarkan kegunaannya periferal terbagi dua yaitu: 1. Peripheral utama (main peripheral) yaitu peralatan yang

Lebih terperinci

Grafik Komputer : KONSEP DASAR

Grafik Komputer : KONSEP DASAR Grafik Komputer : KONSEP DASAR Universitas Gunadarma 2006 Grafik Komputer : Konsep Dasar 1/14 Kegiatan yang Terkait dengan Grafik Komputer Pemodelan geometris: menciptakan model matematika dari objek-objek

Lebih terperinci

10/10/2017. Teknologi Display SISTEM KOORDINAT DAN BENTUK DASAR GEOMETRI (OUTPUT PRIMITIF) CRT CRT. Raster Scan Display

10/10/2017. Teknologi Display SISTEM KOORDINAT DAN BENTUK DASAR GEOMETRI (OUTPUT PRIMITIF) CRT CRT. Raster Scan Display 1 2 SISTEM KOORDINAT DAN BENTUK DASAR GEOMETRI (OUTPUT PRIMITIF) Teknologi Display Cathode Ray Tubes (CRT) Liquid Crystal Display (LCD) 3 4 CRT Elektron ditembakkan dari satu atau lebih electron gun Kemudian

Lebih terperinci

BAB III TINJAUAN PUSTAKA. penjelasan-penjelasan mendetail beserta sumber-sumber teoritis yang berkaitan

BAB III TINJAUAN PUSTAKA. penjelasan-penjelasan mendetail beserta sumber-sumber teoritis yang berkaitan BAB III TINJAUAN PUSTAKA Dalam Bab III, Tinjauan Pustaka, penulis akan menerangkan tentang penjelasan-penjelasan mendetail beserta sumber-sumber teoritis yang berkaitan dengan pembuatan design 3D interior

Lebih terperinci

BAB III PERANCANGAN SISTEM. Pada dewasa sekarang ini sangat banyak terdapat sistem dimana sistem tersebut

BAB III PERANCANGAN SISTEM. Pada dewasa sekarang ini sangat banyak terdapat sistem dimana sistem tersebut BAB III PERANCANGAN SISTEM 3.1 Definisi Masalah Pada dewasa sekarang ini sangat banyak terdapat sistem dimana sistem tersebut sudah terintegrasi dengan komputer, dengan terintegrasinya sistem tersebut

Lebih terperinci

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI.

GRAFIK KOMPUTER DAN PENGOLAHAN CITRA. WAHYU PRATAMA, S.Kom., MMSI. GRAFIK KOMPUTER DAN PENGOLAHAN CITRA WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 3 - GRAFKOM DAN PENGOLAHAN CITRA Output Primitive dan Atributnya Pengenalan Titik dan Garis. Atribut Output Primitive: Line Attributes,

Lebih terperinci

3D STUDIO MAX. Setting awal 3D Studio Max 9

3D STUDIO MAX. Setting awal 3D Studio Max 9 3D STUDIO MAX Setting awal 3D Studio Max 9 1. Untuk kerja yang leluasa, aturlah resolusi desktop windows anda setinggi mungkin di Control Panel Display. Disarankan menggunakan monitor 17 atau lebih besar.

Lebih terperinci

Tipe dan Jenis Layar Komputer Grafik. By Ocvita Ardhiani.

Tipe dan Jenis Layar Komputer Grafik. By Ocvita Ardhiani. Tipe dan Jenis Layar Komputer Grafik By Ocvita Ardhiani. PENGERTIAN GRAFIKA KOMPUTER Grafika komputer adalah bidang dari komputasi visual dimana penggunaan komputer akan menghasilkan gambar visual secara

Lebih terperinci

Intensitas cahaya ditangkap oleh diagram iris dan diteruskan ke bagian retina mata.

Intensitas cahaya ditangkap oleh diagram iris dan diteruskan ke bagian retina mata. Pembentukan Citra oleh Sensor Mata Intensitas cahaya ditangkap oleh diagram iris dan diteruskan ke bagian retina mata. Bayangan obyek pada retina mata dibentuk dengan mengikuti konsep sistem optik dimana

Lebih terperinci

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat. Computer Graphics C Version 2 Ed by Donald Hearn

Computer Graphic. Output Primitif dan Algoritma Garis. Erwin Yudi Hidayat. Computer Graphics C Version 2 Ed by Donald Hearn Computer Graphic Output Primitif dan Algoritma Garis Erwin Yudi Hidayat erwin@dsn.dinus.ac.id Computer Graphics C Version 2 Ed by Donald Hearn Addison Wesley is an imprint of erwin@dsn.dinus.ac.id CG -

Lebih terperinci

BAB 1. PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Tujuan

BAB 1. PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Tujuan BAB 1. PENDAHULUAN 1.1 Latar Belakang Sering kita jumpai dalam kehidupan sehari-hari dalam penyajian data menggunakan bentuk grafik. Grafik sering juga disebut sebagai diagram, bagan, maupun chart. Pada

Lebih terperinci

Saat ini saya di minta untuk membuat garis vertikal, horizontal dan diagonal dengan OpenGL.

Saat ini saya di minta untuk membuat garis vertikal, horizontal dan diagonal dengan OpenGL. Nama: Ridho Febrian Deri Kelas: 3Ka32 Npm: 16111141 Saat ini saya di minta untuk membuat garis vertikal, horizontal dan diagonal dengan OpenGL. Langsung saja saya jelaskan cara-caranya. Pengertian OpenGL:

Lebih terperinci

Adobe Photoshop CS3. Bagian 2 Bekerja dalam Photoshop

Adobe Photoshop CS3. Bagian 2 Bekerja dalam Photoshop Adobe Photoshop CS3 Bagian 2 Bekerja dalam Photoshop Mengapa Photoshop? Adobe Photoshop adalah perangkat lunak yang menjadi standar dalam industri digital imaging. Sekarang, memiliki keahlian dalam menggunakan

Lebih terperinci

Pewarnaan dan Perputaran Polygon Untuk Objek Gambar Segi Tiga dan Segi Empat Menggunakan Program OPENGL 32

Pewarnaan dan Perputaran Polygon Untuk Objek Gambar Segi Tiga dan Segi Empat Menggunakan Program OPENGL 32 Pewarnaan dan Perputaran Polygon Untuk Objek Gambar Segi Tiga dan Segi Empat Menggunakan Program OPENGL 32 Aqwam Rosadi Kardian, Bheta Agus Wardijono STMIK JAKARTA STI&K aqwam@stmik-jakarta.ac.id, bheta@jak-stik.ac.id

Lebih terperinci

Produksi Media PR Audio-Visual

Produksi Media PR Audio-Visual Modul ke: Produksi Media PR Audio-Visual Pencahayaan Kamera Fakultas FIKOM Eppstian Syah As ari Program Studi Broadcasting http://www.mercubuana.ac.id PENCAHAYAAN KAMERA SIFAT DASAR CAHAYA 1. Cahaya dapat

Lebih terperinci