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

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

Modul 1 Primitif Drawing

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

Tutorial 06. Texture Mapping & Blending

Tutorial 09. Lighting

Gambar 1. Contoh tekstur makrostruktur

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

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

Tutorial 04 Modeling & Transformasi Proyeksi

Grafika Komputer. Evangs Mailoa

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

DAFTAR PUSTAKA. (diakses 1 maret 2016)

LAMPIRAN SOURCE CODE

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

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

PRIMITIVE DRAWING. Achmad Basuki Nana Ramadijanti

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

Gambar 1. Viewport pada layar

Gambar 1. Viewport pada layar

PETEMUAN KE-3 PRIMITIVE DRAWING 2

BAB IV IMPLEMENTASI DAN PENGUJIAN

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

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

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

LAPORAN PRAKTIKUM KOMPUTER GRAFIK

PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing)

BAB I PENGENALAN OPENGL

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

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon

TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA

EC5130 Grafika Komputer dan Pemrograman GPU

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

TRANSFORMASI. Tujuan transfomasi adalah:

PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

PENGANTAR GRAFIKA KOMPUTER

ANALISA TEKNIK CUBE MAPPING BERBASIS OPENGL

Tipe Data, Variabel, Input/Output

BAB IV TOOLS UNTUK MENGGAMBAR (WINDOW DAN VIEWPORT)

ALGORITMA PERPOTONGAN OBJEK

PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL

Pemrograman I Bab V Percabangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Primitive Drawing. Achmad Basuki Nana Ramadijanti

Transformasi Obyek (Lanjutan)

TEKNOLOGI AUGMENTED REALITY

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

C++ Mathematic Functions

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

A. TUJUAN PEMBELAJARAN

Algoritma dan Struktur Data. Ramos Somya

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Pemrograman Dasar C. Minggu 6

P06 Pointer dan Fungsi

Perulangan, Percabangan, dan Studi Kasus

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

TUGAS TEORI ALGO LANJUT

Bahasa C-M6 By Jamilah, Skom 1

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

PRAKTIKUM KONSEP PEMROGRAMAN MATERI DECISION DWI SETIYA NINGSIH. November 16, Page 1 of 16 PRAKTIKUM KONSEP PEMROGRAMAN MATERI

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Algoritme dan Pemrograman

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Fungsi : Dasar Fungsi

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

TUGAS MATA KULIAH ALGORITMA PEMROGRAMAN 3

Fungsi, Parameter, Rekursi

FILE INPUT/OUTPUT. Overview

AHMAD JURNAIDI WAHIDIN

PRAKTIKUM 6 PENGULANGAN PROSES 2

LAPORAN PRATIKUM KOMPUTER APLIKASI

Achmad Solichin.

P00 Perintah Dasar dalam Linux

Kurikulum Qt. Chapter 4 Function. Fungsi

Pertemuan 6. Pemrograman Modular

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

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

MI, KA-D3, SIA, SIB. ADI, S.Kom.

PENGENALAN BAHASA C DAN C++

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

BAB 4 PENGENALAN BAHASA C

Modul 4 Kondisional/Pencabangan If - Else

C Programming (re-view)

Modul 6 Interaksi dengan Keyboard dan Mouse

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

printf (" ======== Program untuk memilih nama bulan dalam setahun ======== \n \n");

Algoritma dan Struktur Data Tahar Agastani Teknik Informatika UIN

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

BAHASA PEMROGRAMAN C

Fungsi DASAR PEMROGRAMAN

Perulangan 2 DASAR PEMROGRAMAN

Pemrograman I Bab VI Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

VARIABEL & TIPE DATA PEMROGRAMAN C++

Transkripsi:

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 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 /* Menampilkan Bayangan sebuah obyek sumber file http://www.devmaster.net. */ #include <math.h> #include <stdio.h> #include <stdlib.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 void draw() glutsolidteapot(30.0); //membuat proyeksi bayangan void glshadowprojection(float * l, float * e, float * n) float d, c; float mat[16];

No. : ST/EKA/PTI223/10 Revisi : 01 Senin 010509 Hal. 2 dari 5 hal. 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; // membuat matrik. OpenGL menggunakan kolom matrik mat[0] = l[0]*n[0]+c; 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; // kalikan matrik glmultmatrixf(mat); /* * render */ 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);

No. : ST/EKA/PTI223/10 Revisi : 01 Senin 010509 Hal. 3 dari 5 hal. 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(-1300.0,e[1]-0.1, 1300.0); glvertex3f( 1300.0,e[1]-0.1, 1300.0); glvertex3f( 1300.0,e[1]-0.1,-1300.0); glvertex3f(-1300.0,e[1]-0.1,-1300.0); 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 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) if ( c==27 ) exit(0); else if ( c=='s' ) l[1]-=5.0;

No. : ST/EKA/PTI223/10 Revisi : 01 Senin 010509 Hal. 4 dari 5 hal. else if ( c=='w' ) l[1]+=5.0; else if ( c=='a' ) l[0]-=5.0; else if ( c=='d' ) l[0]+=5.0; else if ( c=='q' ) l[2]-=5.0; else if ( c=='e' ) l[2]+=5.0; else if ( c=='?' ) help(); void help() printf("================================================== \n"); printf("proyeksi contoh bayangan sebuah obyek teapot \n"); printf("---------------------------------------------------------------- \n"); printf("s/w memindahkan sumber cahaya naik/turun \n"); printf("a/d memindahkan sumber cahaya kekanan/kekiri \n"); printf("q/e memindahkan sumber cahaya kedepan atau kebelakang\n"); printf("? ini adalah contoh\n"); printf("================================================== \n"); void idle() rx+=0.4; ry+=0.7; render(); void resize(int w, int h) glviewport(0, 0, w, h); int main(int argc, char * 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);

No. : ST/EKA/PTI223/10 Revisi : 01 Senin 010509 Hal. 5 dari 5 hal. glenable(gl_normalize); glenable(gl_lighting); glenable(gl_color_material); glenable(gl_depth_test); glenable(gl_light0); 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, -150.0); help(); 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. Buatlah sebuah program yang menampilkan bayangan sebuah obyek benda yang berbeda dengan program diatas disertai pencahayaan. 4. Buatlah gambar tabung dilengkapi dengan bayangan dengan sudut 45 disertai pengkabutan dengan ketebalan 40% Hasil dikumpulkan langsung