10 Lighting Shading Imam Cholissodin imam cholissodingmail com
- Slides: 33
10 | Lighting & Shading Imam Cholissodin| imam. cholissodin@gmail. com
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 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 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, tidak akan terlihat sampai mereka mendapatkan pencahayaan. Dengan Pencahayaan Tanpa Pencahayaan
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 • 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. – 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 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, 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 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 + 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. – 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 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. • 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. – 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
Multiple Light
Koefisien Material
Ambient Light
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 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 : 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 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 highlight) – Phong shading (better specular highlight)
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 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 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 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 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
- Phong vs gouraud shading
- Bài thơ mẹ đi làm từ sáng sớm
- Cơm
- Light to dark shading
- Gl_flat
- Electron shading effect
- Tone shading
- Shading dalam komputer adalah
- Casablanca black and white
- Fragment shading
- Shading mask protractor
- Op art
- Gouard shading
- Ribbon shading
- Alternative time
- Isometric circle
- Rcp hlsl
- Berlatih teknik arsir gradasi
- Lambertian pattern
- Shading dalam menggambar terdiri dari dua intensitas
- Lambertian reflection
- Meshlet
- Shading coefficient
- Siggraph
- Clustered forward rendering
- Cg shader language
- How to shade a quadratic inequality
- Engineered shading
- Gooch shading
- Nvidia slang
- Graphing quadratic inequalities
- Illumination formula
- Shading light to dark
- The technique of using crossed lines for shading