Sistem Pandang
109
Sebagai catatan bahwa pilihan titik pandang untuk penyajian sistem pandang adalah tidak arbitrase. Jika proyeksi sistem pandang agar berguna, maka titik pandang harus dipilih sehingga ia sendiri merupakan fungsi dari parameter pandang yang utama. 3.2
Sistem p.andang belajar beFbantuan-komputer
Orang mempelajari sistem pandang biasanya memiliki beberapa kesulitan dalam memperkirakan efek bermacam-macam parameter pada tampilan terakhir dari gambar yang diproyeksikan. Rancanglah sebuah sistem pengajaran untuk sistem pandang II-V. Salah satu gagasan (yang agak rumit) diperlihatkan pada Gambar 3.19. Ini memperlihatkan sebuah gambar dengan sebuah pandang bingkai-kawat terpancung, bersama-sama dengan proyeksi yang sesuai.
4 4.1
Model Refleksidan Iluminasi Pendahuluan Dalam bab ini kita akan melihat secara teoritis yang sangat jelas mengenai aspek refleksi dan kemudian menguji model refleksi gratik komputer. Sebuah model refleksi menguraikan interaksi cahaya dengan sebuah permukaan, dalam hal sifat-sifat permukaan dan sifat alami cahaya yang datang. Sebuah model refleksi adalah faktor dasar dalam penglihatan sebuah obyek bayangan tiga-dimensi. la memungkinkan sebuah proyeksi layar dua-dimensi dari sebuah obyek agar tampak nyata - dalam arti bahwa sebuah gambar dua-dimensi seperti sebuah fotograti merupakan sebuah penyajian mengenai kenyataan tiga-dimensi bagi penglihatan mata manusia. Sebaliknya, sebuah model iluminasi mendetinisikan sifat alami daripada cahaya yang memancar dari sebuah sumber - geometri dari pendistribusian intensitasnya dan lain sebagainya.Di luar laboratoriumpenelitian kebanyakan bayangan gratik komputer menggunakan model refleksi yang sederhana dan model iIuminasi yang sangat disederhanakan - biasanya sebuah sumber titik. Ini bekerja karena ia mengerjakan - ia menghasilkan hasil-hasil yang dapat diterima dengan menggunakan kemampuan perangkat-keras yang tersedia saat ini dan piranti tampilan. Tujuan dari model refleksi dalam gratik komputer adalah untuk 'render' obyek tiga-dimensi dalam ruang layar dua-dimensi sedemikian sehingga kenyataan ditiru ke tingkat yang dapat diterima. Istilah tingkat yang dapat diterima tergantung pada konteks dari aplikasi. Semakin tinggi tingkat kenyataan yang diperlukan, semakin rumit model refleksi dan semakin banyak pemrosesan yang diperlukan. Sebagai contoh, model sederhana digunakan dalam gambar yang 110
Model. Refleksi don /luminasi
III
dihasilkan komputer untuk simulator penerbangan. Meskipun dengan pemrosespemroses jamak yang besar, kebutuhan yang sangat besar akan sistem yang demikian memaksa ketelitian model refleksi dan penyajian geometrik benda padjit. Juga, model bayangan yang teliti dalam simulator penerbangan bisa jadi tidak sepenting tekstur sebuah permukaan. Tekstur merupakan petunjuk kedalaman yang penting dalam simulator penerbangan dan pemetaan tekstur bisa menempatkan kebutuhan yang sangat besar akan pengolah seperti halnya refleksi. Di pihak lain, sebuah iklan televisi terdiri dari sebuah urutan animasi pendek merupakan kebutuhan, demi alasan estetis, semakin kaya model refleksi dan puluhan menit bisa diperlukan dalam menghasilkan masing-masaing bingkai dalam urutan pasa sebuah pengolah tunggal. Yang berada di antara dua nilai ekstrim adalah bayangan model benda padat dalam paket CAD. Di sini bagian dari sebuah mesin dapat dirancang secara interaktif dengan menggunakan kemampuan pemodelan benda padat. Di dalam loop rancangan seorang pemakai sistem ini dapat mengoperasikan dengan model bingkai-kawat. Untuk memvisualisasikan obyek yang telah diselesaikan kebanyakan sistem CAD tiga-dimensi memiliki sebuah pilihan mengenai bayangan. Ini akan menggunakan sebuah model refleksi dasar untuk membayangi permukaan suatu obyek. Proses yang sedemikian ini, yang berjalan pada sebuah workstation CAD, bisa memerlukan waktu mulai dari sepuluh detik sampai beberapa menit untuk menyelesaikan. Model refleksi yang diuraikan dalam bab ini adalah model lokal. Ini berarti bahwa yang diperhatikan hanya interaksi antara sebuah titik pada permukaan yang dibayangi dan sumber cahaya. Yang diperhatikan adalah bahwa tidak ada iluminasi global atau iluminasi yang mencapai titik yang ditinjau melalui sebuah lintasan yang tidak langsung (refleksi dari permukaan yang lain). Perbedaan antara dua jenis iluminasi tersebut diperlihatkan dalam Gambar 4.1. Secara umum kita dapat menggunakan model refleksi miliknya sendiri, yang berarti tidak ada interaksi obyeklobyek atau obyek/lingkungan yang dievaluasi, atau kita dapat menambahkan sebuah model refleksi lokal dalam sebuah bingkai kerja algoritma global seperti radiosity (Bab 10) atau pelacakan sinar (Bab 8). Dalam contoh sederhana yang diperlihatkan dalam Gambar 4.1 sebuah model refleksi global dapat digunakan untuk menghitung iluminasi tidak langsung yang mengenai titik PI dari titik Pl. Dalam bab ini kita hanya memperhatikan perhitungan intensitas cahaya pada sebuah titikyang berada pada sebuah permukaan. Ini berarti bahwa model refleksi tidak tergantung pada penyajian permukaan. Selanjutnya, dalam Bab 5, kita akan
112
Pengantar Komputer Grafik
Indirect illumination
Gambar 4.1 IIuminasi langsung dan tidak langsung.
melihat bahwa kita harus memenuhi syarat bahwa yang kita maksudkan dengan titik; dalam kenyataan secara umum kita harus menghitung nilai intensitas cahaya untuk luas permukaan tersebut yang memproyeksikan pada sebuah titik pada layar. Kita membuat perbedaan yang penting antara model refleksi yang meniru beberapa aspek sifat cahaya secara fisik pada sebuah permukaan dan penambahan model yang demikian ini dalam sebuah pola yang menghitung intensitas cahaya dalam sebuah proyeksi pixel. Kita menggunakan istilah teknik pembayangan yang bertambah untuk yang terakhir. Kadang-kadang perbedaan ini dikaburkan dalam buku grafik komputer. Perbedaan tersebut didemonstrasikan dalam Gambar 4.2. Sebuah model retleksi memperhatikan orientasi, N, dari sebuah permukaan pada sebuah titik P. Intensitas cahaya dihitung dengan membandingkan N dan L, vektor arah cahaya. Untuk menampilkan permukaan pada layar kita perlu menghitung nilai intensitas tunggal untuk pixel pada proyeksi permukaan. Sebuah model retleksi, tidak ada yang dasar seperti yang digunakan di dalam simulasi penerbangan, tidakjuga sekaya model penelitian yang ada pada saat ini dalam sintesa gambar, telah digunakan dalam grafik komputer sejak pertengahan tahun 1970-an. Ini adalah model retleksi Phong yang diuraikan dalam Bagian 4.3.
Model Refleksi dan J/uminasi
World coordinate space
I I I I I I I I I I I I I I I
113
Screen space
~I Reflection modds calculate light inten,ity at a point
I I I I I I I
Shading algorithms calculate a sinl!le value for the pixel pr';jection of a ,urface
Gambar 4.2 Penggambaran mengenai perbedaan antara penghitungan intensitas cahaya pada titik P dan di dalam ruang koordinat alam dan bayangan sebuah pixel.
Sebelum menguraikan model ini kita akan memperhatikan beberapa faktor teoritis.
4.2
Pertimbangan teoritis dalam refleksi cahaya Pertama, sebuah persamaan yangjelas: Cahaya yang datang pada sebuah permukaan
= cahaya yang dipantulkan + cahaya yang disebarkan + cahaya yang diserap + cahaya yang ditransmisikan
Ini diperlihatkan secara diagram dalam Gambar 4.3. Grafik komputer hadir dengan sangat rinei pada cahaya yang dicerminkan dan juga model cahaya yang ditransmisikan. Catat dari diagram tersebut bahwa sebuah komponen yang dipantulkan dapat juga dihasilkan dari komponen yang ditransmisikan. Intensitas dan panjang gelombangyang dipancarkandari sebuah permukaantergantung pada panjang gelombang cahaya yang datang, sudut datang, sifat alami (kekasaran) bahan permukaan dan sifat listriknya (permitivitas, permeabilitas, dan konduktivitas). Interaksi yang sebenamya sangat rumit. Sebagai contoh, permukaan yang sarna
114
Pengantar KomputerGrafik
Retlec!ion (specular)
Gambar 4.3 Interaksi cahaya dengan sebuah benda padat.
bisa mulus bagi beberapa gelombang dan kasar bagi yang lain; atau untuk panjang gelombang yang sarna, ia dapat halus atau kasar untuk sudut datang yang berbeda. Juga, kita memiliki kenyataan impiris yang telah diketahui dengan baik bahwa pada sembarang permukaan, dengan mengabaikan kekasarannya, akan memantulkan cahaya yang menyentuh cahaya yang datang. Sebuah contoh yang urnurn untuk hal ini adalah cahaya matahari yang dipantulkan kembali oleh permukaan jalan yang hitam. Pada saat matahari tinggi jalaA tersebut merupakan campuran yang tidak mumi atau kasar dan hitam. Akan tetapi pada sudut datang yang rendahjelas menyilaukan. Cara dimana sifat kompleks ini diparameterkan adalah dengan menggunakan fungsi refleksi dua arah (bidirectional reflectivity function, BDRF) dan sekarang ini diuraikan secara kualitatif dengan rinei. Ini akan memungkinkan sebuah apresiasi mengenai fenomena refleksi dan memperbolehkan kita menilai batasan pada model grafik komputer. Secara umum kita mendefinisikan BDRF sebagai Rbd()..CPj.8,.9,.8,.) yang menghubungkan
cahaya yang datang yang searah dengan (q>j,8j)menuju
perginya cahaya yang searah dengan (q>y,8y)(Gambar 4.4). Catat mengenai ke-
Model Refleksi dan lluminasi
115
Gambar 4.4 BDRF yang menghubungkan energi yang datang yang searah dengan (>i,Oi), dan intensitas yang meninggalkan yang searah dengan (>v,Ov).
nyataan yang penting bahwa BDRF juga merupakan fungsi dari panjang gelombang. Secara teoritis, BDRF adalah perbandingan antara intensitas cahaya yang meninggalkan dan energi yang datang:
dimana hubungan antara energi yang datang dan intensitas yang datang diberikan oleh (Gambar 4.5): £j(>;,8j) =
Ij(>j,8j)cos
8; dWj
Ini menghubungkan energi yang datang dan intensitas yang datang, sudut Wi adalah sudut dimana terdapat energi tersebut, dan luasan yang berbeda yang diproyeksikan. Sudut Wpada permukaan elemen, sebagaimana yang terlihat dari sebuah titik tertentu, didefinisikan sebagai luas permukaan elemen tersebut yang dibagi dengan kuadratjarak dari titik tersebut. la dan kawan-kawan (1991) menyarankan bahwa untuk pertimbangan mengenai grafik komputer, BDRF hendaknya dibagi menjadi tiga komponen: kumpulan "specular", kumpulan penyebaran yang berarah dan kumpulan penyebaran yang ideal. Dua komponen yang pertama disebabkan karena refleksi orde-pertama.
116
Pengantar Komputer Grafik
{Ii
Gambar 4.5 Intensitas diukur terhadap normalluasan yang diproyeksikan menuju arahnya.
Kumpulan penyebaran ideal disebabkan karena pencerminan-refleksi jamak dan interaksi sub permukaan (Gambar 4.6). Kumpulan "specular" adalah refleksi yang mirip kaca (Gambar 4.7a). Jika permukaan berupa cermin yang sempurna maka ini akan berupa satu-satunya kumpulan. Untuk sebuah permukaan praktis yang ada permukaan yang kasar, kita masih mendetinisikan kumpulan "specular" yang mana intensitas cahaya yang dipantulkan searah:
L '.Iuhiple :;ubsurface
"Iean surface orientation
Gambar.4.6 Penggarnbaran refleksi yang pertama,refleksi permukaan jarnak, dan refleksi sub permukaan jamak.
--- -
__A
.--..-
Model Refleksi dan /luminasi
l/Jy
= l/Ji
By
117
= Bj
dari permukaan rata-rata. Magnitudo relatif dari komponen ini tergantung pada kekasaran permukaan. Semakin mulus permukaan akan semakin tinggi kumpulan "sl'ecular". Inijuga tergantung pada panjang gelombang. Kumpulan penyebaran yang berarah (Gambar 4.7b) juga tergantung pada refleksi tingkat-pertama. Bila panjang gelombang cahaya yang datang menjadi dapat dibandingkan dengan ukuran eIemen kekasaran permukaan, maka refleksi -yangpertama menghasilkan difraksi dan interferensi. Pantulan tersebut menyebar ke setiap arah menuju setengah bola yang terpusat pada suatu titik. Akan tetapi biasanya ada sebuah arah yang lebih disukai. Kecenderungan vertex ini adalah
.N
(a)
.'Ii
Gambar 4.7 Tiga komponen BDRF. (a) Refleksi specular dari permukaan rata-rata. (b) Refleksi penyebaran yangberarah. (c) Refleksi penyebaran yang ideal.
118
Pengantar Koniputer Grafik
i I I I I I
,, l
I.U
0.:-
0.6
U.tI
o.~.
\.0
1.11 II..' U.tI
,
I I
/
/
/
/
/
.....,
--
/
\.11
Gambar 4.8 Memperlihatkan ketergantungan BDRFs terhadap panjang gelombang, sudut datang, dan bahan (setelah ia dan kawan-kawan, 1991). (a) Alumunium kasar untuk Oi = 10°,45°, dan 75°. Panjang gelombang Panjanggelombang
= 2.0
JIm. (b) Alumuniumkasar
untuk
Oi = 10°, 30°, 45°, dan 75°.
= 0.5 JIm. (c) Magnesium oksida kasar untukOi = 10°, 45°, 60°, dan 75°. Panjang
arah "specular" untuk permukaan yang agak kasar, arah "off-specular" untuk permukaan yang tidak begitu kasar dan sudut sentuh cahaya yang datang.
Model Refleksi dan I/uminasi
119
Akhimya, kumpulan penyebaran yang ideal memantulkan secara seragam ke semua arah menuju setengah bola (Gambar 4.7c). Hal ini disebabkan karena interaksi hamburan sub permukaan. Radiasi yang melintas permukaan pertama dipantulkan oleh pusat hamburan sub permukaan (misalnya, cat, keramik). Gambar 4.8 memberi sebuah gagasan mengenai perbedaan yang ada pada BDRF sebagai fungsi dari bahan dan panjang gelombang. Bagian (a) dan bagian (b) memperlihatkan BDRFa untuk alumunium yang kasar untuk OJ= 10°,45°,dan 75° pada panjang gelombang 2.0 ,urn,Perhatikan Gambar 4.8(a). Sifatnya sangat "specular" dan permukaan yang kelihatan seperti cermin. Jika BDRF ini digunakan dalam sebuah model refleksi yang ditambahkan dalam sebuah bingkai kerja global kemudian obyek yang dekat akan dipantulkan dalam permukaan. Gambar 4.8(b) adalah untuk bahan yang sarna akan tetapi panjang gelombang dikurangi menjadi 0.5 ,urn. Sudut datang sebesar 10°, 30°, 45°, dan 60°. Kini permukaan tersebut menampakkan sifat penyebaran yang terarah. Catat bahwa kecenderungan arah tidak sepanjang arah "specular" (R) dan begitu sudut datang bertambah sifat "specular" mulai muncul. Gambar 4.8(c) memperlihatkan sifat permukaan keramik (magnesium oksida kasar) untuk OJ= 10°,45°,60, dan 75°. Catat bahwa permukaan ini berubah dari hampir berupa pemantul yang menyebar secara ideal manjadi penyebaran yang terarah kemudian permukaan "specular" sebagai fungsi dari OJ. Maksud dari pembagian BDRF menjadi tiga komponen adalah untuk memungkinkan sebuah model analitis, yang didasarkan pada aspek fisik dan aspek gelombang dari teori optis, yang harus disusun. Hal ini memberikan definisi BDRF dalam suku panjang gelombang, geometri dan parameter fisik yang kemudian dapat digunakan dalam simulasi grafik komputer. Model grafik komputer yang pertama yang kita uraikan adalah empiris secara lengkap atau fenomenologika dan ia menggunakan sebuah rumus yang sederhana untuk meniru aspek dari sifat di atas.
4.3
Model refleksi Phong Model refleksi Phong meniru sifat diatas sampai suatu tingkat yang menghasilkaq sebuah perkiraan tingkat-pertama menuju foto nyata. Ia menampakkan tidak adanya ketergantungan dua arah, akan tetapi meskipun demikian ia diterima secara luas dalam masyarakat grafik komputer dan menjadi model refleksi.
.__u
120
'
h
.
-- --+_. -- -- --
-
-- . U
_ _.. _ . _u___ _._____.___
Pengantar Komputer Grafik
-
Model tersebut adalah gabungan linear dari tigs komponen penyebaran, specular, dan ambient. Komponen penyebaran adalah kumpulan penyebaran ideal yang telah diuraikan dalam bagian sebelumnya dan kita mengevaluasi ini sebagai:
dimana Ii adalah intensitas sebuah sumber cahaya titik dan () adalah sudut antara normal permukaan pada titik yang diperhatikan dan sebuah garis dari titik tersebut menuju sumber cahaya (Gambar 4.9). /c,}adalah koefisien pantulan empiris yang tergantung pada panjang gelombang yang segera diuraikan secara rinei. Dalam suku notasi vektor, kumpulan penyebaran dapat ditulis sebagai: Id
= Ijkd(L'S)
dimana L adalah vektor arah cahaya dan L serta N keduanya merupakan vektor satuan. Kita catat bahwa suku ini adalah sebuah tetapan pada sebuah permukaan planar (dimana () tidak berubah-ubah). Jika ada lebih dari satu sumber cahaya maka:
IIJ
= kd
L" l;.,,(L,,'N)
dimana L" adalah vektor arah dari sumber cahaya yang ke n menuju titik pada permukaan. Kumpulan specular adalah sebuah fungsi n, sudut antara arah pandang dan arah cermin (Gambar 4.10): Is
= hk~ cos " Q = Ijk,(R. n"
n adalah sebuah indeks yang mensimulasikan kekasaran permukaan. Untuk sebuah cermin yang sempurna n akan bernilai tak terhingga dan cahaya yang dipantulkan akan dipaksa menuju arah cermin. Untuk nilai n bulat yang kecil kita menghasilkansebuah cupingpantulan,dimana ketebalancupingtersebut merupakan fungsi dari kekasaran permukaan (Gambar 4.11). Pengaruh suku refleksi specular dalam suatu model adalah untuk menghasilkan yang biasa disebut "highlight". Ini pada dasarnya adalah sebuah refleksi sumber cahaya yang menyebar pada suatu luasan permukaan menuju permukaan yang luas yang tergantung pada nilai . n. Warna dari cahaya yang dipantulkan secata specular berbeda dengan cahaya
Model Refleksi dan Iluminasi
I
-t), /
.
I
L
Surface
Gambar 4.9
Koefisien penyebaran Phong.
-6,~
1. .'i I. = /,1..",,'. n
"
\". Gambar 4.10 KomponenspecularPhong.
, ""%1\ ~
121
122
Pengantar Komputer Grafik
-
' \ I --
0 ...... / \
(a)
IV
-0 \ /
......
L
II
(h)
Gambar 4.11 (a) n besar memantulkan sebuah permukaan yang berkilau; (b) n keeil memantulkan permukaan yang kurang berkilau.
yang dipantulkan karena penyebaran. Dalam model pantulan specular yang sederhana, komponen specular dianggap sebagai wama sumber cahaya. Jika, katakan, sebuah permukaan hijau disinari dengan cahaya putih maka komponen pantulan penyebaran adalah hijau dan penyorotan adalah putih. Catatlah bahwa karena suku tersebut hanya tergantung pada Q dan n maka tidak ada sifat mengenai dua arah. Nilai dari (1)il)i)tidak penting. Ini imerupakan salah satu cacat teoritis utama dari model Phong. k. adalah sebuah koefisien pantulan spekular empiris yang akan diuraikan lebih rinci lagi. Dengan menambahkan komponen spekular dan penyebaran secara bersamasarna memberikan tiruan yang sangat mirip dengan sifat yang diuraikan dalam Bagian 4.2. Perhatikan Gambar 4.12. Ini adalah sebuah potongan melintang dari tanggapan pantulansecara keseluruhansebagaifungsidari orientasivektor pandang V. Potongan melintang tersebut berada di dalam sebuah bidang yang berisi vektor L dan titik P dan ia hanya mengiris melalui benjolan specular. Magnitudo dari intensitas yang dipantulkan adalah jarak dari P sepanjang arah V dimana V
Model Refleksi dan I/uminasi
123
N R
n = 10. ~O. 40. SO, 160
Gambar 4.12 Intensitas cahaya pada titik P sebagai fungsi dari orientasi vektor pandang V.
berpotongan dengan tampang tersebut. Gambar 4.13 memperlihatkan pangangan yang di"render" dari fungsi ini. Karena tidak ada perhitungan-perhitungan global, sebuah komponen ambient biasanya ditambahkan kepada suku penyebaran dan specular. Komponen ini menyinari permukaan yang, karena secara umum kita menggunakan sebuah sumber cahaya titik, yang jika tidak akan dirender hitam. Ini adalah permukaan yang dapat dilihat dari titik pandang akan tetapi bukan dari sumber cahaya tersebut. Hal ini secara umum akan memberikan pengaruh yang tidak diinginkan pada sebuah gambar hanya di dalam kegelapan saja yang disinari oleh sesuatu seperti lampu kilat (Plate 3). Komponen ambient adalah sebuah perkiraan mengenai iluminasi global. Oalam kenyataan permukaan yang demikian ini akan disinari oleh iluminasi yang tidak langsung, seperti pantulan jamak dari dinding. Oi dalam model pantulan lokal hanya sesuatu yang pantas dapat kita kerjakan dengan kerumitan komponen global adalah dengan mengabaikannya, dan komponen ambient biasanya dimodelkan sebagai sebuah tetapan. Kita tulis: 19= 1aka Oengan menambahkan komponen penyebaran, specular, dan ambient bersama-sama kita memiliki: (4.1)
124
Pengantar Komputer Grafik
Gambar 4.13 Sebuah versi yang di-render dari fungsi yang diperlihatkan sebagai sebuah potongan-melintang dalam Gambar 4. I2. Ekor anak panah adalah L dan kepala-kepala anak panah adalah tersebut adalah N dan R.
Kadang-kadang jarak diperhatikan dalam model pantulan lokal. Kita dapat menambahkan sebuah suku yang mengurangi intensitas cahaya sebagai sebuah fungsi dari jarak permukaan dari sumber cahaya. Hal ini menjamin bahwa permukaan tersebut berorientasi sarna, akan tetapi pada jarak yang berbeda dari sumber cahaya, tidak dianggap memiliki intensitas yang sarna. Karena alasan yang akan disebutkan kemudian, sumber cahaya dianggap berada padajarak yang tak terhingga dan sebuah ukuran yang sarna dengan jarak dari titik pandang ke permukaan tersebut dapat digunakan sebagai pengganti. Persamaan 4.1 menjadi: (4.2)
4.4
Pertimbangan geometrik Persamaan 4.2 dapat disederhanakan dengan membuat beberapa anggapan dan perkiraan geometrik. Pertama, jika sumber cahaya dan titik pandang dianggap berada pada jarak yang tak terhingga maka L dan V tetap pada daerah suatu gambar. Vektor R mahal untuk dihitung dan, meskipun Phong memberi sebuah metode yang efisien untuk perhitungan R, akan lebih baik menggunakan vektor H. Hal ini pertama kali muncul diperkenalkan oleh Blinn (1977). Kemudian suku specular menjadi tersebut menjadi sebuah fungsi (N.H) bukan fungsi (R'V). H adalah normal satuan terhadap sebuah permukaan hipotetis yang diorientasikan
Model Refleksi dan l/uminasi
125
setengahjalan searah antara vektor arah cahayaL dan vektor pandang V(Gambar 4.14): H= (L + V)/2 Ini adalah orientasi yang diperlukan bagi sebuah permukaan untuk memantulkan cahaya sepanjang arah V. Secara mudah dapat dilihat bahwa sudut antara R dan V adalah dua kali sudut antara N dan H akan tetapi ini dapat dikompensasikan untuk,jika perlu dengan pengaturan n. Gambar 4.15 memperlihatkan perbedaan penyorotan pada sebuah luasan yang lebih besar. Kini Persamaan 4.2 menjadi: (4.3) Sekarang ini berarti bahwa intensitas I hanya merupakan fungsi permukaan normal N. Jika L dan V berupa vektor tetap maka menjadi H. Ada dua dampak penempatan sumber cahaya pada jarak yang tak terhingga. Pertama, tidak ada variasi bayangan pada sebuah permukaan planar (dengan mengabaikan pengaruh jarak penyebut (r + k), karena L kini sebuah tetapan dan N tidak berubah pada permukaan tersebut. Kedua, bentuk penyorotan specular berubah. Secara umum variasi N.H pada sebuah permukaan kecil jika H adalah sebuah tetapan daripada jika H dihitung dari perubahan L.
v
Gambar 4.14 H adalah normal terhadap sebuah orientasi permukaanyang akan memantulkan semua cahaya sepanjang V.
126
Pengantar Komputer Grafik
(b)
Gambar 4.15 Perbedaan antara menggunakan (a) R.V dan (b) N-H untuk sebuah nilai n yang tetap. Catat mengenai perbedaan intensitas pada arah V.
4.5
Warna Untuk obyek yang berwarna pendekatan yang paling mudah adalah untuk memodelkan penyorotan specular berwarna putih (untuk sebuah sumber cahaya putih) dan untuk mengendalikanwarna obyek dengan penetapankoefisien pantulan penyebaran yang sesuai. Kita menggunakan tiga persamaan intensitas untuk mengemudikan monitor: Ir
= Iakar
+ Ij(kdr(L-N)
+ ks(N-H)n)
19 = lakag + Ukdg(L-N)
+ ks(N-H)n)
Ib = Iakab + Ij(kdb(L-N)
+ ks(N.H)n)
Model Refleksi dan J/uminasi
127
Catat bahwa suku specular adalah umum bagi tiga persamaan tersebut. Dengan meringkas tiga persamaan ini sebagai sebuah penyajian tunggal memberikan:
Akan disebutkan dalam tahap ini bahwa pendekatan tiga-contoh untuk memberi warna adalah perkiraankasar dan cara memperlakuanwarna yang teliti memerlukan jauh lebih banyak daripada tiga contoh. Hal ini berhubungan dengan Bab 14.
4.6
Ringkasan dari model Phong Hal-hal berikut ini meringkas model tersebut. Kebanyakan ya~g tidak mencukupi atau anggapan mengenai suatu model akan dihadapi dalam kursus pada buku ini.
.-
. . . . .. .
Sumber cahaya dianggap sebagai sumber titik. Sembarang distribusi intensitas dari sumber cahaya tersebut diabaikan. Semua geometri kecuali normal permukaan diabaikan (jadi sumber cahaya dan pemirsa ditempatkan padajarak yang tak berhingga). Suku penyebaran dan specular dimodelkan sebagai komponen lokal. Sebuah model impiris digunakan untuk mensimulasikan pengurangan suku sekitar vektor refleksi pemodelan permukaan yang mengkilap. Warna pantulan specular dianggap merupakan warna sumber cahaya (jadi, sorotan di-render putih tanpa memperhatikan bahan tersebut). Suku global (ambient) dimodelkan sebagai sebuah tetapan.
Akhirnya catat bahwa karena kesederhanaannya dan kekangan geometri ini merupakan model yang sangat dicintai, meskipun ia m~mberikan tingkat kenyataan yang cukup untuk banyak pemakaian, namun tetap membawa ciri-ciri komputer yang dapat dikenali. Keseluruhan pengaruh mengenai kurangnya interaksi antara obyek dalam gambar ini adalah bahwa mereka tampak seperti plastik dan mengambang. Bayangan dan pendekatan perkiraan terhadap iluminasi global dihadapi dalam kursus yang ada dalam buku ini dan dua tambahan terhadap model tersebut menengahi pengaruh pengambangan. Juga catat bahwa kehilangan bayangan berarti bukan hanya obyek tersebut yang tidak membuat bayangan pada obyek yang lain, akan tetapi juga bahwa pembayangan-sendiri dalam sebuah obyek diabaikan. Cekungan dalam sebuah obyek yang tersembunyi dari sumber cahaya hanya dibayangi secara tidak benar pada dasar permukaan
128
Pengantar Komputer Graftk
normal mereka. Pengaruh ini sering terlihat dalam urutan judul logo yang berjungkir batik pada TV. Dalam Gambar 4.16 sebuah huruf '0' mempertihatkan bahwa sebuah sorotan specular akan terjadi dalam sebuah daerah yang seharusnya dalam bayanganjika digunakan sebuah model pantulan lokal.
4.7
Dna pnlnh bola - sebnah contoh Studi kasus ini merupakan sebuah pemakaian singkat dari model Phong dan memperlihatkan pengaruh perubahan proporsi dari specular untuk menyebarkan pantulan dan n, indeks pemodelan specular, untuk sebuah permukaan sederhana. Plat 4 memperlihatkan hasil dari suatu program. Ia didasarkan pada sebuah lukisan oleh Roy Hall (Program of Computer Graphics, Cornell University, 1981). Dua puluh bola di-render dengan menggunakan nilai ~, ks, dan n untuk sebuah persamaan intensitas tunggal Ig. Keketatan sorotan specular dicapai dengan meningkatan n, yang berubah-ubah secara tegak. Perubahan datar adalah perbandingan antara kd dan ks. Pada sisi tangan-kanan, ~ bernilai satu dan ks bernilai nol. Kemudian kd dikurangi menuju nol dan ks dinaikkan menuju satu. Juga dalam sebuah piring adalah sebuah himpunan tampang intensitas untuk empat buah bola yang diperlihatkan, untuk masing-masing bola, dalam sebuah bidang yang melalui sorotan maksimum, kumpulan dari suku ambient (garis pendek yang putus-putus), suku penyebaran (garis putus) dan suku specular (garis utuh). Untuk sebuah titik tertentu pada suatu permukaan bola (atau bagian tersebut pada permukaan dipotong oleh bidang yang melalui pusat sorotan), intensitas tersebut diberikan oleh penjumlahan masing-masing tampang (jadi, penjumlahan nilai dari pusat pusat menuju masing-masing tampang). Model geometrik untuk contoh ini adalah secara langsung. Kita menganggap bahwa titik pandang terletak sepanjang sumbu z positif pada jarak tak terhingga dan nilai (x,y) pada permukaan tersebut dapat digunakan secara langsung sebagai koordinat layar. Titik koordinat tiga-dimensi pada permukaan setengah bola (yang dapat dilihat) dihitung dan digunakan untuk mengh~ilkan intensitas cahaya. Intensitas ini dihitung untuk sebuah titik (x,y,z) pada permukaan setengah bola, kemudian ditampilkan sebagai pixel (x..,y.),dimana: x..=x y,,=y
Model Refleksi dan Iluminasi
129
Lighl source ,1/
-;,~ Erroneous specular hi!!hliehl in sh"ado-;" area
Gambar 4.16 Sorotan yang salah yang sering terlihat dalam urutan judul TV.
Sambil lalu, pembuatan sebuah model geometrik khusus atau model pemrograman untuk sebuah himpunan obyek tertentu yang di-render adalah sah dan merupakan pendekatan yang sangat banyak digunakan. Seperti pemrosesan pada rendering agar seorang pemrogram dapat menggunakan teknik yang tergantung konteks daripada se,?uahsistem yang memiliki kegunaan umum. Hal ini khususnya demikian dalarn kasus urutan animasi, dimana sejumlah besar bingkai hams dihasilkan dengan menggunakan variasi pada model yang sarna. Program rendering (Program 4.1) yang diberikan menggunakan dua buah prosedur. ShadeSphere pada awalnya menghitung sebuah titik pada permukaan bola. Normal permukaan pada sebuah titik yang terdapat pada permukaan hanya berupa (x,y,z). Ini dilewatkan kedalam Ca/cu/ateLNandNnH. Oi dalarn prosedur ini vektor arah eahaya, L, jaraknya dari obyek d, dan vektor V dan H masing-masing dinyatakan sebagai tetapan-tetapan. Perhitungan yang pertama dalarn prosedur ini adalah perkalian titik LoN. Jika ini lebih keeil dari not maka titik yang ditinjau tidak dapat dilihat dari sumber eahaya, sebagaimana yang telah dibahas. Sebagai pilihan lain, kita dapat mengatakan bahwa sudut antara normal permukaan N dan vektor arah eahaya L lebih besar dari 90°. (Ini merupakan perintah untuk menguji pengamh penghilangan penyajian "if' ini). Catat bahwa jika L' N bernilai negatif maka titik tersebut berada pada permukaan yang tidak dapat melihat ke sumber eahaya dan kedua nilai LoN dan NeH ditetapkan not.
130
Pengantar Komputer Graftk
Program 4.1 Prosedur untuk bola yang memiliki bayangan.
procedure SlzadeSplzere (Kd, Ks: real; Speclndex, Xcencre. Ycentre, radius: integer); const !light
K
var
=
140;
= 70.0;
JaKa = 0.2; Hx = 0.325058; Hy = 0.325058; H~ = 0.888074; dx = 110.0; dy = 110.0; d::. = 110.0; Lx = 0.57735; Ly = 0.57735; L::. = 0.57735;
Jg, Jrb. x, y. ~: inceger: rsql/are. xsql/are, ysql/are. ::.sql/are.denom. xn. yn, ::.n.LdocN, NnH, disc, discfactor, ambiencterm, diffl/secerm. specl/larcerm: real; procedure Calcl/laceL.\'andNnH (x. y, ::..Spec/ndex: inceger: xn, yn. ::.n:real; ,'ar LdocN. dist, NnH: real); var NH: real: begin Ldoc.\' := XI"'.Lx - .nuLy + ::.n*L::.; iC Leioc.V <= 0.0 then LeiocN := 0.0 else begin disc := sqrc Is'll' leix - x) + sqr (dy - y) + sqr Id::.-::.»; NH := Hx':'x1I - Hy*yn + H::.*::.n: N1IH := exp (Spec/1Idex*ln (NH»: end: end; {CalculaceLSa1ld.\'nH} begin {ShadeSphere} rsql/are := sqr (radil/s): Cory := radius to radius do begin ysql/are :=sqr (y); Cor x := radius to radius do begin xsql/are := sqr (x); iC(xsquare ... ysql/are) < = rsql/Cire then begin
-
-
z
: = round
(sqrc (rsquare
-
xsquare
- ysql/are»:
zsql/are := sqr (~); de1lom := sqrc (xsql/are + ysquare + ::.sql/are); .tn := x/denom; yn := y/cle1lom; zn := lo/denom: CalculateL.\'and,v1lH (x, y, z, Spec/ndex. xn, yn. lon, LdotN, disc, NnH ): ambiencterm := JaKa;
Model Refleksi dan lluminasi
131
if LdotN <= 0.0 then begin 19 := round (255*ambientterm); lrb := 0; end else begin distfactor := llight/(dist + K}; diffuse term := distfactor*Kd*LdotN: specularterm := distfactor*Ks*NnH: 19 := round (255"(ambientterm + diffuseterm + specularterm»; lrb := round (255..specularterm); end: Write Pixel (Xcefltre -+x, Ycentre + y, lrb, 19, lrb); end: end: end; end; {ShadeSphere}
Akhimya, catat bahwa pemutaran intensitas biasanya diperlukan untuk memperoleh sebuah hasil yang bagus. Sorotan yang paling cerah dalam gambar maksimum adalah putih. Secara teoritis ini salah. Kita memandang sepanjang sumbu z positif dan intensitas sorotan hanya bemilai maksimum jika kita memandang sepanjang vektor arah cahaya,jadi: V=L Jika, misalnya, kita menghasilkan sebuah urutan animasi dan ingin menggerakkan titik pandang sekitar lingkaran, maka sorotan yang terlihat dari sumbu z akan lebih redup daripada yang terlihat bila memandang sepanjang vektor arah cahaya. Titik lain dalam hubungannya dengan hal ini adalah penjenuhan sorotan. Jika k. diatur sedemikian rupa sehingga intensitas sorotan yang dihitung tidak pemah melebihi intensitas sumber cahaya atau nilai maksimum (RGB) maka untuk sebuah bola hanya satu pixel yang akan di-render pada putih maksimum. Ia dapat diinginkan agar memungkinkan intensitas sorotan menjadi jenuh dan merender sebuah luasan yang terdiri dari pixel pada putih maksimum. Pengaruh yang dapat dilihat dari faktor ini adalah menjadi lebih buruk dengan meningkatnya nilai n. Salah satu pokok dalam studi kasus ini adalah untuk mendemonstrasikan bahwa pengimplementasian secara langsung model refleksi sederhana tidak akan
132
Pengantar Komputer Grafik
selalu memberikan hasil yang dapat diterima. Sebagaimana yang kita lihat, diperlukan pengaturan sampai tingkat tertentu.
4.8
Menggunakan tabellook-up dengan model refleksi Look-up table (LUT) video atau tabel warna adalah sebuah tabel perangkat-keras yang ditempatkan antara pengingat layar dan sistem tampilan gambar. Raison d'etre sebenarnya adalah untuk memperluas jangkauan wama sebuah terminal gratis. Sebagai contoh, dengan sebuah pengingat layar 8-bit sebuah pixel pada layar tersebut dapat memiliki satu di antara 256 warna. Jangkauan ini bisa ditingkatkan menjadi sembarang dari 256 warna diantara sebuah 'pallete' dari 224 (I6 juta) dengan menggunakan sebuah tabel "look-up" (Gambar 4.17). Dalam sistem ini intensitas pixel, sebagai pengganti yang tampak secara langsung pada layar, digunakan untuk mengalamati sebuah baris dalam LUT tersebut. Kenyataannya adalah bahwa seluruh isi sebuah LUT dapat diubah dalam kawasan waktu nyata yang menghantarkan kepada sejumlah bidang yang berbeda pada grafik komputer. Sebuah dampak dari penyederhanaan yang mengurangi intensitas yang terpantul tersebut menjadi sebuah fungsi N: 1=f(N) adalah bahwa ia memungkinkan untuk perhitungan awal himpunan nilai I, menyimpan ini dalam sebuah tabel dan menggunakan normal permukaan untuk mengindeks tabel tersebut. Sebuah situasi animasi (barangkali agak jarang) dimana metode ini dapat memberikan real-time, atau mendekati real-time, urutan adalah dimana sebuah gambar tiga-dimensi agar tetap statis sementara sumber iIuminasi bergerak atau berubah dengan berbagai cara; sebagai contoh dalam intensitas atau karakteristik warna. Jika gambar tersebut masih statis maka normal permukaan tidak berubah dengan adanya perubahan waktu. Di sini gambar tersebut disimpan dalam pengingat layar sebagai sebuah himpunan yang terdiri dari normal permukaan. Dengan mengubah cara yang digunakan untuk menyinari gambar tersebut akan mudah diatasi, dalam real time, dengan mengubah isi tabel yang menyimpan himpunan nilai 1. Bass (1981) menggunakan metode ini dengan sebuah LUT 12-bit. Ini berarti bahwa dapat digunakan vektor normal yang berbeda sebanyak 4096 buah. Di-
MDde/ Refleksi dan I/uminasi
133
dalarn tabel ini ditambahkan kekurangan metode tersebut. Menghasilkan noise quantisasi vektor yang menunjukkan dirinya sendiri dalam interferensi koheren dalarn gambar akhir. Penyelesaiannya adalah, tentu'saja dengan meningkatkan ukuran besaran daripada LUT yang perlu biaya perangkat-keras tarnbahan. Ide dasar yang sarna dapat digunakan dengan sebuah tabel perangkat-lunak untuk menye~erhanakan perhitungan I menjadi pengevaluasian normal permukaan yang dinomalisasikan. Ini memiliki kerugian bahwa sebuah tabel yang terpisah harus disimpan untuk masing-masing obyek di dalarn suatu gambar yang memiliki sebuah tabel koefisien pantulan yang berbeda. Hal ini akan memiliki pengaruh dalam perluasan basis data obyek dalarn kebanyakan konteks. Metode tersebut berguna dalam gambar yang berisi banyak obyek yang identik (misalnya, dalam rendering model molekular) dimana akan ada kejadian dalamjumlah besar pada masing-masingnormal permukaanyang memungkinkan. Penggunaan LUT dalarn cerita diuraikan oleh Warn (1983). Ide tersebut di sini adalah untuk memperbolehkan tingkat pengendalian interaktif pada tampilan gambar yang terakhir; yakni, warna dan proporsi specular untuk menyebarkan pantulan. Warn menggunakan model Phong akan tetapi menganggap bahwa intensitas pada sebuah titik yang terdapat pada sebuah permukaan berisi sebuah kumpulan penyebaran dan specular, dan bahwa sebuah intensitas khusus berhubungan secara tepat dengan salah satu gabungan dari komponen penyebar dan specular. (Ini merupakan penyederhanaan dari yang tampak dikerjakan dalam praktek.) Intensitas yang telah dihitung disimpan dalam penyangga bingkai lO-bit yang kemudian digunakan untuk mengakses sebuah LUT. LUT tersebut dimuat dengan sebuah himpunan warna yang disebarkan dari intensitas yang bertarnbah yang bercampur kedalam sebuah himpunan warna specular.(Gambar 4.18). Garis Look-up table
R
G
B
255 8bit 2-1bits to display system
Pixel
0
y
Screen memory
2-1bits
Gambar 4.17 Sebuah pengingat layar 8-bit yang mengakses sebuah tabellook-up 8-bit x 24-bit.
134
Pengantar Komputer Grafik
~
Blend threshold
4- Intensity Diffuse colours
LUT
Gambar
4.18
Menggunakan sebuah LUT untuk mencampur wama penyebaran dan specular.
diagonal dalam Gambar 4.18 menyatakan peralihan dari wama penyebaran menjadi wama specular. Kedua wama specular dan wama penyebaran dapat diubah secara interaktif melalui interface pemakai yang sesuai. (Hal ini akan diperlihatkan nanti bahwa ia tidak selalu merupakan perkiraan yang bagus untuk memiliki sorotan specular putih.) Intensitas campuran, ambang dimana sorotan specular mulai terjadi, dapat juga diubah secara interaktif, dengan mengubah luasan dari sorotan specular yang dapat dilihat dan oleh karena itu kelihatan gambar tersebut, tanpa harns menghitung kembali dari persamaan bayang-bayang. Salah satu kerugian daripada pendekatan ini adalah bahwa sebuah pemisahan yang terpisah diperlukan dalam LUT tersebut untuk masing-masingjenis permukaan. Untuk sebuah tabel IO-bit ini menempatkan kekangan nyata pada jumlah jenis permukaan dan jangkauan wama dalam sebuah jenis permukaan. Plate 5 memperlihatkan pendemonstrasian proses ini yang digunakan sehubungan dengan sebuah teknik interaksi yang sederhana untuk mengubah isi LUT. Semua dari tiga gambaran diperoleh dari satu proses rendering dengan mengubah masukan LUT. Dengan membagi LUT menjadi tiga kolom, komponen merah,
Model Refleksi don Iluminasi
135
hijau, dan biru dari warna sebuah masukan (penggunaan model warna RGB yang rinei dalam grafik komputer ditangani secara luas dalam Bab 14) kita pegang bersama tampang RGB untuk menetapkan seluruh isi LUT tersebut. Dengan .mengubah masukan di bawah ambang campuran mengubah wama suatu obyek, dengan mengubah diatas ambang ini akan mengubah wama soro~, dan mengubah nilai ambang campuran yang akan mengubah derajad pantulan specular. Masing-masing gambar memperlihatkan sebuah obyek bersama-sama dengan profil LUT yang menyertai. Gambar yang pertama memperlihatkan bagaimana wama obyek dan warna sorotan keduanya mudah diubah untuk mensimulasikan obyek metalik - dimana warna sor.otantidak 'perlu putih. Dalam gambar yang kedua intensitas campuran diubah dan tingkat specular untuk menyebarkan pantulan diubah. Pengaruh-pengaruh khusus mudah diperoleh seperti yang diperlihatkan dalam gambaran akhir. Ini merupakan teknik yang berguna pada saat sebuah gambar disusun. Rerendering dengan perubahan koefisien dalam persamaan Phong dapat memerlukan waktu beberapa menit dan jika wama estetik merupakan hal yang penting maka interaksi dalam kawasan real time merupakan hal yang utama.
4.9
Sifat transparansi empiris Pengaruh sifat tembus yang sederhana dalam grafik komputer hampir biasa seperti model pantulan sederhana. Jika refraksi diabaikan maka sifat tembus dapat diperkirakan nyata sekali (namun efektif) dengan menggunakan sebuah parameter linear I untuk mencampur warna obyek dengan intensitas latar belakang tunggaI. Untuk obyek yang tembus sebagaian yang berupa rongga, I dapat dimodulasikan oleh komponen z pada normal permukaan obyek yang diproyeksikan yang dinormalisasi (Kay, 1979). Kemudian kita mengatakan bahwa I adalah faktor transmisi yang melemahkan segala sesuatu di belakang obyek tersebut (semakin jauh z) sesuai dengan jumlah yang dapat diperkirakan oleh perkalian dengan Nz.Untuk lintasan yang diperlihatkan pada Gambar 4.19, PI lebih panjang daripada Pz dan titik spada permukaan obyek tersebut harus menampakkan intensitas wama latar belakang yang lebih rendah daripada titik r. I diberikan oleh: I
= In/in +
(In/ax - In/in)Nz
(4.5)
136
Pengantar Komputer Grafik
Wama obyek 10dihitung dengan cara normal menggunakan sebuah model pantulan. Dalam kasus yang paling sederhana, wama latar belakang 1b dapat berupa sebuah tetapan. Intensitas akhir 1 diberikan oleh campuran:
(4.6) Jika pengaruh refraktif diperhitungkan dan gambar tersebut sederhana - katakan sebuah latar belakang planar
-
maka pola pelacakan sinar untuk kasus khusus
yang sederhana (dimana sinar berhenti pada latar belakang) mudah diimplementasikan (lihat Bab 8). Akhimya, masalah utama dengan adannya sifat tembusadalah bahwa ia tidak dapat diintegrasikan secara mudah dengan metode rendering yang lebih disukai yakni pendekatan yang didasarkan pada penyangga-Z (lihat Bagian 5.5.9).
4.10
Model Cook dan Torrance Perkembangan pertama yang cukup berarti dalam model pantulan setelah model Phong yang menyertakan dasar fisika yang bukan sebuah suku specular empiris. Ini diajukan pertama kali oleh Blinn (1977) dan berdasarakan model permukaan yang diperkenalkan oleh Torrance dan Sparrow (1967). Kemudian Cook dan Torrance (1982) meningkatkan model ini yang memperhitungkan kesetimbangan energi dan perubahan wama dalam sebuah sorotan specular. Secara khusus mereka diarahkan perhatiannya kepada ketelitian rendering permukaan metalik dan bukan metalik yang berbeda. Perkembangan ini merupakan contoh yang bagus mengenai kesulitan yang berkelanjutan yang menghadapi para pe-render gambar: merupakan pencarian model fisik yang makin dan semakin teliti (yang tidak dapat dielakkan lagi mendatangkan biaya pemrosesan yang semakin tinggi) seimbang dengan biaya tambahan computing? Sebuah gambar grafik komputer, akhimya, sebuah tiruan tercipta. Gambar yang kenyataannya teliti pasti memiliki tempat dalam grafik komputer, akan tetapi ini tidak menyatakan secara langsung bahwa perlu ditentukan kenyataan yang makin dan semakin besar. Tentu saja pada saat publikasi, hampir tentu bahwa kebanyakan gambar di-render dengan model Phong. ModelCook dan Torrancedibedakandari modelPhongoleh faktorberikut:
.
la didasarkan pada pertimbangan mengenai energi yang datang bukan intensitas.
Model Refleksi dan l/uminasi
Back~round
137
colour
for point s Background colour for point r
-": = II
Hollu object N:=
tr:l:'1Sparenl
I
x
Gambar 4.19 Campuran warna latar belakang dan warna obyek sebagai fungsi Nz, komponen s pada normal permukaan.
· Suku specular didasarkan pada model microfacet fisiko
·
Perubahan warna dalam sorotan didasarkan pada hukum Fresnel dan karakteristik bahan tersebut diukur.
Model tersebut berisi cara memperlakukan Blinn (Blinn, 1977) yang mencakup faktor kedua akan tetapi tidak menyertakan yang ketiga. Model tersebut berisi tiga suku: pantulan specular dan penyebaran yang disebabkan karena penyinaran langsung dan komponen ambient global. Dalam hal ini, dan kenyataan bahwa ia hanya memodelkan cahaya yang disebabkan karena iIuminasi langsung, ini mirip dengan pendekatan Phong. Salah satu dari tujuan utama dari model tersebut adalah untuk merender permukaan metal yang dipoles secara benar; model Phong memberi kesan permukaan plastik yang diberi warna, juga ia tidak teliti dalam suku specular untuk iIuminasi dengan sudut datang yang kecil. Secara fisik amplitudo tonjolan specular merupakan fungsi sudut sumber cahaya yang membuat permukaan. Gambar 4.20 memperlihatkan nilai intensitas yang dipantulkan untuk sebuah sumber cahaya pada sudut datang yang besar dan kecil (L1 dan L2)
138
Pengantar Komputer Grajik
Gambar 4.20 Nilai intensitas specular untuk sudut datang yang besar dan kecil.
yang diperoleh dengan menggunakan model yang ditingkatkan yang diuraikan dalam bab ini. Dengan menggunakan model Phong, tonjolan specular yang sarna dihasilkan pada RI dan R2. Sifat ini muncul dalam kenyataan adalah mudah dikonfirmasikan dengan memandang sudut datang cahaya yang rendah yang dipantulkan dari alas kertas. Sebagai tambahan, untuk sudut datang yang rendah, nilai maksimum tonjolan tidak berimpit dengan vektor pantulan R. Sebuah fungsi yang di-render yang melukiskan titik ini diperlihatkan dalam Gambar 4.21.) Model Cook dan Torrance membetulkan kesalahan ini, dan ini menghasilkan perubahan bentuk sorotan specular untuk iluminasi pada sudut datang yang keciI. Pemodelan sorotan specular secara benar khususnya penting dalam urutan animasi yang melibatkan pantulan speculat. Model permukaan dimana suku specular yang ditingkatkan ini didasarkan telah diberikan oleh Torrance dan Sparrow (1967). Blinn (1977) menggunakan suku specular baru ini untuk memperhitungkan ketergantungan pada magnitudo sorotan specular pada sudut datang, dan mempertahankan perkiraan bahwa warna sorotan tersebut adalah warna sumber cahaya. Cook dan Torrance mencantumkan ketergantungan panjang gelombang dari koefisien pantulan specular dalam model tersebut (Plate 6). Secara urnurn warna dari sorotan specular tergantung pada karakteristik fisik bahan, kecuali bila iIuminasi berada pada sudut datang yang keciI. Di dalam model Phong warna sorotan adalah warna sumber cahaya, biasanya putih, dan
-
--.------.-----.-.---..
Model Refleksi dan I/uminasi
(a)
139
(b)
Gambar 4.21 Model Phong (a) dan model Cook dan Torrance (b) untuk sudut datang yang kecil. Sebagai catatan bahwa cuping yang lebih besar daJam (b) dan pusat cuping yang tidak berimpit dengan vektor pantulan R.
perubahan dari sorotan putih menuju sebuah daerah yang ada penyebaran pantulan berarti perubahan warna yang tergantung pada magnitudo relatif dari suku penyebaran dan specular. Begitu suku specular dikurangi menuju nol, warna sekitar sorotan akan mendekati warna yang diberikan oleh koefisien penyebaran. Perhatikan bola yang diperlihatkan dalam Plat 4. Begitu intensitas suku specular berkurang, suku penyebaran menjadi dominan dan warna berubah dari putih menjadi hijau. Perubahan warna ini adalah sebuah pengaruh yang akan hanya akan terjadi dalam praktek untuk plastik yang diberi warna hijau. Bahan yang lain akan memiliki watak lain. Oi dalam model Cook dan Torrance memungkinkan untuk menyatakan, misalnya, permukaan metal yang dipoles sangat halus dengan kumpulan penyebaran nol. Perubahan warna dan intensitas pada suku sorotan keduanya dikendalikan oleh nilai koefisien pantulan specular. Oi dalam model BORF dipisah ke dalam kumpulan penyebaran dan specular dan kita memiliki: BORF = s Rs + d Rd
dimana s + d = 1
Ini memperhitungkan bahwa komponen iluminasi dilihat dalam arah tertentu yakni arah pandangan,
sebagai contoh
- berasal
dari sebuah sumber langsung atau
sejumlah sumber langsung. Terhadap ini harus ditambahkan, seperti halnya de-
140
Pengantar Komputer Grafik
ngan model sebelumnya, sebuah suku yang disebabkan karena penyinaran ambient. Di dalam model Phong iIuminasi ambient dimodelkan sebagai sebuah tetapan. Kenyataannya, iIuminasi ambient dapat dipandang sebagai kebalikan proses iIuminasi yang menyebar. Sebuah penyebar yang sempuma memantulkan cahaya sarna ke semua arah. Gabungan yang dipantulkan sepanjang arah pandang diang.; gap sarna seperti yang dipantulkan ke sembarang arah dalam ruang pantul setengah bola. Sebaliknya, cahaya ambient adalah cahaya yang datang pada elemen permukaan dari setiap arah dalam ruang pantul setengah bola. Cahaya yang dipantulkan sepanjang arah pandang dari sembarangarah ambient yang datang adalah kecil, yakni intensitas ambient datang dikalikan dengan Ro, pantulan ambient untuk arah ini. Jika kita menganggap bahwa Ro adalah sebuah tetapan pada ruang setengah bola maka iIuminasi ambient total yang dipantulkan sepanjang arah tertentu adalah Ra dikalikan integral la, intensitas ambien yang datang. Jika kita menganggap la adalah sebuah tetapan pada ruang tersebut maka suku ambient juga merupakan sebuah tetapan yang sarna dengan laRa.Karena suku ambient dapat dianggap sebagai intensitas yang dipantulkan (penyebaran dan specular) dari sebuah sumber cahaya langsung yang jaraknya tak terhingga dengan intensitas yang rendah, Ro harus berupa sebuah kombinasi linear dari Rs dan RI. Pendekatan semacam ini menyederhanakan model tersebut menjadi sebuah versi model Phomg yang dimodifikasi yang dapat digunakan untuk mengisolasi obyek yang mengambang dalam ruang bebas. Dalam praktek, la tergantung pada dekatnya obyek satu sarna lain. Sebuah perkiraan terhadap komputasi yang teliti dari suku ambient global adalah dengan mencantumkan bagian yang menghalang (blocking fraction, f). Ini adalah bagian dari setengah bola yang tidak dihalangi oleh obyek yang berdekatan. Kemudian kita memiliki:
-
Suku ambient global = laRa! dan model yang lengkap untuk intensitas pada sebuah titik adalah:
I
= laRa!
+ 2: hn(N.Ln) n
dWi.n(dRd
+ sRs)
dan ini harus dibandingkan dengan Persamaan 4.2. Model inidibedakandariyang sebelumnyaoleh kenyataanbahwa ia mengandung sebuah definisi pemantulan yang menghubungkan kecerahan pada sebuah obyek terhadap intensitas dan ukuran sumber cahaya yang menyinarinya. Perbedaan lain
Model Refleksi dan Iluminasi
141
Gambar 4.22 Model microfacet pada sebuah permukaan pantul: sebuah himpunan lekukan yang berbentuk V yang simetri yang memiliki orientasi dapat dimodelkan dengan sebuah distribusi sekitar arah tertentu.
yang utama dari model Cook dan Torranceadalahdigabungkandalamsuku specular. Oi dalam model Phong penyebaransudut kumpulan specularsekitarvektor pantulan R dimodelkan secara impiris dengan menggunakan suku cosinus yang berpangkat. Oi sini model tersebut adalah satu-satunya fisik yang didasarkan pada sebuah uraian microfacet pada permukaanyang diperkenalkanoleh Torrance dan Sparrow (1967). Ini didasarkan pada gagasan mengenai sebuah permukaan yang memantulkan yang berisi microfacet dalam jumlah yang besar, masing-masing dengan pemantul yang sempurn!latau permukaan kaca (Gambar 4.22). Geometrik memperluas sebuah elemen permukaan yakni satuan luas permukaan dari mana intensitas yang dipantulkan dihitung
-
yang berarti bahwa ia dibuat dari kumpulan
microfacet ini. Ini dapat diuraikan oleh sebuah fungsi distribusi dari lereng atau orientasi bidang pantul dari microfacet tersebut. Jika kita memperhatikan komponen Ra sebagai sebuah tetapan maka secara fisik model tersebut digabungkan ke dalam suku specular yang ditentukan oleh: R _ S
FDG
- iT(N. V)(N . L)
(4.7)
Oari persamaan ini dapat dilihat bahwa ada tiga buah suku yang beraksi bersama untuk mempengaruhi nilai R.".Pertama kita akan menjelaskan filosofi tersebut secara keseluruhan dari suku ini dan melihat secara individual pada bagaimana masing-masing dimodelkan. F, adalah suku Fresnel, dapat dipandang sebagai sebuah koefisien pantulan teoritis. Berdasarkan pada teori gelombang klasik, ia
142
Pengantar Komputer Grafik
Gambar 4.23 Perkiraan bidang tangen. Watak pantulan pada titik P dapat dianggap sarna dengan yang akan terjadi dari sebuah bidang yang sempuma yang ditempatkan pada P. Bidang tersebut adalah bidang tangen.
diterapkan pada sebuah pennukaan yang seperti cennin yang sempurna. Nilainya untuk sebuah pennukaan yang sedemikianrupatergantungpada panjanggelombang, sudut datang, dan bahan. Untuk sembarang praktek atau permukaan kasar kita dapat memperhatikan titik-titik pada pennukaan tersebut secara lokal adalah sempurna. Pendekatan ini dikenal sebagai perkiraan bidang tangen (Gambar 4.23). Pada sebuah titik permukaan tersebut dianggap sebagai sebuah bidang yang sempurna yang memiliki orientasiyang ditentukanoleh tangen terhadap pennukaan pada titik tersebut. Perkiraan ini hanya benar jika lekukan lokal pada pennukaan tersebutbesarbila dibandingkandenganpanjanggelombangdari cahayayang datang. Di dalam grafik komputer kita tertarik pada cahaya yang diarahkan sepanjang arah V dan ini merupakan peran dari suku kedua D. D adalah adalah sebuah fungsi distribusi untuk microfacet pada sebuah pennukaan yang memberikan taksiran statistik bagian dari lereng microfacetyang diorientasikanpada arah H. Kita memperhatikan bahwa pennukaan tersebut dibuat lekukanyang berbentuk V yang mana suku Fresnel dapat diterapkanpada pennukaan tersebut. Akhirnya, G memperhitungkan kenyataan bahwa pada sudut datang yang besar cahaya yang masuk ke sebuah facet dapat dibayangi oleh ketidakteraturan permukaan yang berdekatan, dan cahaya yang meninggalkan sepanjang sudut pandang yang menyentuh pennukaan tersebut dapat diberi masker atau dihentikan jalannya menuju pemirsa. Pertama, perhatikan D. Fungsi yang digunakan oleh Torrance dan Sparrow adalah sebuah Gaussian sederhana:
Model Refleksi dan lluminasi
D
= k exp [-
143
(aim):!]
dimana k adalah sebuah tetapan a adalah sudut microfacetterhadapnormal(rata-rata)permukaan,yakni, sudut antaraN dan H. m adalah lereng rms dari microfacet. Untuk nilai m yang rendah permukaan tersebut berkilau atau mengkilap. (Jika m bemilai nol maka permukaan tersebut berupa sebuah cermin yang sempuma dan H harus sarna dengan Nagar menjadi sembarang kumumpulan pantulan specular sepanjang V). Sebuah nilai m yang tinggi menunjukkan bahwa permukaan tersebut tidak mengkilap. D mengukur ketergantungan R..pada sudut antara N dan H. Model Cook dan Torrance menggunakan sebuah d,istribusi yang diajukan oleh Beckmann dan Spizzichio (1963): 1
D= m-, cos4 a
' exp[-(tan-am-)
I
'
]
Ini secara komputasionallebih mahal akan tetapi hanya merupakan fungsi m dan a saja dan tidak mencantumkan sembarang tetapan. Cuping yang diperlihatkan dalam Gambar 4.24 untuk distribusi Gausian dan distribusi Beckmann bagi nilai m yang berbeda. Nilai D diberikan oleh jarak dari elemen permukaan (menuju cuping sebelah luar) dan bemilai maksimum sepanjang vektor pantulan R. Kini dapat diperhatikan kebalikan dari ketergantungan R.. pada N.V. Begitu sudut antara N dan V ditingkatkan, semakin luas permukaan yang terlihat sepanjang arah pandang. Sebagian besar microfacet diorientasikan dalam arah H akan terlihat. Jika permukaan tersebut dipandang secara normal maka hanya akan tetlihat luasan yang sangat kecil. Jika, di pihak lain, permukaan tersebut dipandang pada sudut yang kecil maka sejumlah besar microfacet akan tetlihat sepanjang permukaan tersebut. Pengaruh ini akan dinetralkan oleh faktor berikut. Stiku berikutnya yang diperhatikan adalah G. Ini adalah sebuah faktor pelemahan yang disebabkan karena pengaruh bayangan oleh microfacet Gambar 4.25 memperlihatkan tiga kasus yang memungkinkan yang tergantung pada posisi relatif L dan V yang digunakan untuk menguraikan interferensi dalam cahaya datang dan memberi masker untuk menguraikan interferensi dalam cahaya yang dipantulkan. Derajad pemaskeran dan pembayangan tergantung pada perbanding-
144
Pengantar Kompu/er Grafik
an Il/lz (Gambar 4.26) yang menguraikan kesesuaian antara jumlah facet yang andil dan cahaya yang dipantulkan yang diberikan oleh: G = 1 - iJ/h Dalam kasus dimana II berkurang menuju nol maka semua cahaya yang dipantulkan keluar dan
G= I Penurunan yang rinci mengenai ketergantungan iJ/h pada L, V, dan H diberikan oleh Blinn (1977). Untuk pemaskeran: G
m
= 2(N . H)( N . V) V.H.
Untuk pembayangan situasi secara geometri identik dengan peran vektor L dan H yang saling dipertukarkan. Untuk pembayangan kita memiliki:
G
s
=
2(N. H){.Y. L)
V. H
Nilai G yang harus digunakan adalah Gsdan Gmminimum. Jadi:
F, suku Fresnel, memperhitungkan perubahan warna pada sorotan specular sebagai fungsi dari sudut datang dari sumber cahaya ifJ.Persamaan ini menyatakan pantulan pada permukaan sebuah cermin halus yang sempurna dalam suku indeks refraktif suatu bahan, n, dan sudut datang dari sumber cahaya ifJ: F=!sin2(<1>8) + tan2(<1>- 8) 2 sin2 (<1> + 8) tan2 (<1> + 8) dimana ifJadalah sudut datang,jadi, cos.1(L-H) = cos.I(V.H) e adalah sudut refraksi.
sin e = sin ifJ/T] dimana T]adalah indeks refraksi bahan
(4.8)
Model Rejleksi don Iluminasi
R
Gaussian.
m
R
= O.~
Beckmann.
m
= O.~
R
Gaussian. m
145
R
= 0.6
Beckmann.
m
= 0.6
(a)
(1))
Gambar 4.24 (a) Distribusi orientasi microfacet; (b) Distribusi Gaussian dengan m yang bervariasi dari 0.2 sampai 0.8.
Sudut ini dipeflihatkan dalam Gambar 4.27. F bernilai minimum, jadi kebanyakan cahaya diserap bila
146
Pengantar Komputer Graftk
(a)
;.....
(h)
. ,~;'--"J;.f.:
. ~'''''',
. ,. ,,'
.,jV' r'"
(e)
Gambar 4.25 Interaksi cahaya dengan microfacet permukaan pantul. (a) Tidak ada interferensi: sudut antara L dan V kecil semua cahaya yang menimpa pada microfacet tersebut keluar. (b) Beberapa cahaya yang dipantulkan terjebak - 'pemaskeran'. (c) Beberapa cahaya yang datang 'dibayangi' (kebalikan dari kasus b).
-
Model Rejle/rsi don Iluminasi
147
Gambar 4.26 Jumlah cahaya yang keluar tergantung pada (1 -1t112).
adalah fungsi dari panjang gelombang. Ketergantungan ini secara normal tidak dikenal dan Cook serta Torrance menyarankan kompromi praktis, yakni membuat pantas persamaan Fresnel terhadap pantulan normal yang diukur untuk sebuah permukaan yang dipoles. Dengan menuliskan kembali persamaan Fresnel sebagai:
-
=!
F
-
(g c)2 I + (c(g + c) 1)2 2 (g + c)2 { (c(g c) + 1)2}
-
dimana c
= cos
= V' H
dan: ?
2
?
g- = 1/ + c- - 1 untuk ifJ= 0, jadi sudut datang normal:
Fo = (,.,- 1)2 (,.,+ 1)2 memberikan:
148
Pengantar Komputer Grafik
Gambar 4.27 Sudut yang digunakan dalam persamaan Fresnel.
Kemudian ini memberikan nilai untuk n sebagai fungsi panjang gelombang dari nilai Fo yang diukur dan ini dapat digantikan ke dalam Persamaan 4.8 untuk memberikan F bagi sembarang sudut datang q>.Sebuah metode untuk memperkirakan perubahan warna dalam sorotan sebagai fungsi q>adalah untuk memperoleh berikut ini: (1)
FO,merah, FO,hijau, dan FO,biru,diperoleh dari nilai yang diukur (Purdue University, 1970) yang memberikan llmerah,llhijau,dan llbiru.
(2)
Nilai,u ini kemudian digantikan ke dalam Persamaan 4.8 untuk memperoleh Fmerah(q»,Fhijau(q»,dan Fbiru(q».Potongan yang melalui F(q>,"A)ini diperlihatkan pada Gambar 4.28.
(3)
Nilai F ini digunakan dalam intensitas (R,G,B).
Secara umum, R1 dan F (dan tentu saja R..) keduanya berubah-ubah dengan adanya perubahan geometrik pantulan. Cook dan Torrance menganggap bahwa R1 adalah pantulan dua arah untuk iIuminasi normal dan sangat tergantung pada sudut iIuminasi terhadap F. Ketergantungan F pada sudut datang q>dan panjang
Model Refleksi dan I/uminasi
149
gelombang diperlihatkan pada Gambar 4.28 untuk permukaan tembaga yang dipoles. Oari sini terlihat bahwa perubahan warna yang cukup berarti terjadi hanya bila 4>mendekati 1t/2. Juga catat bahwa ini tidak teliti untuk mencoba memodel warna yang sebenarnya dengan mengerjakan menggunakan tiga himpunan koefisien panjang gelombang merah, hijau, dan biru. Renderingwarna dan perubahan warna yang teliti yang mensimulasikanmetal yang sebenarnya memerlukan pertimbangan mengenai variasi spektral yang lengkap dari F, dan distribusi spektral sumber cahaya. Pertimbangan ini diuraikan secara rinei dalam Bab 14. Plat 6 memperlihatkan himpunan yang terdiri dari tiga bola yang diperoleh dengan menggunakan teknik ini. Gambaran tersebut sangat dilebih-Iebihkan untuk memperlihatkan bagaimana model tersebut mengendalikan rendering obyek metal yang mengkilap. Oalam hal ini kumpulan penyebaran dengan sengaja dibuat bemilai nol. Oalam praktek, kumpulan penyebaran yang bukan nol akan menghasilkan pengaruh yang lebih dapat dikenali. Pesan tersebut adalah bahwa obyek metalik yang mengkilap hampir bersifat seperti bola cermin, perbedaannya hanya berupa wama sorotan specular. Oalam gambar tersebut masing-masing bola disinari oleh sumber cahaya putih yang sempuma pada sudut datang normal dan pada sudut 77°. Bola yang paling atas diproduksi oleh sebuah bentuk bayangan Phong yang memperlihatkan tidak ada perubahan intensitas antara sorotan pusat dan edge. Warna tersebut dikendalikan (ditentukan bahwa kd bemilai nol) oleh penetapan warna sumber cahaya terhadap warna obyek. Bola yang ditengah di-render dengan menggunakan model Cook dan Torrance akan tetapi suku F ketergantungan pada sudut datang di dalam Rs diabaikan. Bola ini menampilkan ujung sorotan yang intensitasnya lebih tinggi daripada sorotan pusat dan ditandai dengan bentuk yang berbeda dengan sorotan edge Phong. Akhimya bola yang paling bawah mencantumkan suku F, yang menghasilkan perubahan warna yang berbeda yakni sorotan edge cenderung putih. Program 4.2 adalah sandi yang secara langsung yang di-render bola yang paling bawah dalam masing-masing kasus. Ia berisi data untuk tembaga (disinari pada sudut datang normal) yang ditentukan pada gelombang merah, hijau, dan biru.
4.11
Model sumber iluminasi Pemodelan atribut sumber iIuminasi adalah pokok permasalahan lain yang diabaikan dalam grafik komputer. Hal ini karena kebanyakan gambar dimodelkan berisi
150
Penganlar Kompuler Graftk
F
90"
(a)
F..""lcp)
F"".I
J
F..JI.:I)
l i F...r'J I I I I I
I
I}I!'
.,ft. II"
to",,:
I
I ft. .:'......n .
.I
I yCt'
It
I I
.
I
IJIJ'
(J" cp
(b)
Gambar 4.28 (a) Pantulan F sebagai fungsi panjang gelombang dan sudut datang (tembaga yang dipoles). (b) Ketergantungan Fpada<jJ untuk gelombang merah, hijau, dan biru
apakah sebuah obyek tunggal atau beberapa obyek dan syarat iIuminasi yang tampak berbeda juga dapat dicapai dengan pengaturan koefisien dalam model pantulan Phong. Juga model pantulan Phong secara ideal berfungsi dengan sum-
!dodel Refleksi dan lluminasi
Program 4.2 Sandi untuk rendering bola-bola dasar dalam Plat 6. program Fresnel (input, ompm): var dw, m, kd,ks, FOr, FOg, FOb: real; Rar, Rag, Rob, Rdr, Rdg. Rdb: real; V, L, H: vector; me;r, mug, mub: real; II, Ia: real; col: C: function Gec.\1u (FO: real): real: begin Get.Wu : = (l + sqrt (FO»,'(l end {GetJ/u}:
- sqrt (FO»;
function GetF (phi, mil: rea/): real; var theca: real: begin {Fresllel cetrl'es are lIearly hori:,oflCalfor small phi} if phi < 0.005 then phi := 0.005: theca := arcsill (sill (phi)/mu): GetF := ('.sqr (sill (phi - theca),sqr (sill (phi + checa) + sqr (call (phi checa)/sqr (call (phi + cheta))/2: end {GetF}:
-
procedure EmlCol (;\" L. H: \'eClOr:var coI: C): var alpha, phi: real: D, Gs. Gm, G. F: real: R.I', Rsr, R.I'g. R.I'b: real: Ir, Ig. Ih: real: begin alpha := arccos (dot (N, H): D:= 1/sqr (m)f.sqr (sqr (cos (alpha))).exp (- sqr (tan (alpha»/sqr if alpha> pi/2 then D := 0: Gs:= 2.dot (N, H).dot (.Y, V)/dot (V, H); Gm := 2.dot (N. H).dot (N. L)/dot (V, H); if Gs < Gm then G := Gs else G := Gm; if G > I then G := 1; if G < 0 then G := 0; Rs := D.G/pi/dot (N, V)/dot (N, L); phi := arccos (dot (N, L»: F := GeeF (phi, mllr); Rsr := F.Rs; F := GetF (phi, mug); Rsg:= F.Rs;
(m»;
ISI
152
Pengantar Komputer Graftk
F:= GetF (phi, mub); Rsb := F.Rs; Ir := Ia.Rar + lI.dot (N, L).dw.(kd.Rdr + ks.Rsr); Ig := Ia.Rag + Il*dot (N, L)*dw*(kd*Rdg + ks*Rsg); Ib := Ia*Rab + Il*dot (N, L)*dw*(kd.Rdb + ks.Rsb); if 'Jr< 0 then Ir := 0; if Ig < 0 then Ig := 0; if Ib < 0 then Ib := 0; if Ir > 255 then Ir := 255; if Ig > 255 then Ig := 255; if Ib > 255 then Ib := 255; with co/ do begin r := round (Ir); g := round (lg); b := round (lb); end end {E~'a/Col}; procedure SlllideObject; beRin { This is specific to a particular object, see for example SlwdeSphere in prel'ious chapter. The procedure has to repeatedly call Em/Co/ supplying a surface normal. The I'alue rewrned is the colour of the pixel. } end {Sluu/eOhject}: begin [[ : = 65(J(JO(J: £III' := U.()(JO!:
ks := 1.0: FOr: = 0.755: {Fresnel coefficiellts for copper} FOg: = 0.490: FUh := 0.095: m :=0.3;
kd := 0.0; Rdr := FUr; Rdg := Fag: Rdb := FOb: Ia := 0.00001,,[[: Rar := pi*Rdr; Rag := pi"Rdg: Rab := pi*Rdb; mur := CetAlu (Far);
Motkl Refleksi don Iluminasi
IS3
mug := Get.'rlu (FOg); mub := GetJ,11I(FOb); with V do begin x :=0; y :=0; z:= 1; end with L do begin x:= -5; y :=0; z:= 10; end; Normalize (L); AddVector (V, L, H); Normalize (H); Shade Object ; end.
ber cahaya titik yang sederhana. Perhatikan contoh 20 bola yang telah digunakan sebelumnya. Secara visual pengaruh ini dapat dihasilkan dari perubahan karakteristik sumber, daripada penggantian sifat alami suatu bahan, dan tampaknya kebanyakan orang akan mengenal perubahan dalam contoh ini sebagaimana perubahan yang disebabkan karena kondisi iluminasi. Dalam gambar lingkpngan kompleks (seperti bagian dalam ruangan) kenyataan hanya dapat diperoleh dengan memperhitungkan atribut somber cahaya. Ruang menyala apakah karena cahaya buatan atau oleh cahaya matahari yang lewat melalui jendela. Dalam salah satu kasus tersebut kita dapat meng~nal atribut sebuah sumber cahaya sebagai berikut: (1) geometrinya atau jendela.
-
apakah ia berupa sumber cahaya flourescent atau bohlam,
(2) penyebaran intensitas cahaya, yang akan berupa fungsi geometri, dan (3) penyebaran spektralnya; cahaya flourescent memiliki spektral yang sangat berbeda dengan distribusi spektral dari cahaya bohlam dan cahaya matahari. Masalah utama pemodelan secara teliti untuk sumber cahaya adalah biaya komputasi. Sebuah vektor L yang berbeda harus dihitung untuk masing-masing titik pada suatu permukaan dan intensitas I yang dipancarkan dihitung dari I(L), penyebaran intensitas cahaya dari sumber tertentu. Perkembangan pendekatan
154
Pengantar Komputer Grafik
empiris tertentu dihadapi oleh dua faktor yang pertama, yang paling sederhana adalah metode Warn (Warn, 1983). Faktor yang ketiga dibahas secarajelas dalam Bab 14. Untuk saat ini kita dapat mencatat bahwa sebuah sumber cahaya yang berwarna kira-kira dapat dimodelkan dengan membuat Ii sebagai fungsi panjang'gelombang. 4.11.1
MetodeWama untuk pemodelan sumber iluminasi Ini adalah metode ra~g paling sederhana untuk pemodelan sebuah lampu sorot sebagai penyebaran intensitas impiris model cosinus (Phong) dari cahaya yang
-
terpantuI. Cahaya dianggap. ketuar dari sebuah sumber yang memiliki arah dominan yang ditentukan oleh sebuah vektor LN. Diketahui bahwa L adalah vektor dari sumb~r ter~ebut.menuju titik obyek, intensitas yang dipantulkan dari sebuah titik yang diseba.bkan oleh sebuah sOmber adalah: 1= intensitas sumber [kd(N'L)
+ ks(N.H)nJ
Intensitas sumber tersebut dalam kasus ini diberikan oleh (Gambar 4.29): Intensitas sumber= [lj(LN.LY] Model iIuminasi ini menyediakan kendali pada pemusatan dan arah sumber cahaya. Titik Warn diluar sumber cahaya titik tersebut sulit untuk menempatkan agar menghasilkan sorotan dalam sebuah luasan yang diinginkan dari suatu obyek. Di dalam model ini sUlnber cahaya berada pada posisi yang tepat, akan tetapi arahnya diubah oleh perubahan LN. Pemusatan sumber cahaya yang tentu saja luasan (dan biasanya bentuk) sorotan yang ia hasilkan dikendalikan dengan . pengaturan indeks s. Eksponen rendah menyatakan lampu sorot (floodlight) sedangkan nilai s yang tinggi akan mensimulasikan lampu sorot (spot light). Model tersebut tepat sarna untuk menyatakan sumber cahaya sebagai sebuah permukaan yang menerima cahaya dari sebuah sumber cahaya titik dan memantulkannya secara specular sesuai dengan model Phong. Warn memperluas model ini untuk menghasilkan pengaruh khusus dengan membatasi perluasan ruang dari suatu cahaya yang memberikan potongan yang tajam. Ini sarna dengan lampu studio yang memiliki pintu penutup. Piranti ini dapat digunakan dalam praktek untuk meningkatkan lipatan dalam sebuah obyek, dengan penyejajaran penutup dengan lekukan sedemikian rupa sehingga obyek
Model Refleksi dan J/uminasi
155
Gambar 4.29 Metode Warn yang menyatakan sebuah sumber cahaya sebagai sebuah permukaan pantul specular.
tersebut disinari di atas lekukan, tetapi bukan di bawah. Lebih baik memiliki geometri yang rumit pada pengimplementasian hal ini seperti model Warn untuk penutup yang sebenarnya pengaruh mereka sebagai jajaran yang memanjang dalam sumbu ~ Y, dan Z dalam ruang koordinat alam, daripada penentuan volume penyinaran yang berbentuk persegi. Keuntungan lain adalah yang tumbuh dengan mudah dari model ini adalah bahwa dapat disimulasikan variabel sumber yang berbentuk kerucut. Ini dapat diimplementasikan dengan pembandingan sudut yang membuat L dengan LN terhadap sebuah ambang kerucut, pensimulasian sebuah sumber titik dengan sebuah distribusi intensitas kerucut.
4.11.2
penggunaan diagram goniometris Verbeck dan Greenberg (1984) memperkenalkan sebuah model sumber cahaya yangumum (1984). Meskipun ini agak dibayangi oleh motode radiosity Greenberg (Bab 10) ia adalah sebuah model yang menggunakan komponen difusi Phong, yang dimodulasikan oleh sebuah nilai intensitas yang dihitung dari sebuah diagram goniometris suatu sumber. Titik Verbeck yang berada di luar perluasan terhadap komputasi intensitas standar adalah sangat sederhana, belum merupakan peningkatan yang dramatis dalam mutu gambar yang dapat dicapai.
156
Pengantar Komputer Grafik
Distribusi intensitas cahaya adalah sebuah medan tiga-dimensi dan sebuah diagram goniometris adalah sebuah irisan melalui medan ini. Suku difusi Phong yang dibuat secara umum dengan mencantumkan sebuah koefisien pantulan yang merupakan fungsi dari panjang gelombang, kita memiliki:
II
intensitas yang disebabkan karena n sumber cahaya titik. Untuk mencantumkan distribusi intensitas cahaya Ii,,,diganti dengan I;e,ndan kita memiliki: 1= kd(A)
L (N'LII)/ilJ,"S" II
dimana Ii8,nadalah intensitas relatif sumber cahaya yang ke-n yang kini merupakan sebuah fungsi e yang ditentukan oleh diagram goniometris (Gambar 4.30). Yang juga tercantum adalah SII,faktor macet yang bemilai 0 atau 1. Ini adalah sebuah persamaan yang memperluas model pantulan Phong untuk mengatasi sumber titik dengan distribusi intensitas tertentu yang dinyatakan sebagai diagram goniometris. la dapat digunakan untuk mensimulasikan sebuah sumber cahaya dari sembarang geometri dengan memperlakukan sumber cahaya tersebut sebagai penjumlahan dari m sumber titik.
Proyek, catatan, dan saran 4.1 Bola berbayang Implementasikan program yang membayangi bola, untuk lebih dari satu sumber cahaya. Ubahlah Persamaan 4.3 sedemikian rupa sehingga sumber cahaya yang berbeda wama memungkinkan (kini I memiliki komponen merah, hijau, dan biru) dan percobaandengan sumber yang berwarna. Apakah masalah yang terlibar dalam perluasan pola ini untuk membayangi bola menjadi sembarang luasan permukaan dan mengapa filosofi umum mengenai gabungan sebuah prosedur ruang layar dan sebuah ruang alam secara tidak langsung menyatakan bahwa definisi tidak memenuhi syarat?
Model Refleksi dan lluminasi
157
Gambar 4.30 Penggunaansebuah.diagramgoniometrisuntuk memodulasiintensitasyang dihitung.
4.2 Interaksi sumber cahaya Kembangkan sebuah titik pandang untuk Proyek 4.1, memperlihatkan sebuah pandangan bola tunggal bersama-sama dengan sumber cahaya, yang memungkinkan seorang pemakai mengubah posisi masing-masing sumber cahaya. 4.3 Penyajian model pantulan Tulislah sebuah program yang menghasilkan sebuah mod~1bingkai kawat sebuah versi dad Gambar 4.12. Ini akan memperlihatkan variasi intensitas pada ruang setengah bola yang mengelilingi sebuah titik tunggal yang memiliki intensitas pantulan yang dihitung dari Persamaan 4.3. Jaminlah bahwa resolusi poligon cukup ditingkatkan di dalam daerah tonjolan specular. 4.4 Transparensi Implementasikan pola transparensi impiris yang diberikan oleh Persamaan 4.5 dan Persamaan 4.6 dengan membayangi sebuah bola transparan yang berongga di depan latar-belakang yang sesuai.
158
Pengantar Komputer Graftk
4.5 Pemrosan akhir gambar bayangan Tulislah sebuah program yang memproses akhir sebuah gambar bayangan dengan menggunakan LUTs. Rancanglah sebuah interface yang memungkinkan seorang pemakai menggabungkan profit LUT bersama-sama seperti yang disarankan oleh Plate 5. 4.6 Model pant ulan benda padat Ulangi Proyek 4.3 tetapi saat ini gunakan Persamaan 4.7 untuk menentukan intensitas pantulan. 4.7 Model Cook dan Torrance Selidikilah pengaruh visual dari model Cook dan Torrance dengan menggunakan sebuah bola dan sumber cahaya pada sudut yang berbeda sebagaimana disarankan oleh Plate 6.