10 10.1
Radiosity
Pendahuluan Metode sintesa gambar utama dalam penggunaan saat ini adalah model pantulan Phong dan pelacakan sinar. Model pantual yang sederhana secara visual dicirikan oleh batasan mereka dan ini umumnya karena model ini datang hanya untuk satu aspek saja interaksi cahaya-obyek - pantulan sinar datang, yang disebabkan sebuah sumber cahaya, dari sebuah permukaan. Ketidak puasan karena menghasilkan model plastik yang mengambang di dalam ruang bebas kelihatan secara alami menghantarkan kepada teknik seperti bayangan dan pemetaan tekstur yang dicangkokkan pada model pantulan dasar. Pelacakan sinar adalah sebuah teknik yang bagus yang menggunakan metode teoritis dasar yang sarna untuk memodel pantulan, pembiasan, dan bayangan. Meskipun sering diuraikan sebagai sebuah metode pencahayaan global, ia ditunjukkan dalam Bab 8 bahwa ia datang hanya untuk satu aspek mengenai pencahayaan global- pantulan specular dan pembiasan - dan ini menerangkan tanda dilacak-sinar yang jelas dari gambar yang dihasilkan dengan metode ini. Ini karena untuk melacak interaksi difusi akan melibatkan pemunculan sinar dalam jumlah yang sangat banyak pada masing-masing perpotongan sinar-permukaan. Radiosity memberikan sebuah penyelesaian terhadap interaksi difusi, akan tetapi dengan mengorbankan lingkungan kedalam elemen 'largish' (lewat mana pencahayaan adalah tetap). Pendekatan ini tidak dapat menanggulangi pantulan specular yang tajam dan pada dasamya kita memiliki dua penyelesaian global: pelacakan sinar, yang menangani pantulan specular global dan radiosity, yang menangani pantulan difusi global. Metode radiosity telah dikembangkan untuk menerangkan interaksi dari cahaya difusi antara elemen dalam sebuah gambar. Metode ini sangat bagus untuk menghasilkan gambar dari lingkungan interior, yang kebanyakan kumpulan dari obyek yang bukan specular, dan ini menghasilkan interior yang kelihatan nyata, 436
Radiosity
437
yang menghasilkan sebuah gambar yang disintesa bergeser ke kenyataan global, bukan hanya sekedar gambar seperti kumpulan dari obyek yang disintesa secara terpisah yang tidak berinteraksi. Di dalam model pantulan yang tidak berinteraksi, interaksi difusi sisimulasikan dengan menggunakan sebuah suku ambient, normalnya sebuah tetapan. Metode radiosity telah dikembangkan di Universitas Cornell dalam tahun 1984 (Goral dan kawan-kawan, 1984) dan kebanyakan dari pekerjaan pengembangan sejak saat itu kemudian dilaksanakan di Cornell (Plate 23 memperlihatkan dua gambar yang dihasilkan oleh institusi ini). Sebuah pendekatan yang berdasar pada radiosity dilaporkan oleh Nishita dan Nakamae (1985) digunakan lagi untuk interior ruang. Ini pendekatan yang kurang umum daripada metode Cornell yang mengintegrasikan penentuan bayangan yang nyata dengan seluruh penyelesaian. Radiosity adalah sebuah metode yang memiliki kebutuhan prosesor yang setidaknya sekuat pelacakan sinar dan ini tanpa ragu lagi merupakan salah satu dari alasan karena tidak adanya penyebaran seluruh masyarakat grafik komputer. Seperti pelacakan sinar, setelah awal penetapan metode tersebut, penelitian yang baru saja dilakukan mengkonsentrasikan pada pengintegrasian fenomena pantuIan yang lain seperti pantulan specular ke dalam metode tersebut. Meskipun istilah 'nyata' merupakan kata sifat yang digunakan secar berlebihan dalam grafik komputer, namun ia tidak dapat disangkallagi bahwa metode ini menghasilkan gambar yang paling nyata dan berkesan sampai saat ini.
10.2
Teori Radiosity Metode radiosity pertama dikembangkan dalam pemindahan panas radiasi (Siegel dan Howell, 1984) untuk menjelaskan pemindahan panas antara elemen di dalam perapian atau pada sebuah pesawat terbang. Ini adalah konservasi energi atau pendekatan kesetimbangan energi, yang memberikan sebuah penyelesaian untuk radiosity dari semua permukaan dalam sebuah lingkupan. Masukan energi kedalam suatu sistem tersebut adalah dari permukaan yang beraksi sebagai pemancar. Kenyataannya sebuah sumber cahaya diperlakukan seperti sembarang permukaan yang lain di dalam suatu algoritma kecuali bahwa ia memiliki radiosity awal (bukan nol). Penyelesaian radiosity memberikan fenomena cahaya difusi yang tidak dimodelkan seperti 'warna pendarahan' dari satu permukaan ke permukaan yang lain, pembayangan dalam sampul bayangan dan penumbra
438
Pengantar Komputer Grafik
sepanjang batas bayangan. Greenberg, Cohen, dan Torrance (1986) memberikan sebuah gambaran yang mengejutkan mengenai warna pendarahan dan mendemonstrasikan ketidakmampuan metode biasa, seperti pelacakan sinar, untuk menanggulangi fenomena ini. Metode radiosity adalah sebuah algoritma ruang obyek, yang menyelesaikan intensitas pada titik diskrit atau lekatan permukaan dalam sebuah lingkungan dan bukan untuk pixel di dalam sebuah proyeksi bidang gambar. Jadi penyelesaian harus tidak tergantung pada posisi pemirsa. Penyelesaian lengkap ini kemudian disuntikkan kedalam sebuah perender yang menghitung sebuah pandangan tertentu dengan menghilangkan permukaan yang tersembunyi dan membentuk sebuah proyeksi. Fase dari metode ini tidak memerlukan banyak komputasi (intensitas telah dihitung) dan pandangan yang berbeda mudah diperoleh dari penyelesaian umum. Metode tersebut didasarkan pada anggapan bahwa semua permukaan merupakan penyebar yang sempurna atau permukaan Lambert yang ideal. Radiosity, B, didetinisikan sebagai energi per satuan luas yang meninggalkan sebuah lekatan permukaan per satuan waktu dan merupakan jumlah dari energi yang dipancarkan dan yang dipantulkan:
Pernyataan dari persamaan ini dalam kata-kata yang kita miliki untuk sebuah lekatan tunggal i: Radiosity x luasan = energi yang dipancarkan + energi yang dipantulkan Ei adalah energi yang dipancarkan dari sebuah lekatan. Energi yang dipantulkan diberikan oleh perkalian energi yang datang dengan Ri, sifat pantulan dari lekatan tersebut. Energi yang datang adalah energi yang tiba pada lekatan i dari semua lekatan yang lain di dalam suatu lingkungan, jadi, kita mengintegrasikan pada lingkungan tersebut, untuk semuaj (j *-i), suku BjFijdAj.Ini adalah energi yang meninggalkan masing-masing lekatanj yang tiba pada lekatan i. Hubungan timbal-balik (Siegel dan Howell, 1984) memberikan:
dan pembagian dengan dAj memberikan:
Radiosity
B. = E 1
:.. R. I'
'
1
Jj
439
BF. J
IJ
Untuk sebuah lingkungan diskret integral tersebut diganti dengan penjumlahan dan radiosity yang tetap dianggap pada lekatan diskret kecil, yang memberikan: n
B.I = E l'.
RI
"
L.. j=I
BF... 'JI
Persamaan ini ada untuk masing-masing lekatan permukaan di dalam lingkupan dan lingkungan yang lengkap menghasilkan sebuah himpunan n persamaan serentak dalam bentuk: I-
R1Fll
-R2F:.I
I
-R"F,'1
-R1F12 1 - R2F:.2
-RIF1n
-R2F2n
lf
BI
E1
8-:. _
E:.
ll
1 - ~nFnn~ LB~, -
in J (10.1)
Ej tidak bernilai nol hanya pada permukaan ini yang memberikan pencahayaan dan suku ini menyatakan pencahayaan masukan terhadap sistem tersebut. Rj diketahui atau dihitung dan Fjj adalah sebuah fungsi geometri dari lingkungan. Sifat pantulan adalah suku yang tergantung pada panjang-gelombang dan persamaan di atas dianggap sebagai sebuah penyelesaian monochromatic, akan tetapi sebuah penyelesaian lengkap diperoleh dengan menyelesaikan banyak pita warna yang diperhatikan. Kita dapat mencatat pada tahap ini bahwa F;j= 0 untuk sebuah bidang atau permukaan cembung - tidak ada satupun pancaran yang meninggalkan permukaan yang akan mengenai dirinya sendiri. Juga dari definisi faktor bentuk penjumlahan dari sembarang baris dari faktor bentuk adalah satu. Karena faktor bentuk adalah hanya sebuah fungsi geometri dari sistem tersebut maka mereka hanya dihitung sekali. Dengan menyelesaikan himpunan persamaan ini menghasilkan sebuah nilai tunggal untuk masing-masing lekatan dan informasi ini kemudian masuk ke sebuah perender Gouraud standar untuk memberikan sebuah penyelesaian yang diinterpolasi melintas semua lekatan. Metode tersebit dibatasi oleh waktu yang diambil untuk menghitung faktor bentuk yang menyatakan pertukaran radiasi antara dua lekatan permukaan Ai dan
440
Pengantar Komputer Grafik
Gambar 10.1 Faktor bentuk geometri untuk dua lekatan i dan j. (menurut Goral dan kawankawan, I984).
Ai' Ini tergantung pada orientasi relatifmereka oleh:
danjarak antara mereka diberikan
Energi Radioaktif yang meninggalkan permukaan Ai yang mengenai Ai secara langsung Fij= Energi radioaktif yang meninggalkan permukaan Ai dari semua arah dalam ruang hemispherical sekitar Ai
Dapat diperlihatkan (oleh Goral dan kawan-kawan, 1984) bahwa ini diberikan oleh:
Fij
= ~Ai JA, JA,
COScjJiCOScjJj rrr1
dAjdAi
dimana perjanjian geometri dilukiskan dalam Gambar 10.1. Di dalam sembarang lingkungan praktis Aj dapat berupa keseluruhan atau sebagian yang dapat dilihat dari Ai dan integral tersebut perlu dikalikan dengan sebuah faktor penjagaan, yakni sebuah fungsi biner yang tergantung pada apakah luasan differensial dAi dapat melihat dAj atau tidak. Integral ganda ini sulit untuk menyelesaikan kecuali untuk bentuk khusus.
Radiosity
441
Faktor bentuk adalah salah satu dari sejurnlah suku yang sarna (yang lain rneliputi faktor pandang difusi, faktor bentuk, dan faktor sudut) yang digunakan untuk rnencirikan pengaruh geornetri dari dua p~rmukaan pada pertukaran radiasi antara rnereka.
10.3
Penentuan faktor bentuk Sebuah rnetode nurneris rnengenai pengevaluasian faktor bentuk dikernbangkan pada tahun 1985 (Cohen dan Greenberg, 1985) dan ini dikenal sebagai metode 'hemicube'. Ini rnenawarkan sebuah rnetode yang efisien untuk penentuan faktor bentuk dan pada saat yang sarna sebuah penyelesaian terhadap rnasalah lekatan yang saling rnenghalangi. Faktor bentuk lekatan-ke-Iekatan dapat diperkirakan dengan luasan diferensial terhadap persarnaan luasan yang tertentu: FJA,Aj
=f
A,
cas cfJjcos cfJ;
rrr-,
dAj
dirnana sekarang kita rnernperhatikan faktor bentuk antara luasan elernen dAidan luasan tertentu Aj. dAiditernpatkan pada titik pusat dari lekatan i. Ketelitian dari perkiraan ini tergantung pada luasan dari dua lekatan dibandingkan denganjarak, r, antara rnereka. Jika r besar rnaka integral bagian dalarn tidakjauh berubah dari jangkauan integral luar dan pengaruh integral luar hanya rnerupakan perkalian dengan satu. Kini analogi Nusselt (Siegel dan Howell, 1984) rnengatakan kepada kita bahwa kita dapat rnernperhatikan proyeksi pada sebuah lekatanj pada perrnukaan sebuah belahan bola yang rnengitari lekatan elernen dAi dan bahwa ini pengaruhnya sarna dengan rnernperhatikan lekatan itu sendiri. Juga lekatan yang rnenghasilkan proyeksi yang sarna pada belahan bola tersebut rnerniliki faktor bentuk yang sarna. Ini adalah pengarnbilan keputusan untuk rnetode hernicube yang dilukiskan dalarn Garnbar 10.2. Lekatan A, B, dan C sernuanya rnerniliki faktor bentuk yang sarna dan kita dapat rnengevaluasi faktor bentuk dari sernbarang lekatan j dengan rnernperhatikan bukan lekatan itu sendiri, tetapi proyeksinya pada sisi sebuah hernicube. Sebuah hernicube digunakan untuk rnernperkirakan belahan bola karena bidang proyeksi datar secara kornputasi lebih rnurah. Hernicube disusun sekitar pusat rnasing-rnasing lekatan dengan surnbu hernicube Z dan normal lekatan
442
Pengantar Komputer Grafik
berimpit (Gambar 10.3). Sisi-sisi hemicube tersebut dibagi-bagi menjadi pixel yang agak membingungkan menggunakan istilah tersebut karena kita mengoperasikan di dalam ruang obyek. Setiap lekatan yang lain dalam lingkungan tersebut diproyeksikan pada hemicube ini. Dua lekatan yang memproyeksikan pada pixel yang sarna dapat memiliki kedalaman mereka dibandingkan dan lekatan selanjutnya ditolak, karena ia tidak dapat dilihat dari lintasan penerimaan. Pendekatan ini analog dengan sebuah penyangga-Z kecuali bahwa intensitas tidak diperhatikan pada tahap ini.Algoritmahemicubehanya memudahkan perhitungan faktor bentuk yang selanjutnya digunakan di dalam perhitungan intensitas difusi dan sebuah 'penyangga label' dipertahankan yang menandakan lekatan yang manakah yang terlihat pada masing-masing pixel pada hemicube tersebut. Masing-masing pixel dalam hemicube tersebut dapat dianggap 5 bagai sebuah lekatan kecil dan sebuah diferensial terhadap faktor bentuk luasan tertentu, dikenal sebagai faktor bentuk delta, yang ditentukan untuk masing-masing pixel. Faktor bentuk dari sebuah pixel adalah pecahan dari diferensial terhadap faktor bentuk luasan tertentu untuk lekatan tersebut dan dapat didetinisikan sebagai: _
Gambar 10.2 Pengambilan keputusan bagi penggunaan sebuah hemicube. Lekatan A, B, dan C memiliki faktor bentuk yang sarna.
Radiosity
443
Projection of p~lch j onto hemicube 'pixcb'
Patch i
Gambar 10,3 Pengevaluasian faktor bentuk Fij dengan memproyeksikan lekatan j pada sisi sebuah hemicube yang berpusat pada lekatan i,
~ FdA.A, =
cos 4>;cos 4>i ~A 1fr:!
= ~F;, dimana LlA adalah luasan pixel. Oisini faktor bentuk dapat dihitung terlebih dahulu dan disimpan di dalam sebuah tabel 'look-up'. Ini merupakan dasar dari efisiensi metode tersebut. Lagi, dengan menggunakan kenyataan bahwa luasan dari proyeksi yang sarna pad a permukaan penerimaan yang mengitari pusat lekatan Ai memiliki faktor bentuk yang sarna, kita dapat menyimpulkan bahwa Fjj, untuk sembarang lekatan, diperoleh dengan menjumlahkan faktor bentuk pixel pada lekatan manakah Aj memproyeksi (Gambar 10.4). Sebuah versi tiga-dimensi dari sebuah penjepit Cohen-Sutherland (Sutherland dan Hodgman, 1974) digunakan untuk menjepit proyeksi terhadap setengah edge kubus untuk memperoleh himpunan pixel kemana sebuah lekatan m<:<mproyeksikan.
444
Pengantar Komputer Grajik
Gambar 10.4 Fij diperoleh dengan penjumlahan faktor bentuk dari pixel kemana lekatan j memproyeksikan.
Masalah 'occluding' atau lekatan yang campur tangan mudah diselesaikan dengan menggunakan metode hemicube. Untuk masing-masing penempatan hemicube pada lekatan Ai setiap lekatan Aj diproyeksikan. Jika sebuah pixel hemicube berisi proyeksi dari dua lekatan kemudianjaraknya dapat dibandingkan dan lekatan yang lebih dekat dianggap merupakan salah satu yang terlihat melalui pixel tertentu tersebut. Sebuah penyangga labellekatan perlu dipertahankan untuk masing-masing pixel hemicube yang pada sembarang tahap dalam urutan berisi label dari lekatan yang paling dekat yang dihadapi dalam arah tersebut. Kemudian pada akhir urutan proyeksi kita akan menghubungkan himpunan dari pixel yang merupakan proyeksi dari lintasan yang paling dekat dan penjumlahan untuk masing-masing Fij kemudian dapat dilanjutkan (Gambar 10.5). Catat kemiripan dengan algoritma penyangga-Z. Disini kita mempertahankan informasi identitas daripada informasi intensitas. Jadi F,.. 'I = '" L. ~ Fq q
dimana q adalah himpunan pixel kemana sebuah lekatanAi memproyeksikan. Jadi pengevaluasian faktor bentuk kini sederhana menjadi proyeksi pada bidang orthogonal bersama dan sebuah operasi penjumlahan.
Radiosity
445
Gambar 10.5 Pixel diberi label identitas daTi lekatan yang paling dekat. Bila sebuah urutan proyeksi untuk lekatan i lengkap Fij dapat dievaluasi.
Faktor bentuk delta untuk masing-masing pixel pada hemicube dapat dihitung terlebih dahulu dan disimpan dalam sebuah tabel 'look-up'. Sebagai contoh, untuk sebuah pixel yang ditempatkan pada permukaan hemicube sebelah atas: 6.Fq
=
1
~
1T(X- +
y- + 1)- 6.A ~
~
Ini berasal dari (Gambar 10.6): r
= (x2
cos cfJi
+ y2 + 1)1/2
= COS cfJj
6.Fq
=
1
(x2 + y2 + 1)1/2
COS cfJi COS cfJi ~
1Tr
6.A
Persamaan 10.1 memiliki sifat-sifat tertentu (diuraikan sepenuhnya oleh Cohen dan Greenberg (1985» yang dapat digali untuk memberikan sebuah penyelesaian iterasi Gauss-Seidel yang sederhana (lihat Proyek, catatan, dan saran pada akhir
446
Pengantar Komputer Grajik
z
Gambar 10.6 Geometri dari faktor bentuk delta untuk sebuah pixel/!" A pada puncak hemicube tersebut. (Menurut Cohen dan Greenberg (1985».
bab ini) dan radiosity lekatan pusat yang terakhir disuntikkan ke dalam sebuah pola interpolasi agar memberikan sebuah penyelesaian bayangan yang malar untuk lingkungan tersebut. Metode tersebut dapat diringkas dalam tahap berikut: (1) perhitungan faktor bentuk, Fij; (2) penyelesaian persamaan matriks radiosity; (3) perenderan dengan penyuntikan hasil dari tahap 2 ke dalam pola interpolasi bilinear; (4) pengulangan tahap 2 dan tahap 3 untuk pita warna yang ditinjau. Proses ini diperlihatkan dalam Gambar 10.7. Faktor bentuk adalah hanya sebuah fungsi dari lingkungan dan hanya dihitung sekali saja dan dapat digunakan kembali dalam tahap 2 untuk nilai pantulan dan sumber cahaya yang berbeda. Jadi sebuah penyelesaian dapat diperoleh untuk lingkungan yang sarna dan dengan, misalnya, beberapa sumber cahaya dimatikan. Penyelesaian yang dihasilkan oleh tahap 2 adalah sebuah penyelesaian yang tidak tergantung pada pandangan dan
Radiosity
('hanl~C IIIC,,:COllIl'lIvot
447
Djs\'I"l'li/ed ,,",,\in'IIUll'UI
Ihc'c~nc Furm factor
cakulaliuns Change the wavelengthdependcn! propertics (coluur, or lighting) Change vicw
full matrix 'sulution ..I
View-independent
solutiun
'Standard' renderer
Spccific
view
Gambar 10.7 Tahap di dalam sebuah penyelesaian radiosity yang lengkap, Juga diperlihatkan titik di dalam proses dimana bermacam-macam modifikasi dapat dibuat terhadap gambar tersebut.
jika diperlukan sebuah pandangan maka hanya tahap 3 saja yang diulang. Pendekatan ini dapat digunakan, misalnya, pada saat menghasilkan sebuah animasi yang berjalan melalui interior sebuah bangunan. Masing-masing bingkai di dalam animasi tersebut dihitung dengan pengubahan titik 'pandang dan penghitungan sebuah titik pandang baru dari sebuah penyelesaian radiositi yang tidak berubah. Ini hanya jika kita merubah geometri Gambar tersebut yang mana diperlukan perhitungan kembali faktor bentuk. Jika pencahayaan dirubah dan geometri tidak kita tidak diubah, maka hanya persamaan saja yang perlu diselesaikan lagi harus menghitung kembali faktor bentuk. Tahap 2 secara tidak langsung menjelaskan komputasi dari sebuah versi yang dirender yang tidak tergantung pada pandangan dari penyelesaian terhadap persamaan radiosity yang memberikan sebuah nilai tunggal, sebuah radiosity, untuk masing-masing lekatan dalam lingkungan tersebut. Dari nilai ini, radiosity puncak dihitung dan radiosity puncak ini digunakan di dalam pola interpolasi bilinear
-
448
Pengantar Komputer Grajik
agar memberikan sebuah gambar akhir. Algoritma penyangga kedalaman digunakan dalam tahap ini untuk mengevaluasi apakah masing-masing lekatan pada masing-masing pixel di layar dapat dilihat. (Tahap ini harus tidak dikacaukan dengan pengoperasian hemicube yang harus mengevaluasi visibilitas antar lekatan selama perhitungan faktor bentuk.) Sejumlah faktor membuat pemakaian umum dari metode radiosity dasar agak sulit. Kerumitan penyandian sangat tinggi dan metode tersebut memerlukan sumber daya komputasi yang luas. Waktu yang diperlukan untuk menyelesaikan perhitungan faktor bentuk tergantung pada kuadrat jumlah lekatan. Sebuah perhitungan hemicube dilakukan untuk setiap lekatan (kemana semua lekatan yang lain diproyeksikan). Jadi seluruh waktu perhitungan tergantung pada kerumitan lingkungan dan ketelitian dari penyelesaian, sebagailhana ditentukan oleh resolusi hemicube. Meskipun pencahayaan difusi hanya berubah secara lambat melintas sebuah permukaan, namun aliasing dapat disebabkan oleh resolusi hemicobe yang terlalu rendah dan ketelitian diperlukan pada batas bayangan (lihat Bagian 10.4). Keperluan akan penyimpanan juga merupakan fungsi dari jumlah lekatan yang diperlukan. Semua faktor ini berarti bahwa disana ada batas atas pada kerumitan gambar ini yang dapat ditangani oleh metode radiosity.
10.4
Peningkatan ketelitian dari suatu penyelesaian Kebanyakan komputasi di dalam metode radiosity diperlukan oleh perhitungan faktor bentuk, t:kuran suatu masalah adalah sebuah fungsi dari jumlah lekatan yang dikuadratkan. Mutu dari gambar adalah sebuah fungsi dari ukuran lekatan dan ia titunjukkan oleh Cohen, Greenberg, dan Immel (1986) bahwa di dalam daerah lingkungan, seperti batas bayangan, yang menampilkan gradien radiosity yang tinggi, lekatan tersebut harus dibagi-bagi. Cohen, Greenberg, dan Immel (1986) mengembangkan sebuah teknik yang disebut 'sub-structuring' dan gagasan tersebut adalah untuk membangkitkan sebuah penyelesaian yang teIiti untuk radiosity pada sebuah titik dari radiosity global yang diperoleh dari komputasi lekatan 'kasar' yang awaI. Lekatan dibagi menjadi luasan yang disebut 'elemen'. Faktor bentuk elemen-ke-Iekatan dihitung dimana hubungan antara faktor bentuk elemen-ke-Iekatan dan lekatan-ke-Iekatan diberikan oleh:
Radiosity
449
dimana: Fij adalah faktor bentuk dari lekatan i ke lekatanj F(iq)jadalah faktor bentuk dari elemen q dari lekatan i ke lekatan j A(iq)adalah luasan elemen q yang dibagi dari lekatan i R adalah jumlah elemen dalam lekatan terse but Faktor lekatan yang diperoleh dengan cara ini kemudian digunakan di dalam sebuah penyelesaian radiosity standar. Peningkatan jumlah faktor bentuk ini dari N x N menjadi M x N, dimana M adalah jumlah total elemen yang diciptakan, dan secara alami meningkatkan waktu yang digunakan di dalam perhitungan faktor bentuk. Lekatan yang perlu dibagi-bagi menjadi elemen diungkap dengan pengujian berangsur dari penyelesaian lekatan kasar. Penyelesaian lekatan (kasar) yang dihitung sebelumnya dipertahankan dan radiosity elemen diperoleh dari penyelesaian ini dengan menggunakan: N B;q
=
Eq + Rq
L
(10.2) BjF(iq)j
j=l
dimana:
B;qadalah radiosity elemen q Bj adalah radiosity lekatanj F(jq)jadalah faktor bentuk elemen q ke tambalaanj Dengan kata lain, sejauh yang diperhatikan penyelesaian radiosity, pengaruh kumulatif dari elemen sebuah lekatan yang dibagi adalah identik dengan elemen dari lekatan yang tidak dibagi; atau, sub-pembagiansebuah lekatan menjadi elemen tidak mempengaruhi jumlah cahaya yang dipantulkan oleh lekatan tersebut. Dengan demikian setelah penentuan sebuah penyelesaian untuk lekatan, radiosity dalam sebuah lekatan diselesaikan secara bebas diantara lekatan. Di dalam melakukan ini, Persamaan 10.2 menganggapbahwa hanya lekatanyang meragukan yang dibagi menjadielemen- semua lekatanyang laintidakdibagi.Proses tersebut diterapkan secara interaktif sehingga ketelitian yang diinginkan diperoleh. Pada sembarang tahap di dalam iterasi tersebut kita dapat mengidentifikasi tiga tahap:
450
Pengantar Komputer Grajik
(1) sub-pembagian lekatan yang dipilih menjadi elemen dan menghitung faktor bentuk elemen-ke-Iekatan; (2) mengevaluasi sebuah penyelesaian radiosity dengan menggunakan faktor lekatan-ke-Iekatan; (3) penentuan radiosity eIemen dari radiosity lekatan. Dimana tahap 2 terjadi hanya untuk iterasi yang pertama - radiosity lekatan kasar hanya dihitung sekali saja. Metode tersebut dibedakan dari sub-pembagian sederhana dari lingkungan menjadi lekatan yang lebih kecil. Strategi ini akan menghasilkan faktor baru M x M (bukan M x N) dan sebuah sistem persamaan M x M. Sub-pembagian lekatan menjadi eIemen dilakukan secara adaptif. Luasan yang memerlukan sub-pembagian tidak diketahui sebelum sebuah penyelesaian diperoleh. Luasan ini diperoleh dari sebuah penyelesaianawal dan kemudian menjadi subyek sub-pembagian faktor bentuk. Matriks faktor bentuk sebelumnya masih sah dan penyelesaianradiositytersebut tidak dihitung kembali. Hanya bagian dari penentuan faktor bentuk selanjutnya didiskritkan dan ini kemudian digunakan di dalam fase yang ketiga (penentuan radiosity eIemen dari penyelesaian lekatan kasar). Proses ini diulang sehingga ia bertemu pada tingkat ketelitian yang diinginkan. Jadi mutu gambar ditingkatkan dalam luasan yang memerlukan penanganan yang lebih teliti. Sebuah contoh dari pendekatan ini diperlihatkandalam Plate 24. Tiga gambaran memperlihatkan sebuah gambar khusus yang direkonstruksi untuk mendemonstrasikan kehebatan metode tersebut
-
sebuah interior ruangan dengan per-
mukaan datar 'Iargist', cahaya strip, dan jendela. Adegan yang diperlihatkan dibagi menjadi lekatan dan setelah 'substructuring'. Informasi apakah yang digunakan di dalam penyelesaian lekatan kasar merupakan salah satu masalah dari metode ini. Sebuah penyelesaian yang lebih bagus dapat diperoleh jika faktor bentuk elemen-ke-Iekatandijumlahkan dan digunakan untuk menghitung faktor bentuk lekatan-ke-Iekatan, akan tetapi tanpa sebuah penyelesaian awal tidak ada kriteria sub-pembagian otomatis yang tersedia. Jadi radiosity lekatan kasar harus didasarkan pada faktor bentuk lekatan-ke-Iekatan, atau sebuah sub-pembagian awal harus ditentukan secara manual. Masalah praktis yang lain dengan teknik ini adalah bahwa proses extrapolasi, untuk menghitung radiosity puncak dari radiosity lekatan, kini jauh lebih sulit dipakai daripada untuk permukaan yang telah dibagi-bagi secara tetap menjadi lekatan.
Radiosity
451
Di dalam paper yang sama (Cohen, Greenberg, dan Immel, 1986),rincian diberikan pada pemetaanteksturgabungandenganpenyelesaianradiosity.Ini melibatkan mempertahankan gagasan mengenai sebuah lekatan yang memiliki radiosity yang tetap pada perluasannya, penghitungan penyelesaian radiosity, dan kemudian pemetaan tekstur selama fase perenderan. Untuk sebuah pixel di dalam bidang gambar pemetaan tekstur dihitung dengan: R pixel B pixel=B
rata-rata
R rata-rata
dimana: Bpixeladalah radiosity akhir dari sebuah pixel Brata-rata adalah radiosity yang diturunkan dari penyelesaian radiosity elemen Rpixeladalah sifat pantul yang ditentukan oleh peta tekstur untuk suatu pixel Rrata-rata adalah sifat pantul rata-rata dari peta tekstur Cohen menunjukkan bahwa teknik ini memungkinkan kontribusi dari, katakan, pengecatan, terhadap pencahayaan lingkungan yang sarna jika ia berupa satu warna rata-rata. Plate 23 merupakan sebuah gambaran dari teknik ini.
10.5
Pengurutan kembali penyelesaian untuk perbaikan kembali yang progresif Tidak seperti teknik sintesa gambar yang utama, metode radiosity, sampai saat ini, tidak diterima oleh masyarakat grafik komputer, karena anggapan bahwa biaya komputasi tambahan yang sangat besar dari metode tersebut. Di dalam sebuah paper yang dipublikasikan pada tahun 1988 Cohen dan kawan-kawan mengalarnatkan masalah ini dan mengembangkan sebuah pengurutan kembali yang penting dari teknik dasar yang disebut 'progressive refinement'. Tujuan utama dari perbaikan kembali yang progresif atau adaptif dapat diterima oleh sembarang teknik sintesa gambar yang rendah dan ia memcoba untuk memperoleh kompromi antara kebutuhan akan interactivity dan mutu gambar yang bersaing. Sebuah metode sintesa yang memberikan perbaikan kembali adaptif akan menghadirkan gambar awal yang dirender secara cepat kepada pemakai.
452
Pengantar Komputer Grajik
Gambar ini kemudian diperbaiki kembali secara progresif dengan cara yang anggun. Cohen mendetinisikan ini sebagai kemajuan ke arah mutu yang lebih tinggi, kenyataan yang semakin besar dan lain sebagainya, dengan cara yang otomatis, berlanjut terus, dan tidak membingungkan pemakai. Kemampuan yang semula dari sebuah perkiraan dapat sangat membantu perkembangan teknik dan gambar, dan mengurangi kalang umpan balik dengan perkiraan adalah tambahan yang diperlukan bagi metode radiosity. Metode radiosity khususnya sesuai untuk pendekatan ini resolusi ruang dari gambar masing tetap, sementara perhitungan pencahayaan diperbaiki kembali. Ini berbeda dengan pilihan dalam pelacakan sinar dimana hanya proses perbaikan kembali yang sederhana yang tidak melibatkan kehilangan informasi yang telah dihitung adalah untuk meningkatkan resolusi ruang dua-dimensi secara progresif. Dua masalah praktis yang utama dalam metode radiosity adalah mengenai biaya penyimpanan dan perhitungan faktor bentuk. Cohen menunjukkan bahwa untuk sebuah lingkungan yang terdiri dari 50,000 lekatan, meskipun matriks kuadrat yang dihasilkan dari faktor bentuk bisa jarang 90% (banyak lekatan yang tidak bisa saling melihat) masih memerlukan penyimpan 109byte (dengan empat byte per faktor bentuk). Keperluan akan perbaikan kembaliyang progresifdan penghapusan perhitungan awal dan penyimpanan faktor bentuk dijumpai oleh sebuah penstrukturan kembali algoritma radiosity dasar dengan banyak akal. Tahap di dalam perbaikan kembali yang progresif diperoleh dengan menampilkan hasil begitu penyelesaian iterasi berlangsung. Penyelesaian tersebut disusun kembali dan urutan pengevaluasian faktor bentuk dioptimisasi sedemikian rupa sehingga konvergensi terlihat anggun. Pennyusunan kembali ini memungkinkan radiosity dari semua lekatan diperbaharui pada masing-masing langkah di dalam penyelesaian tersebut, bukan hanya sebuah langkah penyediaan penyelesaian untuk sebuah lekatan tunggal. Perbedaan visual maksimum antara langkah di dalam penyelesaian tersebut dapat dicapai dengan pemrosesan lekatan sesuai dengan kontribusi energi mereka terhadap lingkungan.Metoderadiositykhususnyacocok untuk sebuahpendekatan perbaikan kembali yang progresif karena ia menghitung sebuah penyelesaian yang tergantung pada pandangan. Memandang penyelesaian ini (dengan perenderan dari sebuah titik pandang tertentu) dapat berlangsung secara bebas begitu penyelesaian radiosity berlangsung. Di dalam pengevaluasian yang biasa dari matriks radiosity sebuah penyelesaian untuk salah satu bagis memberikan radiosity untuk sebuah lekatan tunggal i:
-
Radiosity
453
n
B.I
= £.
I
+ R.I ~ ~ B.F... J IJ jst
Ini adalah sebuah perkiraan daTiradiosity lekatan i yang didasarkan pada perkiraan dari semua lekatan lain yang sedang berlangsung. Ini adalah proses 'gathering', sebagaimana diuraikan dalam Bagian 10.2. Jika dipandang secara dinamis maka masing-masing intensitas lekatan diperbaharui sesuai dengan posisi baris di dalam matriks radiosity. Gagasan dari metode perbaikan kembali secara progresif adalah bahwa seluruh gambar diperbaiki kembali pada setiap iterasi, bukan sebuah lekatan tunggal. Cohen dan kawan-kawan (1988) mengistilahkan ini sebagai 'shooting', dimana kontribusi daTimasing-masing lekatan i didistribusikan ke semua lekatan yang lain. Perbedaan antara dua proses ini dilukiskan secar diagram dalam Gambar 10.8(a) dan (b). Pengurutan kembali algoritma tersebut diatasi dengan cara berikut. Sebuah suku tunggal menentukan andil terhadap radiosity daTilekatanj yang disebabkan daTilekatan i:
Hubungan ini dapat dibalik dengan menggunakan hubungan timbal-balik:
dan ini berlaku untuk semua lekatan j. Hubungan ini dapat digunakan untuk menentukan kontribusi kepada masing-masing lekatanj di dalam lingkungan daTi lekatan tunggal i. Sebuah radiosity tunggal (lekatan i) menembakkan cahaya ke dalam lingkungan dan radiosity daTisemua lekatanj diperbaharui secara serentak. Perbaikan lengkap yang pertama (daTisemua radiosity dalam lingkungan tersebut) diperoleh dari perhitungan faktor bentuk 'yang terbang'. Jadi sebuah perkiraan awal terhadap gambar lengkap dapat tampak bila hanya baris pertama daTi faktor bentuk telah dihitung. Ini akan menghapuskan tingginya biaya pemulaian atau biaya perhitungan yang dilakukan terlebih dahulu. Langkah-Iangkah di dalam proses tersebut dapat ditampilkan di dalam sebuah urutan perbaikan kembali yang progresif jika menambahkan delta Bj ke masingmasing lekatanj di dalam urutan iterasi. Ini diselesaikan sebagai berikut:
454
Pengantar Komputer Grafik
L
£, I £2 +
I £, I
I
L
l r:;l
I
8, I = I £, I
8. I
7
R,F.,
R,F'2
... R,F,.II8, I
I
J L8, J
\
:
82 .
8. [8']
7
. ..
= 82:.
8, .
+
['] 8,
for allj:
8;
. ..
H :
[0...
R,F,.
...
R F OJ ""' ... 8,'"
= 8; + 8,(R,F"J
where F" = F,rA'
A,
(a)
(b)
Gambar 10.8 (a) Gathering: penyelesaian Gauss-Seidel standar dari matriks radiosity. Radiosity dari sebuah lekatan tunggal i diperbaharui untuk masing-masing iterasi dengan pengumpulan radiosity dari semua lekatan yang lain. (b) 'Shooting': radiosity dari semua lekatan diperbaharui untuk masing-masing iterasi. Sebuah pernyataan diagram mengenai perbedaan antara penyelesaian radiosity standar dan metode perbaikan kembali yang progresif (menurut Cohen dan kawan-kawan, 1988).
repeat for {each patch i} do {position a hemicube on patch i and calculate form factors Fij (for the first iteration) } for {each patch j U* i) }do tlRad ..= R'dBBA. I I 'I I/ A-I dBj:=
dBj + dRad
Radiosity
Bj := Bj
455
+ t:.Rad
/lBi = 0 until convergence
dimana ~ Bj adalah perbedaan antara perkiraan Bjyang sebelumnya dan sekarang. Jadi begitu iterasi berlangsung ~ Bj berkurang begitu Bj menjadi makin dan semakin teliti dan suku ambient berkurang. Proses ini diulang sehingga dicapai konvergensi. Ini dilaksanakan dengan sub-pembagian lekatan dan pengujian gradien radiosity antara elemen yang bertetangga. Semua radiosity Bj dan ~ Bj awalnya ditetapkan apakah nol atau nilai pancaran mereka. Begitu proses ini diulang untuk masing-masing lekatan i suatu penyelesaian ditampilkan dan pada masing-masing langkah radiosity untuk masing-masing lekatanj diperbaharui. Jika keluaran dari algoritma tersebut ditampilkan tanpa perluasan selanjutnya, maka sebuah gambar, yang asalnya gelap, secara berangsur menyala begitu radiosity yang bertambah ditambahkan ke masing-masing lekatan. Cohen mengoptimisasi konvergensi visual dari proses ini dengan mensortir urutan dimana lekatan tersebut diproses sesuai denganjumlah energi yang mereka pancarkan. Ini berarti, misalnya, bahwa lekatan pancaran, atau sumber cahaya, harus diperlakukan pertama kali. Ini memberikan penyelesaian cahaya awal yang bagus. Lekatan berikutnya yang diproses adalah yang menerima paling banyak cahaya dari sumber cahaya dan seterusnya. Ini ditunjukkan oleh Cohen bahwa, dengan menggunakan pola pengurutan ini, penyelesaian berlangsung dengan cara yang memperkirakan pe-rambatan cahaya melalui sebuah lingkungan. Di dalam kenyataan, untuk sebuah sumber cahaya seperti cahaya matahari yang masuk melalui sebuahjendela, kebanyakan sinar ambient datang dari pantulan yang pertama dari permukaan dlam ruang tersebut. Meskipun ini menghasilkan sebuah urutan visual yang lebih bagus daripada sebuah proses yang tidak diurutkan, penyelesaian masih berlangsung dari sebuah gambar gelap ke gambar yang disinari sepenuhnya. Untuk mengatasi pengaruh ini sebuah suku cahaya ambient ditambahkan ke radiosity menengah. Suku ini hanya digunakan untuk meningkatkan tampilan dan bukan bagian dari penyelesaian. Nilai dari suku ambien tersebut didasarkan pada perkiraan radiosity yang sedang berlangsung dari semua lekatan di dalam ling-
456
Pengantar Komputer Grajik
kungan tersebut, dan begitu penyelesaian berlanjut dan menjadi lebih baik kontribusi ambient berkurang. Gagasan tersebut adalah bahwa begitu penyelesaian berlimjut,mutu atau kebenaran gambar bertambah dan peran dari kontribusi ambient yang diperkirakan berkurang. Kontribusi ambient pada sembarang tahap ditentukan sebagai berikut. Pertama, sebuah definisi pendekatan faktor bentuk perkiraan diperkenalkan. Ini mengabaikan hubungan geometri antara sepasang lekatan dan menentukan sebuah faktor bentuk perkiraan yang hanya tergantung pada lekatanj. Faktor bentuk perkiraan ini ditentukan oleh:
A-I
= n-
F;;(estimated)
LA;
;=1
yang merupakan pecahan dari lingkungan yang kumpulkan oleh luasan Aj. Kedua, sebuah sifat pantul rata-rata untuk semua lekatan dalam lingkungan tersebut diberikan oleh: n LRiAi i=1 Raverage =---,,LAi i=1
Kini perhatikan sinar yang datang pada lingkungan tersebut. Ini akan dipantulkan satu kali, dua kali, dan seterusnya dan seluruh faktor pantulan, fl, dapat ditentukan sebagai: ,u = 1 + Raverage 2 + R average3
=
1
1-
Raverage
Definisi ini dapat digunakan di dalam sebuah suku ambient perkiraan: n fa
= /l
L
;=1
6.B;F;;(estimated)
Radiosity
457
Algoritma perbaikan kembali progresif yang lengkap kini dapat diringkas. Empat tahap utama diselesaikan untuk masing-masing iterasi. Ini adalah: (1) Tentukan lekatan dengan radiosity atau energi pancar yang paling besar. (2) Evaluasi sebuah kolom dari faktor bentuk, yaitu, faktor bentuk dari lekatan ini terhadap setiap lekatan lain dalam lingkungan tersebut. (3) Perbaharui radiosity dari masing-masing lekatan penerima. (4) Sederhanakan suku ambient sementara sebagai sebuah fungsi jumlah dari perbedaan antara nilai yang sedang berlangsung yang dihitung dalam tahap 3 dan nilai sebelumnya. (Catat bahwajika sub-pembagian adaptifyang digabungkan ke dalam metode tersebut adalah 'Iekatan penerima' yang dibagi-bagi dan algoritma perbaikan kembali yang progresif menghitung faktor bentuk dari sebuah lekatan ke eIemen atau hasil perkalian sub-pembagian.) Sebagai contoh, di dalam sebuah ruang sebuah sumber cahaya luasan meungkin lekatan 'shooting' pertama yang dipilih. Faktor bentuk dari sumber cahaya ke setiap permukaan yang lain dievaluasi dan radiosity didistribusikan ke setiap permukaan penerima yang lain. sebuah alas meja bagian atas berlawanan secara langsung dengan bisa berupa sumber berikutnya yang dipilih dan proses tersebut berlanjut. Cohen dan kawan-kawan mengkategorikan pilihan algoritma dasar di dalam metode radiosity sebagai berikut:
·
.
.
Gathering Sebuah istilah yang digunakan untuk menyatakan pendekatan dasar yang diuraikan dalam Bagian 10.2. Sebuah matriks dari faktor bentuk dihitung, disimpan, dan digunakan dalam sebuah penyelesaian Gauss-seidel tradisional. Jika penyelesaian tersebut dipandang begitu ia berlangsung, radiosity lekatan yang diperkirakan diperbaharui di dalam urutan mereka dalam rumusan matriks. Shooting Kebalikan dari proses penyelesaian ini. Cahaya dari masing-masing lekatan ditembakkan kedalam lingkungan dan seluruh gambar diperbaharui untuk masing-masing iterasi. Pendekatan ini dioptimisasi secara visual dengan memperlakukan lekatan dalam urutan yang memperhitungkan jumlah energi yang mereka pancarkan. Shooting dan ambient Sebuah suku ambient kini dicantumkan dengan demikian maka perkiraan awal dapat dilihat. Pada masing-masing iterasi mutu dan ketelitian penyelesaian bertambah dan pecahan ambient dikurangi.
458
Pengantar Komputer Grajik
10.6
Perkembangan selanjutnya dari metode radiosity: radiosity hibrida dan pelacakan sinar Metode radiosity standar, sebagaimana diuraikan sebelumnya, menyediakan sebuah penyelesaian untuk interaksi dari permukaan difusi di dalam sebuah lingkungan tertutup. Jika metode radiosity tersebut menjadi sebuah teknik sintesa gambar standar, maka ia harus mencantumkan pemodelan fenomena specular. Wallace, Cohen, dan Greenberg (1987) melakukan ini dengan menggabungkan pelacakan sinar dan memisahkan metode tersebut menjadi sebuah pendekatan dua-lewatan. Metode radiosity pertama kali diperluas dengan mencantumkan interaksi specular oleh Immel, Cohen, dan Greenberg (1986) yang menggabungkan sebuah fungsi pantulan dua arah kedalam persamaan radiosity dasar dan mengambil sebuah penyelesaian yang tidak tergantung pada pandangan terhadap antar pantulan specular. Akan tetapi, pendekatan ini menghasilkan biaya tambahan komputasi yang sangat besar untuk segala sesuatu namun gambar sederhana, karena di dalam sebuah penyelesaian yang tidak tergantung pada pandangan, meskipun pencahayaan difusi berubah relatif lambat pada sebuah permukaan, sub-pembagian yang teliti diperlukan untuk interaksi specular. Oi dalam pendekatan dua-lewatan Wallace, lewatan yang pertama adalah perhitungan dari sebuah penyelesaian yang tidak tergantung pada pandangan sebuah penyelesaian radiosity yang ditingkatkan. Filosofi dari teknik tersebut dipaparkan dalam Gambar 8.19 dan didasarkan pada apa yang diuraikan Wallace sebagai empat mekanisme pencahayaan. Ini menentukan sifat alami dari interaksi antara dua permukaan dan mencantumkan interaksi difusi-ke-difusi, specular-kedifusi, dan specular-ke-specular. Pendekatan dua-lewatan yang tidak tergantung pada pandangan/tergantung pada pandangan diistilahkan 'preprocess' dan 'postprocess'. Preprocess ditingkatkan dengan mencantumkan transmisi difusi (translucency) dan transpot specular-ke-difusi. Metode radiosity dasar - dengan menggunakan sebuah hemicube untuk penentuan faktor bentuk - kemudian digunakan. Postprocess menggunakan pelacakan sinar yang tidak tergantung pandangan yang memperhitungkan interaksi specular-ke-specular dan interaksi difusi-ke-specular. Translucency diimplementasikandengan menggunakan sebuah hemicube pada belakan seperti halnya permukaan depan, yang memungkinkan arah balik seperti
Radiosity
Virlu:.1envimnment
459
Real cnvironmcnt
Gambar 10.9 C adalah sebuah cermin yang sempurna dan sebuah lintasan untuk interaksi antara lekatan A dan B melalui C dapat dimodel dengan dengan menyusun sebuah lekatan yang sebenarnya B' .
halnya faktor bentuk maju dihitung. Transport specular-ke-specular dapat terjadi saat, misalnya, dua lekatan difusi melihat satu sarna lain melalui sebuah permukaan pantul specular perantara, dan fenomena ini diperhitungkan dengan menggunakan sebuah faktor bentuk tambahan untuk lekatan ini. Proses ini menentukan intensitas komponen difusi yang disebabkan oleh interaksi difusi-kespecular, specular-ke-specular, dan specular-ke-difusi dan ia menghasilkan sebuah penyelesaian yang tidak tergantung pada pandangan yang menggabungkan mekanisme ini. Permukaan specular terbatas pada cermin yang sempuma dan Iintasan tambahan diperhitungkan dengan faktor bentuk tambahan yang dihitung dengan mempertimbangkan sebuah lingkungan yang sebenamya (Gambar 10.9). Di dalam gambar A dan B ada dua lekatan difusi yang berinteraksi sebagaimana yang ditentukan dalam penyelesaian radiosity normal. Sebagai tambahan, A berinteraksi dengan B melalui sebuah lekatan specular C (sempuma). Ini diperhitungkan dengan menetapkan sebuah lekatan difusi yang sebenamya B'. Lingkungan yang diperluas dengan cara ini dan persamaan radiosity normal ditingkatkan dengan faktor bentuk tambahan dari Iingkunganyang sebenamya. Ini merupakan kekurangan dari metode tersebut. Karena perhitungan faktor bentuk
460
Pengantar Komputer Grafik
I'ah:h
J{ecursive application of algorithm
Outgoing direction
Reflection point
Gambar 10.10 Contoh intensitas menggunakan piramid persegi empat untuk mendekati refleksi bagian yang berbentuk bulat.
selalu mendominasi, dengan memperkenalkan lingungan tambahan atau lingkungan yang sebenamya akan sangat meningkatkan waktu komputasi yang besar. Jadi, di dalam preprocess, atau penyelesaian yang tidak tergantung pada pandangan, transport specular diperhitungkan untuk, namun hanya sampai pada perluasan tertentu untuk menghitung komponen difusi secara teliti. Postprocess atau tergantung pada pandangan memperlakukan mekanisme specular-ke-specular dan difusi-ke-specular dengan menggunakan sebuah pendekatan pelacakan sinar. Pelacakan sinar normal, tentu saja, memperlakukan transfer specular-ke-specular. Untuk menghitung mekanisme difusi-ke-specular dengan benar, pengintegrasian intensitas cahaya yang datang harus dilakukan pada seluruh belahan bola pada titik yang ditinjau, diberi bobot dengan sifat pantul specular dua arah. Akan tetapi, Wallace, Cohen, dan Greenberg (I 987) membuat anggapan bahwa hanya sebagian kecil dari sinar yang datang pada belahan bola yang andil terhadap tonjolan specular yang meninggalkan. Mereka menggunakan sebuah frustum pantulan persegi untuk meniru tonjolan specular dan metode ini juga menggabungkan mekanisme specular-ke-specular (Gambar 10.10). Intensitas difusi yang datang yang andil kepada masing-masing frustum pantulan dihitung dengan interpolasi linear dari intensitas puncak lekatan yang tidak tergantung pada pandangan/preprocess.
Radiosity
461
Frustum pantulan diimplementasikansecara geometri sebagai sebuah piramida persegi yang ujung permukaannya dibagi kedalam n x n pixel. Permukaan yang dapat dilihat ditentukan dengan menggunakan sebuah algoritma penyangga-Z yang biasa dengan resolusi yang sangat rendah sekitar lOx 10 pixel. Intensitas yang datang yang dilihat melalui sebuah pixel frustum pantulan'hanya intensitas permukaan yang dilihat oleh pixel tersebut, jadi, intensitas tersebut dihitung di dalam fase preprocess/tidak tergantung pada pandangan. Jika sebuah permukaan yang dapat dilihat adalah specular, maka proses tersebut diterapkan secara rekursif sebagaimana dalam pelacakan sinar normal. Intensitas yang datang yang mengalir melalui masing-masing pixel dijumlahkan untuk meniru sebaran specular dan dapat juga dijadikan subyek pada sebuah fungsi pembebanan yang menirukan bentuk sebaran specular. Wallace membatasi jumlah pekerjaan yang harus dilakukan pada tahap ini dengan pembatasan kedalaman rekursif dimana proses tersebut beroperasi dan juga dengan pengurangan resolusi pixel pada permukaan ujung dari frustum pantulan sebagai sebuah fungsi kedalaman lacakan.
Prayek, catatan, dan saran 10.1 Pengimplementasian radiosity (*) Dengan menggunakan kerumitan lingkungan konsisten dengan sumber daya komputasi anda, kembangkan sebuah sistem radiosity. Catat bahwa masing-masing polygon/lekatan harus memiliki sebuah nilai pancaran (nol kecuali untuk sumber cahaya) dan sebuah sifat pantul untuk masing-masing pita warna dalam penyelesaian. Juga catat bahwa bagian akhir dari proses tersebut, perhitungan sebuah pandangan dari penyelesaian yang tidak terg~ntung pada pandangan dapat menggunakan sebuah perender penyangga-Z yang disesuaikan pada Bab 5. Kembangkan sebuah urutan animasi dari penyelesaian tersebut yang 'berjalan' melalui suatu gambar. Dari titik pandang perkembangan dan pengujian ia bisa berguna untuk mengimplementasikan metode perbaikan kembali yang progresif. Sebuah catatan ringkas pada metode Gauss-Seidel Cohen dan Greenberg (1985) menunjukkan bahwa metode Gauss-Seidel dijamin berkumpul secara cepat untuk himpunan persamaan seperti Persamaan 10.1.
462
Pengantar Komputer Grajik
Jumlah dari sembarang baris dari faktor bentuk menurut definisi kurang dari satu. Jumlah suku baris dalam Persamaan 10.1 (tanpa mencantumkan suku diagonal utama) kurang dari satu. Suku diagonal utama selalu satu (Fjj = 0 untuksemuai) dan syarat ini menjamin konvergensi yang cepat. Metode Gauss-Seidel adalah sebuah perluasan terhadap metode iterasi berikut. Ditentukan sebuah sistem persamaan linear: Ax = E seperti Persamaan 10.1, kita dapat menulis kembali persamaan untuk XI, X2, . . ., Xi dalam bentuk:
EI - al2x2 - a13x3- . . . - alnXn all
yang menghantarkan kepada iterasi E I - al2x2 (k) -. . . (k+l)
=
XI
(k) all/xI/
all
Secara umum: (Iii
(10.3)
Rumus ini dapat digunakan dalam sebuah prosedur iterasi: (1) Pilihlah sebuah perkiraan awal, katakan, X(II) _-- Ei t
a.It
untuk i = 1,2,...,n, dimana Ei bernilai bukan nol untuk permukaan yang memancarkan atau sumber cahaya. (2) Tentukan iterasi berikutnya Xi
(k+
I)
dan . Xi
(k)
dengan menggunakan Persamaan 10.3.
Radiosity
(3)
463
dari sebuah ambang, untuk i = 1,2, . . ., n, maka menghentikan iterasi tersebut,jika tidak kembali ke langkah 2.
Jika
Ix ~k+I) - X ~k)1kurang
Ini dikenal sebagai iterasi Jacobi. Metode Gauss-Seidel meningkatkan konvergensi dari metode ini dengan memodifikasi Persamaan 10.3 menggunakan informasi paling akhir yang tersedia. Pada saat iterasi bam x ~k+I)dihitung, nilai bam X~k+I),x~k+I),... ,X~~+II)telah dihitung dan Persamaan 10.3 dimodifikasi menjadi: x. (k+l) I
Ei
-
ailxl
(k+I)
(k+l)
- aU-lxi-l
(k)
- ai.i+lxi+l
(k)
- ainXn
aii (10.4)
Catat bahwa bila i = 1 sisi sebelah kanan dari persamaan tersebut hanya berisi suku dengan subscript k, dan Persamaan 10.4 sederhana menjadi Persamaan 10.3. Bila i = n maka sisi sebelah kanan hanya berisi suku dengan subscript k + I saja. Konvergensi dari metode Gauss-Seidel dapat ditingkatkan dengan metode berikut. Dihasilkan sebuah nilai bam X;,(k+ I), sebuah nilai yang lebih baik diberikan oleh sebuah rata-rata yang dibebani dari nilai lama dan baru: x~k+l)
= rx;(k+I) +
(1
-
r)x~k)
dimana r (>0) adalah sebuah faktor relaksasi sembarang yang tidak tergantung pada k dan i. Cohen dan kawan-kawan (1988) melaporkan bahwa sebuah faktor relaksasi 1.1 bekerja untuk kebanyakan lingkungan.
11 11.1
Anti-aliasing
Pendahuluan Bab ini adalah pendekatan umum terhadap aliasing dalam grafik komputer dan memberikan sebuah latar belakang teoritis yang tidak sangat teliti terhadap suatu masalah. Teknik yang tergantung pada kontks untuk pemetaan tekstur dan pelacakan sinar dipaparkan dalam Bab 7 dan Bab 8. Pemetaan tekstur, misalnya, memerlukan sebuah pendekatan anti-aliasing khusus dan dengan kebanyakan metode tekstur, diperlukanteknik pemfilteran 'space-variant'. Anti-aliasing sementara dibahas dalam Bab 8 (pelacakan sinar yang terdistribusi) dan Bab 13 (animasi). Penyebab dasar dari aliasing didalam grafik komputer adalah penciptaan gambar dengan sebuah proses pencuplikan yang teratur di dalam kawasan ruang (dan, dalam kasus animasi, waktu). Proses pencuplikan yang disebabkan karena sifat alami piranti tampilan, yang mana di dalam raster grafik adalah sebuah larik tertentu dari pixel yang memiliki ukuran tertentu. Tahap akhir dalam pembangkitan sebuah gambar adalah perhitungan intensitas untuk masing-masing pixel Ini selalu melibatkan pemetaan sebuah intensitas I(x,y), di dalam ruang gambar dua-dimensi yang malar (yakni, sebuah proyeksi dari sebuah ruang tiga-dimensi yang malar. Pemetaan ini, biasanya dihasilkan oleh sebuah algortima bayangan yang bertambah (dimana sebuah intensitas baru 1+ 81 dihitung untuk sebuah posisi baru X + oX) adalah setara dengan pencuplikan ruang gambar dua-dimensi secara terus menerus dengan sebuah larik dari titik cuplik diskret yang didasarkan, katakan, pada pusat masing-masing pixel. Pandangan sintesa gambar ini sebagai sebuah proses pencuplikan adalah penting dalam anti-aliasing karena ia memungkinkan kita menggunakan teori pengolahan isyarat sebagai sebuah dasarteori. Manifestasi yang paling terkenal dari aliasing adalah edge bayangan hitam yang bergerigi (Gambar 11.1 dan Plate 25). Sebuah edge bayangan hitam adalah 464