Anda di halaman 1dari 21

Shading

Fakta dan Permasalahan


Ingatlah bahwa setiap objek disusun dari sekumpulan poligon Andai HSR telah kita lakukan, lalu setiap poligon kita beri warna, hasilnya akan terlihat flat tak ada kesan 3D!

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

Lalu apa yang harus dilakukan ?


Kita butuh mendefinisikan mana permukaan yang gelap, mana permukaan yang terang!

wireframe

no..no..no..!!

quite right!
kesan 3D akan tampak

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

Shading diperlukan!
Algoritma untuk shading (aka. illumination, aka. lighting) diperlukan! Didasarkan fakta bahwa:
semakin kecil sudut antara pantulan cahaya dengan vektor normal maka permukaan akan semakin terang

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

Flat Shading
Shading paling sederhana Menghitung intensitas cahaya setiap poligon berdasar sudut antara vektor normal dengan arah datangnya sinar

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

Flat Shading (cara ngitungnya)


Semakin kecil sudut, semakin terang Semakin besar sudut, semakin gelap
Intensity = cos cos = N L

Normal bidang (N)

Light (L) Lampu


Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003 5

Gouraud Shading
Hasil flat shading masih faceted Agar permukaan halus, jumlah poligon harus ditambah BOROS! Alternatif yang murah: lakukan interpolasi terhadap intensitas

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

Gouraud Shading (algoritmanya)


Prinsip: interpolasi intensitas cahaya Langkah-langkah:
Hitung dulu intensitas setiap poligon Hitung intensitas setiap vertex = rata-rata intensitas poligon yang share dengan vertex tersebut Hitung intensitas setiap pixel pada poligon dengan melakukan interpolasi terhadap vertex-vertex penyusun poligon.

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

Phong Shading
Phong shading lebih bagus daripada Gouraud shading Bila Gouraud menginterpolasi intensitas, Phong menginterpolasi vektor normal

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

10

Phong Shading (algoritmanya)


Prinsip: interpolasi vektor normal Langkah-langkah:
Hitung dulu vektor normal setiap poligon Hitung vektor normal setiap vertex = rata-rata vektor normal poligon yang share dengan vertex tersebut Hitung vektor normal setiap pixel pada poligon dengan melakukan interpolasi terhadap vertex-vertex penyusun poligon. Hitung intensitas setiap pixel berdasar vektor normalnya masingmasing (yaitu vektor normal hasil interpolasi)

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

11

Phong Shading (hitung intensitas)


Sekarang setiap pixel punya vektor normalnya sendiri (hasil interpolasi)

Intensity = cos =NL

Normal bidang (N)

Light (L) Lampu


Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003 14

Gouraud vs Phong
Kenapa Phong lebih bagus daripada Gouraud?
Ini Phong (lampu di ujung)

Ini Gouraud (lampu di ujung)

Ini Gouraud (lampu di tengah)

Ini Phong (lampu di tengah)

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

15

3 Komponen Dasar Pencahayaan


Ada tiga komponen dasar pencahayaan bagi Phong lighting: Ambient Light Diffuse Light Specular Light

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

16

Ambient Light
Ambient light adalah cahaya lingkungan Menyatakan seberapa terang suatu area bila tidak ada cahaya lampu yang mengenainya secara langsung Dimodelkan dengan sebuah konstanta: Ia = ka (nilai ka antara 0 .. 1)

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

17

Diffuse Light
Diffuse light menyatakan terang gelapnya suatu area bila terkena sinar secara langsung Telah dibahas pada pembahasan yang lalu Bila adalah sudut antara vektor normal dengan arah datangnya sinar: Id = kd * cos (nilai kd antara 0 .. 1)

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

18

Specular Light
Specular light adalah kilauan pada permukaan yang mengkilat Dihitung dari sudut arah pantulan sinar menuju mata Selain bergantung pada posisi lampu, juga bergantung pada posisi mata Is = ks * cosNO (nilai ks antara 0 .. 1, nilai NO>0)

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

19

Semua dijumlahkan
Ambient + Diffuse + Specular = gambar akhir

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

20

Model Pencahayaan yang Lain


Selain flat, Gouraud dan Phong masih banyak model pencahayaan yang lain. Antara lain:
Blinn Oren-Nayar-Blinn Strauss Anisotropic lighting Radiosity etc.

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

21

Oren-Nayar-Blinn
Bagus untuk memodelkan permukaan kulit (pantulan cahaya specular terlihat lebih lunak daripada Phong)

Oren-Nayar-Blinn

Phong

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

22

Anisotropic Lighting
Specular tidak berbentuk bulat, tapi memanjang dan memiliki arah ke sudut tertentu Bagus untuk memodelkan kilauan rambut atau brushed metal

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

23

Radiosity
Memodelkan cahaya ambient seperti radiasi kalor / panas Cahaya tidak harus berasal langsung dari lampu

Grafika Komputer Sekolah Tinggi Teknik Surabaya, 2003

24

Anda mungkin juga menyukai