Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

10 | Lighting & Shading Imam Cholissodin|

Presentasi serupa


Presentasi berjudul: "10 | Lighting & Shading Imam Cholissodin|"— Transcript presentasi:

1 10 | Lighting & Shading Imam Cholissodin|

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

3 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.

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

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

6

7 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

8 Visualisasi arah pantulan cahaya terhadap objek : Visualisasi secara umum : Lighting Direction DiffuseSpecularTranslucent v s n 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. P

9 Specular : – Objek tidak menyebarkan cahaya secara seragam. – Digunakan Model Phong (1975), untuk menghitung memudarnya kuat cahaya. –I sp = I s p s (cos α) f dimana p s (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 Math of Lighting Direction r α v s n

10 Diffuse : – Objek menyebarkan cahaya secara seragam ke segala arah. – Hubungan antara kecerahan permukaan dan orientasi cahaya didasarkan pada Hukum Lambert, sehingga I df = I d p d max(cos α, 0). Math of Lighting Direction sn α = 0 o s n α s n α= 90 o

11 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. Math of Lighting Direction s

12 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 (p a ) digunakan untuk masing- masing permukaan. –I ab = I a p a Kombinasi Intensitas Sumber Cahaya : –I = I a p a + I d p d max(cos α, 0) + I s p s (cos α) f Math of Lighting Source

13 Kombinasi Intensitas Sumber Cahaya : –I = I a p a + I s p s max(cos α, 0) + I s p s (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. –I r = I ar p ar + I dr p dr max(cos α, 0) + I sr p sr (cos α) f –I g = I ag p ag + I dg p dg max(cos α, 0) + I sg p sg (cos α) f –I b = I ab p ab + I db p db max(cos α, 0) + I sb p sb (cos α) f Math of Lighting Source

14 glMaterialfv(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 glLightfv(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 Linghting Functions

15 Menghitung Vektor normal dari 3 buah vertex Perintah untuk mendefinisikan vektor normal : – glNormal3f(0.0,1.0,0.0) – glVertex3f(2.0,4.0,4.0) Normal Vector a b |axb|=|a||b|sin Ө a x b

16 Menghitung Vektor normal dari polygon k buah vertex dengan metode Newell. Apabila P j (x j,y j,z j ), jika i = 1 maka j= (i+1) mod k yang menyatakan vertex berikutnya dari P i. Maka vektor normal dari polygon k vertex dapat diperoleh dari persamaan berikut : Normal Vector n v1 v2 v3v4 v5 v6

17 glMaterialfv(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 glLightfv(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 Linghting Functions

18

19 Spotlight

20 Multiple Light

21 Koefisien Material

22 Ambient Light

23 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 OpenGL : – glShadeModel(GL_FLAT) : untuk mode bayangan rata. – glShadeModel(GL_SMOOTH) : untuk mode bayangan halus.

24 Flat Shading glShadeModel(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.

25 Flat Shading glShadeModel(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

26 Smooth Shading glShadeModel(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 Flat shading Smooth shading Mach band effect

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

28 Gouraud shading Algoritma smooth shading yang digunakan dalam OpenGL glShadeModel (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.

29 Gouraud shading Menghitung vektor normal global (n). Menghitung vertex illumination (color) untuk menentukan intensitas titik. n n1 n2 n3 n4 n = (n1 + n2 + n3 + n4) / 4.0 C1 C2 C3 Ca = lerp(C1, C2)Cb = lerp(C1, C3) Lerp(Ca, Cb) for all scanlines * lerp: linear interpolation

30 Gouraud shading Linear interpolation Interpolasi warna segitiga Gunakan jarak y untuk interpolasi titik akhir dua scanline, dan menggunakan jarak x untuk interpolasi warna pixel interior a b v1v2 x x = a / (a+b) * v2 + b/(a+b) * v1

31 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 : n1 n2 n3 nb = lerp(n1, n3) na = lerp(n1, n2) lerp(na, nb)

32 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)

33 Selesai Imam Cholissodin|


Download ppt "10 | Lighting & Shading Imam Cholissodin|"

Presentasi serupa


Iklan oleh Google