10 Lighting Shading Imam Cholissodin imam cholissodingmail com

  • Slides: 33
Download presentation
10 | Lighting & Shading Imam Cholissodin| imam. cholissodin@gmail. com

10 | Lighting & Shading Imam Cholissodin| imam. cholissodin@gmail. com

Lighting & Shading : 1. 2. 3. 4. 5. 6. 7. 8. What’s Lighting

Lighting & Shading : 1. 2. 3. 4. 5. 6. 7. 8. What’s Lighting & Shading Lighting Process Example Lit & Un. Lit Lighting Factors & Direction Math of Lighting Linghting Functions Normal Vector Shading Effect

What’s Lighting & Shading • Lighting : Teknik yang dapat diterapkan pada proses rendering

What’s Lighting & Shading • Lighting : Teknik yang dapat diterapkan pada proses rendering untuk menjadikan sebuah objek menjadi terlihat berbeda. Sehingga ketika objek tersebut dikenai cahaya, maka akan terjadi beberapa hal berikut : – Pemantulan cahaya – Pembiasan dan Penyerapan cahaya – Pembentukan bayangan (Shade) • Shading : Efek bayangan yang terbentuk ketika suatu objek diberikan pencahayaan.

Lighting Process • Proses pencahayaan objek terhadap persepsi warna pada mata kita. Iluminasi Pantulan

Lighting Process • Proses pencahayaan objek terhadap persepsi warna pada mata kita. Iluminasi Pantulan Persepsi Warna • Sumber cahaya : lampu neon, cahaya lilin, lampu pijar, sinar matahari, etc.

Example Lit & Un. Lit • Pada kenyataannya, sebagian besar objek bahkan tiga dimensi,

Example Lit & Un. Lit • Pada kenyataannya, sebagian besar objek bahkan tiga dimensi, tidak akan terlihat sampai mereka mendapatkan pencahayaan. Dengan Pencahayaan Tanpa Pencahayaan

Lighting Factors & Direction • Dalam proses rendering, lighting dipengaruhi oleh faktor-faktor berikut :

Lighting Factors & Direction • Dalam proses rendering, lighting dipengaruhi oleh faktor-faktor berikut : – Jarak objek dengan sumber cahaya – Posisi objek – Bentuk permukaan objek • Beberapa arah pantulan cahaya terhadap objek : – Specular – Diffuse – Translucent

Lighting Direction • Visualisasi arah pantulan cahaya terhadap objek : Specular Diffuse Translucent •

Lighting Direction • Visualisasi arah pantulan cahaya terhadap objek : Specular Diffuse Translucent • Visualisasi secara umum : s n v P • n adalah vektor normal ke permukaan pada titik P. • s adalah vektor dari titik P ke cahaya. • v adalah vektor dari titik P ke viewer.

Math of Lighting Direction • Specular : – Objek tidak menyebarkan cahaya secara seragam.

Math of Lighting Direction • Specular : – Objek tidak menyebarkan cahaya secara seragam. – Digunakan Model Phong (1975), untuk menghitung memudarnya kuat cahaya. – Isp = Isps(cos α)f dimana ps (Koefisien Pantulan), f adalah koefisien yang ditentukan secara trial & error. – Vektor r dihitung dengan mendekati vektor halfway, yaitu vektor yang terletak ditengah vektor s dan v. Sehingga s n r α v

Math of Lighting Direction • Diffuse : – Objek menyebarkan cahaya secara seragam ke

Math of Lighting Direction • Diffuse : – Objek menyebarkan cahaya secara seragam ke segala arah. – Hubungan antara kecerahan permukaan dan orientasi cahaya didasarkan pada Hukum Lambert, sehingga Idf = Idpdmax(cos α , 0). s n s α = 0 o s α n α= 90 o n

Math of Lighting Direction • Translucent : – Benda yang permukaannya mempunyai sifat Translucent,

Math of Lighting Direction • Translucent : – Benda yang permukaannya mempunyai sifat Translucent, akan meneruskan cahaya yang datang dan memantulkan cahaya tersebut. – Sifat Translucent hanya dapat diperoleh melalui metode pencahayaan global sehingga tidak dibicarakan lebih lanjut. s

Math of Lighting Source • Ambient Light (Cahaya Lingkungan) – Cahaya jatuh ke objek

Math of Lighting Source • Ambient Light (Cahaya Lingkungan) – Cahaya jatuh ke objek dari berbagai sudut pantul dari objek lain dan lingkungan. – Cahaya ambient tidak mempunyai titik asal khusus. – Koefisien cahaya ambient (pa) digunakan untuk masing permukaan. – Iab = Iapa • Kombinasi Intensitas Sumber Cahaya : – I = Iapa + Idpdmax(cos α , 0) + Isps(cos α)f

Math of Lighting Source • Kombinasi Intensitas Sumber Cahaya : – I = Iapa

Math of Lighting Source • Kombinasi Intensitas Sumber Cahaya : – I = Iapa + Ispsmax(cos α , 0) + Isps(cos α)f • Warna-warna dapat diperoleh dari perhitungan dari kombinasi warna dasar RGB. • Intensitas pantulan dapat dihitung dengan menghitung intensitas untuk red, green dan blue dan menambahkannya. – Ir = Iarpar + Idrpdrmax(cos α , 0) + Isrpsr(cos α)f – Ig= Iagpag + Idgpdgmax(cos α , 0) + Isgpsg(cos α)f – Ib= Iabpab + Idbpdbmax(cos α , 0) + Isbpsb(cos α)f

Linghting Functions • gl. Materialfv(face, type, vektor) Digunakan untuk menentukan sifat-sifat permukaan benda. –

Linghting Functions • gl. Materialfv(face, type, vektor) Digunakan untuk menentukan sifat-sifat permukaan benda. – face : GL_FRONT, GL_BACK, GL_FRONT_AND_BACK – Type : GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR – Vector : berisi array • gl. Lightfv(light, type, vector) Digunakan untuk mengatur karakteristik dari cahaya – Light : GL_LIGHTn, dengan n = 0, 1, …, 7 – Type : GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION – Vector : berisi array

Normal Vector • Menghitung Vektor normal dari 3 buah vertex |axb|=|a||b|sin Ө a axb

Normal Vector • Menghitung Vektor normal dari 3 buah vertex |axb|=|a||b|sin Ө a axb b • Perintah untuk mendefinisikan vektor normal : – gl. Normal 3 f(0. 0, 1. 0, 0. 0) – gl. Vertex 3 f(2. 0, 4. 0)

Normal Vector • Menghitung Vektor normal dari polygon k buah vertex dengan metode Newell.

Normal Vector • Menghitung Vektor normal dari polygon k buah vertex dengan metode Newell. • Apabila Pj(xj, yj, zj), jika i = 1 maka j= (i+1) mod k yang menyatakan vertex berikutnya dari Pi. Maka vektor normal dari polygon k vertex dapat diperoleh dari persamaan berikut : v 6 n v 1 v 5 v 2 v 4 v 3

Linghting Functions • gl. Materialfv(face, type, vektor) Digunakan untuk menentukan sifat-sifat permukaan benda. –

Linghting Functions • gl. Materialfv(face, type, vektor) Digunakan untuk menentukan sifat-sifat permukaan benda. – face : GL_FRONT, GL_BACK, GL_FRONT_AND_BACK – Type : GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR – Vector : berisi array • gl. Lightfv(light, type, vector) Digunakan untuk mengatur karakteristik dari cahaya – Light : GL_LIGHTn, dengan n = 0, 1, …, 7 – Type : GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION, GL_SPOT_DIRECTION – Vector : berisi array

Spotlight

Spotlight

Multiple Light

Multiple Light

Koefisien Material

Koefisien Material

Ambient Light

Ambient Light

Shading Effect • Ada dua cara untuk mengimplementasi bayangan : – Bayangan rata (flat)

Shading Effect • Ada dua cara untuk mengimplementasi bayangan : – Bayangan rata (flat) : Teknik yang mengasumsikan bahwa permukaan objek adalah rata dan setiap titik pada permukaan objek mempunyai jarak yang sama terhadap sumber cahaya. – Bayangan halus (smooth) : Teknik ini mengijinkan pemrogram untuk membuat perubahan setahap demi setahap dalam pemberian bayangan sebuah permukaan. Misalkan memberikan bayangan pada satu muka lebih pudar dibandingkan dengan muka yang lain. • Fungsi aktifasi Shading pada Open. GL : – gl. Shade. Model(GL_FLAT) : untuk mode bayangan rata. – gl. Shade. Model(GL_SMOOTH) : untuk mode bayangan halus.

Flat Shading • gl. Shade. Model(GL_FLAT) : untuk mode bayangan rata. – Hanya menggunakan

Flat Shading • gl. Shade. Model(GL_FLAT) : untuk mode bayangan rata. – Hanya menggunakan satu titik (biasanya yang pertama) normal dan properti material untuk menghitung warna untuk polygon. – Menghitung pencahayaan sekaligus memberikan warna ke seluruh polygon.

Flat Shading • gl. Shade. Model(GL_FLAT) : untuk mode bayangan rata. – Keuntungan :

Flat Shading • gl. Shade. Model(GL_FLAT) : untuk mode bayangan rata. – Keuntungan : Komputasinya cepat – Sebaiknya digunakan pada kondisi berikut : • The polygon is small enough • The light source is far away • The eye is very far away

Smooth Shading • gl. Shade. Model(GL_SMOOTH) : untuk mode bayangan halus. – Mengurangi mach

Smooth Shading • gl. Shade. Model(GL_SMOOTH) : untuk mode bayangan halus. – Mengurangi mach band effect untuk menghapus diskontinuitas nilai – Menghitung pencahayaan untuk poin yang lebih banyak pada masing-masing permukaan Mach band effect Flat shading Smooth shading

Smooth Shading • Ada metode yang sangat populer : – Gouraud shading (standard specular

Smooth Shading • Ada metode yang sangat populer : – Gouraud shading (standard specular highlight) – Phong shading (better specular highlight)

Gouraud shading • Algoritma smooth shading yang digunakan dalam Open. GL gl. Shade. Model

Gouraud shading • Algoritma smooth shading yang digunakan dalam Open. GL gl. Shade. Model (GL_SMOOTH) – Pencahayaan dihitung dari masing-masing simpul polygon. – Tentukan satuan vektor normal rata-rata dari setiap titik ujung polygon. – Warna diinterpolasi untuk piksel interior.

Gouraud shading • Menghitung vektor normal global (n). n n 1 n 2 n

Gouraud shading • Menghitung vektor normal global (n). n n 1 n 2 n 4 n 3 n = (n 1 + n 2 + n 3 + n 4) / 4. 0 • Menghitung vertex illumination (color) untuk menentukan intensitas titik. C 1 for all scanlines Ca = lerp(C 1, C 2) C 2 Cb = lerp(C 1, C 3) C 3 Lerp(Ca, Cb) * lerp: linear interpolation

Gouraud shading • Linear interpolation v 1 x = a / (a+b) * v

Gouraud shading • Linear interpolation v 1 x = a / (a+b) * v 2 + b/(a+b) * v 1 b a x v 2 • Interpolasi warna segitiga Gunakan jarak y untuk interpolasi titik akhir dua scanline, dan menggunakan jarak x untuk interpolasi warna pixel interior

Phong Shading • Menghasilkan detail cahaya yang lebih realistik dan sangat mengurangi mach band

Phong Shading • Menghasilkan detail cahaya yang lebih realistik dan sangat mengurangi mach band effect tetapi memerlukan perhitungan yang lebih banyak. • Tentukan satuan vektor normal rata-rata pada setiap titik polygon. • Normal interpolation : n 1 nb = lerp(n 1, n 3) na = lerp(n 1, n 2) lerp(na, nb) n 2 n 3

Tugas Kelompok 1. Tema : "Pencahayaan di Ruang Gelap“. Buatlah Ruangan atau panggung dengan

Tugas Kelompok 1. Tema : "Pencahayaan di Ruang Gelap“. Buatlah Ruangan atau panggung dengan lampu pijar atau lampu sorot minimal jumlahnya 2. Dan gelap terangnya dapat dikontrol dengan menggunakan minimal dua tombol tertentu. (Gunakan konsep : Blending, Transformasi, Camera/ Viewing, Texture Mapping, Lighting & Shading) Note : (Buat Program dan Laporan Penjelasan Kode Program)

Selesai Imam Cholissodin| imam. cholissodin@gmail. com

Selesai Imam Cholissodin| imam. cholissodin@gmail. com