Tutorial 09. Lighting

dokumen-dokumen yang mirip
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

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

Tabel 1 Perintah-perintah OpenGL yang telah dipraktekan

LAMPIRAN SOURCE CODE

Gambar 1. Viewport pada layar

DAFTAR PUSTAKA. (diakses 1 maret 2016)

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

PETEMUAN KE-5 TRANSFORMASI-PANDANGAN (Viewing)

Gambar 1. Viewport pada layar

Modul 1 Primitif Drawing

Gambar 1. Contoh tekstur makrostruktur

PETEMUAN KE-3 PRIMITIVE DRAWING 2

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

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

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

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

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

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

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

Grafika Komputer. Evangs Mailoa

Tutorial 04 Modeling & Transformasi Proyeksi

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

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

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

Tutorial 06. Texture Mapping & Blending

BAB II LINGKUNGAN PEMROGRAMAN GRAFIK DENGAN OPEN GL

PENGANTAR GRAFIKA KOMPUTER

TUGAS PENGANTAR GRAFIK KOMPUTER DAN OLAH CITRA

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

PERANCANGAN POLIHEDRA DENGAN METODE JARING POLIGON

BAB IV IMPLEMENTASI DAN PENGUJIAN

TRANSFORMASI. Tujuan transfomasi adalah:

PRIMITIVE DRAWING. Achmad Basuki Nana Ramadijanti

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

OPENGL DALAM MICROSOFT VISUAL STUDIO EXPRESS Created by: Gideon

EC5130 Grafika Komputer dan Pemrograman GPU

ALGORITMA PERPOTONGAN OBJEK

LAPORAN PRAKTIKUM KOMPUTER GRAFIK

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

BAB I PENGENALAN OPENGL

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

PEMBENTUKAN TRANSFORMASI OBJEK 2 DIMENSI DENGAN OPENGL

Perulangan, Percabangan, dan Studi Kasus

TEKNOLOGI AUGMENTED REALITY

LAPORAN PRATIKUM KOMPUTER APLIKASI

Transformasi Obyek (Lanjutan)

//Kelas ini berisi data yang hendak disimpan ke dalam database

Transformasi Obyek (Kasus 2D)

PENCAHAYAAN (LIGHTING)

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

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

Struct Lanjutan: Studi Kasus

[2] PENCAHAYAAN (LIGHTING)

Tipe Data, Identifier, Operator dan Control Statement

Tipe Data, Variabel, Input/Output

ANALISA TEKNIK CUBE MAPPING BERBASIS OPENGL

MODUL 9 Material Texture

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Chapter 9 Operator Types dan Operator Overloading

Pencarian (Searching)

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

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

P06 Pointer dan Fungsi

PENGENALAN AUGMENTED REALITY

An Interactive Introduction to OpenGL Programming

Selection / Pemilihan PEMILIHAN

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

J U R N A L I L M I A H KOMPUTASI

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

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

Chapter 2 Tipe Data, Identifier, Operator dan Control Statement

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman.

24/09/2017 PERCABANGAN

TUGAS TEORI ALGO LANJUT

STRUKUR KENDALI : PERCABANGAN

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

DIAN PRATIWI. ST, MTI

C Programming (re-view)

Daftar kelompok Kelas Mahasiswa Angkatan 52 Program Pendidikan Kompetensi Umum Institut Pertanian Bogor

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

Pemrograman Dasar C. Minggu 6

Modul Praktikum 3 Pemograman Berorientasi Objek

Shading. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Melakukan Operasi Logika

Struktur Kontrol Pemrograman Java : PERCABANGAN

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

A. TUJUAN PEMBELAJARAN

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

IF PEMROGRAMAN LANJUT PERCABANGAN. Oleh : Andri Heryandi, M.T.

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

Aliran Kendali (Flow Control)

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

Minggu ke-14 Typedef, Struct & Command Line Argument

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

MODUL IV Analisis Kasus/Pemilihan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB. SHEET PRAKTIKUM GRAFIKA KOMPUTER

Transkripsi:

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 diberi pencahayaan default/standar dengan cahaya lingkungan (ambient) yang sama pada setiap titik. Kondisi default/standar dapat dicapai kapan saja dengan mematikan status Lighting menjadi disabled dengan gldisable(gl_light0). Dalam pencahayaan, ada dua hal yang menentukan tampilan suatu obyek, yaitu: 1. Sumber cahaya dan pengaruh lingkungan terhadap cahaya Lokasi sumber cahaya Arah pencahayaan dari sumber cahaya (omni, spot) Komponen pengaruh lingkungan terhadap cahaya (ambient, diffuse, specular) 2. Material dari obyek, yang memodelkan bagaimana material bereaksi terhadap sumber cahaya, yaitu: Material reflektan terhadap komponen cahaya ambient Material reflektan terhadap komponen cahaya diffuse Material reflektan terhadap komponen cahaya specular Material sebagai sumber cahaya (emitance) Komponen ambient adalah cahaya yang arahnya tidak dapat ditentukan karena datang secara merata dari segala arah. Biasanya merupakan cahaya yang dihasilkan dari pemantulan berkali-kali sumber cahaya yang berarah. Poligon dalam opengl selalu diiluminasi secara seragam oleh komponen ambient tanpa memperdulikan orientasi dan posisinya. Komponen diffuse adalah cahaya yang bersumber dari satu arah dan mempengaruhi poligon secara uniform bergantung pada sudut datang terhadap permukaan poligon. Komponen specular adalah cahaya yang memantul dari obyek pada arah tertentu saja, yang bergantung pada derajat inklinasi dari poligon terhadap cahaya dan posisi observer. efek specular sering digunakan untuk memberikan kesan mengkilap (shininess).

/* * Lighting * Program ini mendemonstrasikan penggunaan model Lighting pada OpenGL * Sebuah bola digambarkan dengan karakteristik material berwarna abu-abu. * Sebuah sumber cahaya aka menyinari objek tersebut. */ #include <GL/glut.h> #include <stdlib.h> int specularlightstatus = 1; bool ambientlightstatus = true; void init(void); void display(void); void keyboard(unsigned char key, int x, int y); void reshape(int w, int h); int main(int argc, char** argv) glutinit(&argc, argv); glutinitdisplaymode (GLUT_SINGLE GLUT_RGB GLUT_DEPTH); glutinitwindowsize (500, 500); glutinitwindowposition (100, 100); glutcreatewindow ("Lighting"); init(); glutdisplayfunc(display); glutreshapefunc(reshape); glutkeyboardfunc(keyboard); glutmainloop(); return 0;

/* Initialize material property, light source, lighting model, * and depth buffer. */ 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); 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, 10.0); 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(); void keyboard(unsigned char key, int x, int y) switch (key) case 27: exit(0); break; case 'O': case 'o': if(specularlightstatus == 1) gldisable(gl_lighting); specularlightstatus = 0; glenable(gl_lighting); specularlightstatus = 1;

break; case 'p': case 'P': if(ambientlightstatus == true) gldisable(gl_light0); ambientlightstatus = false; glenable(gl_light0); ambientlightstatus = true; break;