• Tidak ada hasil yang ditemukan

Metode Penggambaran Tiga Dimensi

BAB 4 PENGUJIAN SISTEM

2.1 Metode Penggambaran Tiga Dimensi

Seperti yang telah disinggung pada tulisan sebelumnya, metode penggambaran tiga dimensi dibagi menjadi dua jenis yaitu rasterization dan PBRT. Implementasi metode rasterization yang terkenal adalah OpenGL, Direct3D, dan Reyes. OpenGL dan Direct3D merupakan standar yang digunakan untuk pembuatan aplikasi-aplikasi yang berjalan secara real-time, sedangkan penggambaran dengan standar Reyes banyak diimplementasikan pada program-program permodelan tiga dimensi seperti Mental Ray, Pixar Render Man, dan NVIDIA Gelato. Implementasi PBRT banyak digunakan untuk pembuatan spesial efek seperti model transparant, subscattering, dan refleksi. PBRT dibagi menjadi beberapa jenis metode, antara lain ray tracing, photon mapping, dan radiosity.

2.1.1 Rasterization

Metode rasterization merupakan metode penggambaran dengan mengasum-sikan suatu objek merupakan vektor grafik. Proses-proses yang terjadi pada ras-terizationadalah melakukan transformasi objek dalam dunia tiga dimensi, proyeksi

Gambar 2.1: Penggambaran dengan rasterization

objek dari koordinat tiga dimensi ke koordinat dua dimensi, clipping, dan yang ter-akhir adalah melakukan scan conversion untuk mengisi objek sesuai dengan hasil proyeksi dua dimensi yang telah dilakukan dan warna yang telah ditentukan. Gam-bar 2.1 merupakan contoh penggamGam-baran dengan menggunakan teknik rasterization pada sebuah segitiga.

Transformasi

Proses transformasi terbagi menjadi beberapa bagian yaitu transformasi lokal, transformasi global, transformasi camera, dan proyeksi. Transformasi lokal meru-pakan transformasi yang dilakukan pada suatu objek dengan orientasi pada pusat lokal koordinat dari objek. Transformasi global merupakan transformasi yang di-lakukan objek dengan orientasi pada titik pusat (0,0) dari scene. Proses transformasi objek yang dapat dilakukan adalah translasi, rotasi, dan dilatasi. Transformasi kam-era merupakan transformasi yang dilakukan untuk membentuk suatu kamkam-era virtual sehingga penglihat seperti melihat pada suatu region tertentu saja. Proyeksi meru-pakan transformasi spesial yang digunakan untuk memproyeksikan suatu benda dari sistem koordinat satu ke sistem koordinat yang lain. Pada metode rasterzation, proyeksi digunakan untuk melakukan proyeksi dari sistem koordinat tiga dimensi ke sistem koordinat dua dimensi. Banyak sekali teori-teori tentang proyeksi, tetapi metode proyeksi yang paling banyak digunakan adalah metode orthogonal dan per-spective. Ilustrasi dari kedua tipe proyeksi tersebut dapat dilihat pada gambar 2.2.

Gambar 2.2: Tipe proyeksi pada rasterization1

Clipping

Setelah semua objek diproyeksikan ke dalam koordinat dua dimensi, maka ada sebagai dari objek tersebut yang berada diluar bidang lihat dari window atau area dari layar dimana setiap titik akan ditulis. Clipping merupakan proses pemotongan objek yang berada diluar bidang lihat. Metode clipping yang paling banyak digu-nakan adalah metode sutherland-hodgeman. Proses clipping dengan menggudigu-nakan metode sutherland-hodgeman dapat dilihat pada gambar 2.3.

1Diambil dari http://goanna.cs.rmit.edu.au/~gl/teaching/Interactive3D/2009/ lecture3.html

Gambar 2.3: Clipping dengan metode sutherland-hodgeman2

Scan Conversion

Scan Conversionmerupakan proses pengisian objek yang telah diproyeksikan dan telah melalui proses clipping sesuai dengan warna yang diinginkan. Permasala-han yang timbul pada proses scan conversion adalah mengetahui apakah suatu titik yang akan dituliskan mempunyai nilai kedalaman yang lebih kecil daripada titik yang telah dituliskan. Metode yang banyak digunakan untuk mengatasi permasala-han tersebut adalah menggunakan algoritma z-buffer dimana setiap titik yang ditulis dilayar akan disimpan kedalamannya pada suatu buffer yang disebut dengan z-buffer dan jika ada titik yang sama yang akan ditulis dilayar maka perlu dibandingkan kedalamannya dengan kedalaman yang telah disimpan pada z-buffer.

2Diambil darihttp://en.wikipedia.org/wiki/Sutherland-Hodgeman

Gambar 2.4: Klasifikasi pada konstruksi photon map [Jen96]

2.1.2 Physically Based Rendering Technique

Perbedaan mendasar antara PBRT dan rasterization adalah penurunan dan asum-si yang digunakan. Pada rasterization proses penggambaran dilakukan setelah selu-ruh objek dipeta dari koordinat tiga dimensi ke koordinat dua dimensi. Hal tersebut sangat berbeda dengan PBRT, dimana pada PBRT dilakukan perancangan algoritma sesuai dengan fenomena yang terjadi pada keadaan nyata. Metode-metode PBRT yang ada sekarang merupakan simulasi sederhana tentang bagaimana suatu partikel cahaya melakukan perjalanan dari sumber cahaya menuju mata penglihat. Beber-apa metode PBRT yang banyak digunakan adalah ray tracing, photon mapping, dan radiosity. Ray tracing akan dibahas pada sub bab tersendiri, sedangkan photon mappingdan radiosity akan dibahas secara sederhana pada sub bab ini.

Photon Mapping

Photon mapping merupakan metode penggambaran PBRT yang cukup baru dan dikembangkan oleh Henrik Wann Jensen dari University of California San Diego. Photon mapping mulai diperkenal pada makalah [Jen96] pada tahun 1996. Perkembangan metode penggambaran dengan photon mapping cukup banyak dikem-bangkan oleh beberapa peneliti sampai sekarang seperti pada makalah-makalah [JJD08, HOJ08, HJ09]. Metode penggambaran dengan menggunkan photon map-pingterbagi menjadi dua tahapan yaitu konstruksi photon map dan rendering.

Tahapan konstruksi photon map dilakukan dengan menembakkan photon (paket energi) yang sangat banyak dari sumber cahaya ke dalam scene. Setiap photon ditelusuri ke dalam scene dengan menggunakan metode yang mirip dengan path

Gambar 2.5: Ilustrasi BRDF secara geometri3

tracing. Pada saat photon menabrak suatu permukaan objek, maka parameter pho-tonakan disimpan pada photon map dan dilakukan algoritma russian roulette untuk memutuskan apakah photon tersebut diserap atau direfleksikan. Gambar 2.4 meru-pakan jenis-jenis photon yang digunakan pada photon map. Arah perjalanan pho-ton yang baru akan dihitung dengan menggunakan persamaan BRDF (Bidirectional Reflectance Distribution Function) dari permukaan objek. BRDF adalah suatu per-samaan yang merepresentasikan pemantulan cahaya pada suatu permukaan objek. Ilustrasi persamaan BRDF secara geometri dapat dilihat pada gambar 2.5. Pho-ton mappingyang dipaparkan pada makalah [Jen96] menggunakan dua buah jenis photon mapyaitu caustic photon map dan global photon map. Caustic photon map digunakan untuk menyimpan photon yang berhubungan dengan caustic dan pem-buatannya dilakukan dengan memancarkan photon pada objek-objek specular serta menyimpan sebagaimana suatu photon menabrak suatu permukaan diffuse.

Tahapan terakhir yang dilakukan pada metode photon mapping adalah render-3Diambil darihttp://www.vetscite.org/publish/articles/000063/print.html

Gambar 2.6: Persamaan penggambaran secara goemetri sederhana4

ing. Rendering dilakukan dengan menggunakan metode ray tracing monte carlo dimana setiap radiasi cahaya pada suatu titik akan dihitung berdasarkan rata-rata dari beberapa estimasi sampling. Setiap sampling merepresentasikan sebuah ray yang ditembakkan dari mata penglihat ke titik pada bidang gambar lalu masuk ke dalam scene. Setiap titik pada bidang gambar dihitung dengan menggunakan persamaan penggambaran dan dihitung pada saat pertama kali ray menabrak su-atu permukaan objek pada scene. Persamaan penggambaran yang dipaparkan pada makalah [Kaj86] dapat dilihat pada persamaan 2.1.

Ls(x, ω) = Le(x, ω) + ´

fr(x, ω0, ω)Li(x, ω0)cos θi0 (2.1)

Dimana Ls(x, ω) adalah radiasi cahaya yang terlihat oleh mata penglihat pada titik dimana pertama kali ray menabrak permukaan suatu objek dengan x adalah titik tempat pertama kali ray menabrak suatu permukaan objek dan ω adalah arah dari ray yang ditembakkan, Le(x, ω) adalah radiasi cahaya yang di permukaan objek, Li adalah radiasi cahaya yang datang dari arah ω0, fr adalah fungsi BRDF, dan Ω adalah permukaan sphere yang menjadi arah dari radiasi cahaya yang lain. Ilus-trasi dari persamaan penggambaran pada suatu permukaan objek dapat dilihat pada gambar 2.6.

Radiosity

Radiositymerupakan algoritma penggambaran global illumination yang digu-nakan untuk scene yang bersifat diffuse meterial saja. DIffuse material berarti suatu

Gambar 2.7: Perbandingan radiosity dengan penggambaran dengan direct illumination5

permukaan dari suatu objek akan memantulkan energi dari partikel cahaya dan per-mukaan suatu objek dianggap tidak dapat meneruskan energi cahaya (objek diang-gap sebagai objek transparan).

Metode radiosity pertama kali dikembangkan pada tahun 1950 sebagai solusi dari permasalahan pengantaran panas pada suatu objek dan mulai dikembangkan untuk memecahkan persamaan penggambaran pada bidang komputer grafik pada tahun 1984 oleh peneliti dari Cornell University. Perbandingan antara penggam-baran dengan radiosity dan penggampenggam-baran dengan direct illumination dapat dilihat pada gambar 2.7. Persamaan dasar dari radiosity diambil dari model sederhana dari transfer energi, persamaannya adalah sebagai berikut

Bj= ρjHj+ Ej (2.2)

dimana Bjadalah total radiosity pada suatu permukaan objek, ρjadalah tingkat pe-mantulan permukaan dari objek, Hj adalah energi lain yang berasal dari pantulan cahaya dari permukaan-permukaan objek yang lain, dan Ej adalah energi yang di-pantulkan oleh permukaan objek yang sedang dihitung. Hjadalah suatu persamaan yang dapat didefiniskan sebagai berikut

Hj= Ni=1

BiFi j, j= 1..N (2.3)

5Diambil darihttp://en.wikipedia.org/wiki/Radiosity_(3D_computer_graphics)

Gambar 2.8: Pendekatan diffuse dan specular [SKSS08]

dimana Biadalah radiosity dari permukaan i pada suatu objek dan Fi j adalah faktor dimana energi yang meninggalkan permukaan i dapat sampai ke permukaan j yang bernilai antara 0 sampai 1. Makalah-makalah tentang radiosity cukup banyak seper-ti pada makalah [Kel97, GSCH93, GTGB84], Masing-masing membahas radiosity dan metode untuk mempercepat perhitungan radiosity.

2.2 Shading

Shadingadalah suatu metode yang dilakukan untuk penggambaran dalam hal melakukan pendekatan implementasi dari persamaan penggambaran yang telah di-jelaskan sub bab sebelumnya. Pada pendekatannya, shading membagi permodelan cahaya menjadi tiga jenis yaitu diffuse, ambient, dan specular. Pada sub bab ini ketiga jenis tersebut akan dibahas secara sederhana. Gambar 2.8 merupakan pen-dekatan cahaya diffuse dan specular.

2.2.1 Diffuse

Diffusemerupakan permodelan dari cahaya yang didasarkan pada pemantulan diffuse. Persamaan sederhana dari cahaya diffuse sesuai dengan ilustrasi pada gam-bar 2.8 adalah sebagai berikut

di f f use= kdcos θ = kd(N · L) (2.4) diman kd adalah faktor diffuse yang digunakan (pada aplikasinya biasa direpresen-tasikan dengan warna), θ adalah sudut antara vektor normal dari permukaan objek dengan vektor yang mengarah pada sumber cahaya, N adan L adalah normal vektor

Gambar 2.9: Hasil penggambaran pendekatan cahaya diffuse6

dan vektor yang mengarah pada sumber cahaya.

Pemodelan cahaya dengan diffuse menghasilkan sebagai dari scene akan berwar-na gelap dan sebagai dari scene terlihat terang. Hal tersebut kareberwar-na jika faktor sudut θ dimana ketika sudut bernilai 90 derajat maka diffuse akan menghasilkan nilai 0 atau permukaan tersebut tidak terkena cahaya sama sekali. Hasil penggambaran dari cahaya diffuse dapat dilihat pada gambar 2.9.

2.2.2 Ambient

Pemodelan cahaya dengan ambient adalah diumpamakan bahwa suatu per-mukaan pada suatu objek akan selalu memancarkan suatu cahaya dengan intensitas tertentu. Cahaya ambient digunakan agar hasil penggambaran tidak hanya gelap dan terang tetapi ada faktor tambahan yang membuat warna dari hasil penggam-baran akan menjadi lebih baik. Hasil penggampenggam-baran dengan menggunakan cahaya ambientdan diffuse dapat dilihat pada gambar 2.10.

6Diambil dari http://www.directxtutorial.com/Tutorial9/B-Direct3DBasics/ dx9B3.aspx)

Gambar 2.10: Penggambaran dengan cahaya diffuse dan ambient7

Gambar 2.11: Penggambaran dengan cahaya diffuse, ambient, dan specular7

7Diambil dari http://www.directxtutorial.com/Tutorial9/B-Direct3DBasics/ dx9B3.aspx)

2.2.3 Specular

Specular atau bisa disebut dengan specular highlight merupakan pendekatan cahaya pada suatu permukaan yang mengkilat. Persamaan yang digunakan pada cahaya specular adalah sebagai berikut

specular= ks(N · H)n (2.5)

dimana ks adalah faktor specular yang ada pada permukaan pada suatu objek, N adalah normal vektor, n adalah faktor exponesial dari cahaya specular yang di-inginkan, dan H adalah halfway vektor dari permukaan. Persamaan dari halfway vektor sendiri adalah sebagai berikut

H= V+ L

|V + L| (2.6)

dimana V adalah vektor yang menuju ke mata penglihat, dan L adalah vektor yang menuju ke sumber cahaya. Hasil penggambaran dengan menggunakan ketiga pen-dekatan cahaya tersebut dapat dilihat pada gambar 2.11.

Dokumen terkait