SIGMA, Vol. 13, No. 2, Juli 2010: 133-144 ISSN: 1410-5888
PERBANDINGAN ALGORITMA SCANLINE DAN ALGORITMA RAY TRACING TERHADAP AKURASI PENCAHAYAAN PADA PIRANTI LUNAK 3ds MAX Eva Handriyantini Sekolah Tinggi Informatika dan Komputer Indonesia (STIKI) Malang, Jl. Raya Tidar 100 Malang. Alamat e-mail:
[email protected]
Abstract Rendering is the process of generating an image from a model, by means of computer programs. The model is a description of three-dimensional objects in a strictly defined language or data structure. Scanline algorithm is an algorithm for visible surface determination, in 3D computer graphics, that works on a row-byrow basis rather than a polygon-by-polygon or pixel-by-pixel basis. Ray tracing algorithm is an algorithm for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters with virtual objects. The ray tracing can stimulates wide variety of optical effects, such as reflection and refraction, scattering, and chromatic aberration. This paper describes the comparison between the two algorithms for accurately computing global light transport and rendering high quality image.
Keywords: Ray tracing Algorithm, Scanline Algorithm, Rendering 1. Pendahuluan Computer Graphic (CG) atau yang biasa disebut dengan animasi, telah terbukti mampu membawa revolusi baru dalam industri visual entertainment, baik dalam dunia perfilman, computer games, hingga periklanan. Proses pembuatan suatu karya animasi dibagi menjadi designing, modeling, animating, dan lighting. Proses lighting (pencahayaan) merupakan proses terakhir dan merupakan bagian proses yang menentukan ke-realistis-an suatu animasi. Piranti lunak 3ds Max merupakan piranti lunak yang dapat digunakan untuk membuat animasi, yang memiliki kemampuan merata dalam segala aspek desain 3D, baik gambar bergerak (animate image) maupun gambar diam (still life image). Pada Piranti lunak 3ds Max, dimungkinkan untuk menambahkan suatu algoritma tertentu pada proses pencahayaan dan rendering untuk menghasilkan tingkat keakuratan pencahayaan yang lebih baik, khususnya dalam menampikan bayangan terhadap objek sehingga dapat memantulkan cahaya. Algoritma scanline ialah metode yang digunakan dalam menghasilkan grafik pada motion pictures dalam komputer grafik, selain juga digunakan untuk video game dan pada kebanyakan sebagai visualisasi model pada berbagai teknik terapan. bekerja pada sebuah baris-demi-baris dasar bukan poligon -by-poligon atau pixel demi pixel-dasar. Semua poligon yang akan diberikan pertama-tama diurutkan berdasarkan koordinat y atas di mana mereka pertama kali muncul, maka setiap baris atau garis scan gambar dihitung dengan menggunakan menentukan nilai persimpangan dari garis scan dengan poligon yang memiliki urutan terdepan, sedangkan daftar urutan terdepan akan diperbarui terus supaya polygon yang telah terlihat tidak hilang membentuk garis scan, demikian seterusnya (Wylie, 1967). Ray tracing merupakan pengembangan dari algoritma sebelumnya yaitu algoritma scanline. Ray Tracing adalah teknik untuk menghasilkan sebuah gambar dengan menelusuri jalur cahaya melalui pixel dalam suatu obyek gambar kemudian membuat simulasi efek dari pertemuan pixel menjadi sebuah obyek yang tampak realistik (Watt, 1992). Melakukan perbandingan algoritma scanline dan algoritma ray tracing diharapkan dapat diperoleh perbandingan kualitas suatu obyek yang fotorealistik setelah proses rendering obyek 3D yang dilakukan pada piranti lunak 3ds Max. Dengan demikian diperoleh kesimpulan algorithma apa yang sebaiknya dipergunakan dalam komputer grafik 3D untuk proses render suatu obyek, dengan akurasi pencahayaan paling optimal.
133
Eva Handriyantini
2. Kajian Pustaka a) 3 Dimensi (3D) 3D ialah dimensi yang menggunakan 3 bilangan untuk menunjukkan posisi suatu titik (node). 3 bilangan tersebut dikenal dengan sumbu X, sumbu Y, dan sumbu Z. atau panjang, lebar dan tinggi. Semua obyek didunia nyata merupakan obyek 3 dimensi, karena obyek tersebut memiliki panjang lebar dan tinggi. Obyek 3 dimensi memiliki sudut perspektif dari segala arah, sehingga bisa dilihat dari sudut pandang mana saja. Gambar yang terdiri dari 3 dimensi membantu memperjelas maksud dari rancangan obyek karena bentuk sesungguhnya dari obyek yang akan diciptakan, divisualisasikan secara nyata.
Gambar 1. sumbu kordinat 3 Dimensi b) Scene 3D Scene adalah ruang / lembar kerja dari seorang designer dalam menciptakan sebuah karya 3D baik image maupun animasi. Scene terdiri dari 3 komponen utama yaitu ; Obyek, sumber cahaya, dan kamera/viewpoint (Foley, 1990). Secara keseluruhan, sebuah obyek adalah segala sesuatu, baik itu bersifat solid, cair atau gas yang kesemuanya ditampilkan dalam suatu ruang (scene). Sebuah lampu, segelas air, planet atau awan, semuanya bisa disebut sebagai obyek. Obyek memiliki permukaan yang disebut dengan tekstur, sebuah tampilan dari permukaan yang akan menampilkan detail lebih jauh bentuk dari obyek tersebut. Tekstur memiliki bentuk yang bervariasi, seperti bentuk gelombang pada permukaan kulit kayu, bentuk kasar pada permukaan jalan, maupun halus pada permukaan obyek gelas. Tekstur juga terdiri dari warna. Sebagai contoh, obyek yang berwarna merah, hanya memantulkan warna merah saja dan menyerap warna biru serta kuning. Tampilan tekstur yang bervariasi juga mempengaruhi pantulan cahaya yang datang, makin halus permukaan dari suatu obyek, maka makin besar pula intensitas cahaya yang dipantulkan oleh obyek tersebut. Faktor pendukung lain dari obyek yaitu intensitas kesolidan. Dimana tingkat kesolidan dari sebuah obyek juga akan mempengaruhi pantulan dari cahaya yang datang. Sebagai contoh, obyek dengan intensitas yang rendah (transparan), seperti gelas ataupun air, akan memantulkan sedikit cahaya yang datang, sementara sebagian besar dari cahaya tersebut akan dibiaskan sesuai dengan kepadatan obyek tersebut. 1. Light sources /cahaya Berbeda dengan obyek, sumber cahaya memiliki kemampuan untuk memancarkan cahaya. Sumber cahaya seperti lampu, matahari, lilin, obor dan lain sebagainya. Selain sumber cahaya utama, juga terdapat sumber cahaya tambahan, seperti cahaya yang merupakan hasil pantulan dari sebuah obyek ataupun hasil dari pembiasan. Cahaya juga merupakan faktor utama dalam pembuatan suatu image, karena cahaya memiliki kemampuan untuk menjadikan image tersebut terkesan hidup dan nyata (Glassner, 1989). Sebuah sumber cahaya memancarkan garis cahaya yang merupakan aliran Photon yang bergerak secara garis lurus hingga membentur sebuah obyek. Ketika terbentur dengan sebuah sembarang obyek, sinar tersebut akan mengalami reflection (pemantulan), absorption (penyerapan), dan refraction (Pembiasan). Sebuah permukaan bisa memantulkan sebagian atau keseluruhan dari cahaya yang datang, menuju satu atau lebih arah pantulan, tergantung pada tekstur dan bentuk permukaan dari obyek tersebut.
134
SIGMA Vol. 13, No. 2, Juli 2010
Perbandingan Algoritma Scanline dan Algoritma Raystracing
Obyek juga bisa menyerap (absorption) sebagian cahaya yang datang, yang menyebabkan berkurangnya intensitas dari cahaya yang dipantulkan ataupun yang dibiaskan. Sebuah cermin yang bening memiliki kemampuan memantulkan cahaya yang paling tinggi karena memiliki nilai absorpsi yang paling rendah dibandingkan dengan obyek lain. Jika sebuah obyek memiliki kemampuan untuk menembuskan cahaya (translucent) atau transparan (transparent), maka obyek tersebut memiliki kemampuan untuk membiaskan sebagian dari sinar, sementara obyek tersebut menyerap sebagian atau keseluruhan dari spektrum cahaya (seperti contoh kasus pelangi, dimana cahaya yang datang terbiaskan menjadi beberapa spektrum yang terpisah). Cahaya yang merupakan hasil dari refleksi, absorpsi, maupun bias akan menjadi cahaya baru yang intensitasnya diperoleh dari hasil kalkulasi proses cahaya sebelumnya, misal obyek memiliki tingkat refleksi sebesar 50% dan refraksi 20%, maka intensitas cahaya yang baru sebesar 30% dari besarnya intensitas cahaya sebelum membentur obyek tersebut.
Gambar 2. Refleksi, Refraksi, dan Absorbsi 2. Kamera Kamera dalam scene bisa disebut juga dengan mata atau viewpoint, dimana kamera merupakan titik dan sudut pandang dari penikmat desain tersebut. Salah satu contoh kamera yang sederhana adalah kamera Pin-hole, dimana kamera tersebut dibuat dengan meletakkan beberapa film dalam kotak yang anti – cahaya. Sebuah lubang kecil yang ditutup, berada didepan kotak yang berfungsi untuk memasukkan cahaya dari luar. Untuk mengambil gambar, kotak diletakkan menghadap obyek, dan lubang kecil tersebut dibuka. Tidak seperti teknologi kamera yang modern, kamera pin-hole harus tetap dibuka untuk sementara waktu agar cahaya yang masuk cukup untuk membentuk image difilm dalam kotak. Lubang dari kamera pin-hole harus kecil agar hanya sedikit saja cahaya yang masuk, karena cahaya yang terlalu banyak masuk dapat menyebabkan saturate dan bahkan dapat menghasilkan overexposing yang terjadi pada film (Gooch et al., 1998). Meskipun sederhana, kamera jenis ini efektif, karena bekerja dengan menerima cahaya yang berasal dari obyek hanya datang dari satu arah dan hanya membentur satu sisi dari film. Jika lubang kamera lebih besar, gambar yang dihasilkan pada film akan menjadi kabur karena terlalu banyaknya cahaya yang masuk yang membentur tiap titik dari film.
Gambar 3. Kamera pin-hole (Glassner, 1989) c) Rendering Proses conversi dari sebuah deskripsi tingkat tinggi berbasis objek kedalam sebuah tampilan gambar grafis [Http:/ /www.webopedia.com/TERM/A/animation.html]. Oleh karena itu
SIGMA Vol. 13, No. 2, Juli 2010
135
Eva Handriyantini
proses rendering akan mengubah scene 3D menjadi sebuah image 2D. Sebagai contoh, proses ray tracing mengambil model matematika dari sebuah obyek atau scene 3 dimensi dan merubahnya menjadi sebuah gambar bitmap. Berbeda dengan pemodelan, hasil pencahayaan hanya bisa dilihat pada hasil rendering. Sehingga user terkadang kesulitan dalam menentukan parameter cahaya ketika berada dalam ruang kerja 3D. d) Algoritma Scanline Scanline rendering adalah sebuah teknik rendering dalam komputer grafik 3D yang bekerja berdasarkan baris per baris dari poligon dan pixel. Setiap polygon yang akan dirender pertama akan disusun dari puncak atas kordinat Y dimana pertama kali muncul, kemudian tiap tiap baris atau scanline dari image dikomputasikan dengan menggunakan perpotongan antara scanline dengan polygon yang terdaftar, dimana scanline bergerak secara berurutan menuju kebawah gambar (Morein, 2000). Scanline rendering lebih merupakan metode yang digunakan dalam menghasilkan grafik pada motion pictures dalam komputer grafik, selain juga digunakan untuk video game dan pada kebanyakan sebagai visualisasi model pada berbagai teknik terapan. Dalam scanline rendering, penggambaran dihasilkan dengan melakukan iterasi melalui bagian komponen dari geometri sederhana. Jika jumlah dari pixel yang keluar relatif konstan, maka waktu render cenderung meningkat dalam proporsi liner berdasarkan dari jumlah geometri sederhana tersebut. e) Algoritma Raycasting Raycasting adalah metode dimana gambar dari seluruh permukaan obyek yang terlihat (serta semua bagian dari scene yang terlihat oleh kamera) diperoleh dengan cara memancarkan garis sinar dari kamera / viewer menuju scene (Hearn, 1994). Karena raycasting merupakan metode yang diterapkan dalam dunia komputasi, maka film dari kamera pinhole adalah layar monitor (screen), dan lubang kecil dari kamera tersebut adalah “viewpoint”, serta proses dilaksanakan dalam tiap pixel dari layar monitor.
Gambar 4. Dasar Raycasting Pada algoritma raycasting, proses pencahayaan dilakukan dengan cara menembakkan sebuah garis sinar dalam tiap-tiap pixel dari screen tergantung dari banyaknya pixel dalam screen tersebut. Selanjutnya, garis sinar akan bergerak lurus satu arah (garis sinar juga merupakan alur pandang dari viewer) hingga menemukan atau membentur sebuah obyek terdekat yang menghalangi jalur sinar tersebut. Melalui garis sinar inilah obyek yang menghalanginya dapat dilihat oleh mata. Dengan menggunakan beberapa material, tekstur dan efek cahaya dalam scene, algoritma dari raycasting dapat menentukan bayangan obyek tersebut. Asumsi yang sederhana seperti jika permukaan obyek menghadap dan menghalangi cahaya, maka permukaan tersebut akan tidak terhalangi atau tidak berada dalam pembayangan (shading). Proses pembayangan dari permukaan obyek dikomputasikan dengan menggunakan metode shading standar dalam komputer grafik 3D. Salah satu kelebihan dari raycasting jika dibandingkan dengan metode lama dari algoritma scanline adalah kemampuan untuk bekerja dengan permukaan non-planar dan solid, seperti kerucut dan bulatan. Jika sebuah permukaan dapat ditembus oleh garis sinar, maka raycasting bisa merender obyek dibelakangnya dengan mudah.
136
SIGMA Vol. 13, No. 2, Juli 2010
Perbandingan Algoritma Scanline dan Algoritma Raystracing
Gambar 5. Proses pencahayaan pada raycasting f) Algoritma Ray tracing Metode ini memberikan hasil yang hampir sama dengan raycasting dan scanline rendering, tetapi mampu memberikan efek optik yang lebih baik, seperti simulasi dari refleksi dan refraksi yang lebih akurat dengan hasil output yang lebih baik. Perbedaannya yaitu ray tracing mengikuti sinar yang diawali dari titik mata, dan merupakan pengembangan dari raycasting, bukan dari sumber cahaya seperti yang digunakan oleh scanline rendering (Klein et al., 2000). Ray tracing bekerja dengan mencari jejak (tracing) sebuah garis cahaya yang berpotongan (intersect) dengan lensa kamera. Karena bekerja dengan mengikuti arah garis sinar yang berlawanan, berbagai informasi visual dari seluruh scene dikumpulkan dan dihasilkan pada titik pandang dari kamera / mata. Tetapi hasil dari refleksi dan refraksi dari absorpsi dikalkulasikan ketika sinar tersebut berinteraksi / berpotongan dengan obyek serta media lainnya dalam scene, dimana scene dalam ray tracing ditampilkan baik oleh para programmer maupun visual artist dengan menggunakan tool – tool perantara. Scene juga bisa mengandung data dari berbagai gambar maupun model yang diperoleh dari peralatan lain seperti digital fotografi.
Gambar 6. Hasil Pencahayaan dengan Algoritma Raycasting & Algoritma Ray tracing 3. Metode Penelitian Untuk melakukan pengujian untuk membandingkan antara Algoritma Scanline dan algoritma ray tracing, metode penelitian yang dipergunakan mengacu kepada teknik pengujian piranti lunak. Metode yang dilakukan adalah sebagai berikut: 1. Pembuatan obyek 3D. Pada tahap ini dilakukan beberapa kegiatan yaitu : a. Scene Scene atau ruang kerja dalam pembuatan obyek 3D harus dilakukan pengaturan terlebih dahulu. Yang perlu di tentukan adalah : ukuran dari scene, penentuan koordinat dimana obyek akan diletakkan, bentuk background untuk obyek 3D b. Material Pada bagian ini, obyek 3D akan mulai ditentukan materialnya. Material ialah bentuk ”kulit” dari suatu obyek. Pemilihan material untuk suatu obyek akan memberikan berbagai efek baik tekstur, opacity, diffuse dan berbagai efek lainnya pada permukaan obyek, sehingga obyek bisa lebih realistis.
SIGMA Vol. 13, No. 2, Juli 2010
137
Eva Handriyantini
2. Melakukan rendering dari Obyek 3D dengan Algoritma Ray tracing dan Algoritma Scanline. Pada tahap ini dilakukan beberapa kegiatan yaitu : a. Light Source Pada tahap rendering awal ini, yang perlu dilakukan adalah pengaturan pencahayaan pada suatu obyek 3D. Cahaya dihasilkan dari sebuah light sources (sumber cahaya) yang ditempatkan secara acak pada scene. Perjalanan cahaya dimulai dari sumber cahaya dan bergerak secara garis lurus menuju keberbagai sudut scene. b. Rendering Rendering berfungsi untuk mengubah scene 3D menjadi sebuah image 2D. Berbeda dengan pemodelan, hasil pencahayaan hanya bisa dilihat pada hasil rendering. Pada tahap ini akan ditambahkan algoritma scanline maupun algoritma ray tracing untuk melihat hasil fotorealistik berdasarkan kemampuan akurasi pencahayaannya. 3. Membanding hasil rendering obyek 3D, dengan melakukan evaluasi serta menarik kesimpulan terhadap hasil rendering dengan algoritma scanline dan algortima ray tracing. a. Membandingkan hasil akhir suatu obyek berdasarkan kemampuan akurasi pencahayaan untuk menghasilkan fotorealistik pada proses rendering dengan menggunakan algoritma ray tracing dengan algoritma scanline. b. Identifikasi perbedaan hasil rendering 4. Hasil dan Pembahasan Pada pembahasan pe algoritma scanline dan algoritma ray tracing, tahapan rendering hanya digunakan algoritma ray tracing. Kegiatan ini dapat diuraikan sebagai berikut: 1. Pembuatan obyek 3D. Pada tahap ini dilakukan beberapa kegiatan yaitu : a. Scene Pada scene, ditambahkan 3 buah obyek bulatan (sphere) sebagai obyek dasar (primitive obyek). Pengaturan scene yang dilakukan adalah sebagai berikut: 1) Sphere a, radius r = 8.0, koordinat XYZ(-21.80, 0.00, 7.45) 2) Sphere b, radius r = 6.3, koordinat XYZ (-8.80, 8.03, 6.37) 3) Sphere c, radius r = 5.8, koordinat XYZ (-1.17, -5.17, 4.61) Selain 3 buah obyek bulatan (sphere) sebagai obyek dasar (primitive obyek), pada scene ditambahkan sebuah penampang (plane) berbentuk bujur sangkar berfungsi sebagai lantai dasar pada scene. Pengaturan yang dilakukan adalah:
1)
Ukuran bujursangkar pada koordinat (-36.44, 379.69, 0.00) dan Posisi : horisontal.
Gambar 7. Penempatan Obyek pada penampang b. Material Pada software 3ds Max, pengaturan material seluruhnya dikendalikan pada window Material Editor yang ditampilkan dari panel Rendering > Material Editor atau dengan menekan tombol shortcut- M. Pada Material Editor, dibuat 4 buah material dengan nama; bolaA, bolaB, bolaC dan Penampang yang masing masing memiliki propertis sebagai berikut : 1) Bola A, pengaturan yang dilakukan:
138
SIGMA Vol. 13, No. 2, Juli 2010
Perbandingan Algoritma Scanline dan Algoritma Raystracing
a) b) c) d) e) f)
Shader basic parameters, option 2-sided, tipe Phong Phong basic parameters; ambient dan diffuse dengan nilai : R:0, G:0, B:255. specular highlights; Specular level : 300, Glossines : 60. Maps; reflection,dengan amount 80, map: raytrace, refraction aktif dengan amount 30, map: raytrace, material bola A berada pada sphere a.
2) Bola B, pengaturan yang dilakukan : a) Shader basic parameters; option 2-sided, tipe Phong b) Phong basic parameters; ambient dan diffuse dengan R:0, G:255, B:0 c) Specular highlights; Specular level : 280, Glossines : 55. d) Maps; reflection aktif dengan amount 75, e) Map: raytrace, refractionaktif dengan amount 25, f) Mmap: raytrace, material bola B berada pada sphere b. 3) Bola C, pengaturan yang dilakukan: Shader basic parameters; tipe Phong a) Phong basic parameters; Ambient dan Diffuse dengan R:255, G:255, B:0 b) Specular highlights; Specular level : 300, Glossines : 50 c) Maps; Reflection aktif dengan Amount 70, d) Map: Raytrace, Refraction aktif dengan Amount 25, e) Map: Raytrace, material bola C berada pada sphere c. 4) Penampang, pengaturan yang dilakukan: a) Shader basic parameters; tipe Blinn b) Blinn basic parameters; Ambient dan Diffuse dengan R:255, G:255, B:255 c) Specular highlights; Specular level : Glossines : 0 d) Maps; Diffuse aktif dengan coordinates>Tiling U= 70, V= 70, Reflection aktif dengan Amount 50, e) Map: Raytrace>Attenuation:Falloff Type : Linear, Range : 0 – 17, material Penampang berada pada obyek plane.
Gambar 8. Material Editor pada 3ds MAX
SIGMA Vol. 13, No. 2, Juli 2010
139
Eva Handriyantini
Gambar 9. Diffuse Map pada Penampang (plane) 2. Melakukan rendering dari obyek 3D dengan algoritma ray tracing. Pada tahap ini dilakukan beberapa kegiatan yaitu: a. Light Source Sumber cahaya pada 3ds Max diperoleh dari panel Create > Lights, didalamnya terdapat berbagai macam pilihan sumber cahaya yang masing masing mewakili sumber cahaya secara umum didunia nyata. Digunakannya sumber cahaya Omni karena sumber cahaya tersebut memiliki sifat yang lebih mirip dengan cahaya matahari. Sumber cahaya Omni tersebut ditempatkan pada koordinat (-14.07, 19.43, 54.00), seperti dilihat pada Gambar 9.
Gambar 9. Light Souces dan penempatannya Pengatuan parameter yang dilakukan dari Omni light adalah sebagai berikut: a) Pada group shadow aktif ; tipe raytraced shadow . b) Pada Intensity/ Color/ Attenuation, Group near attenuation; Use dan Show aktif, start : 0, End : 40. Group Far attenuation; Use dan Show aktif, start : 77, End : 160 c) Pada Shadow parameter; Object Shadow; Dens: 0.8
Gambar 10. Lights Parameters
140
SIGMA Vol. 13, No. 2, Juli 2010
Perbandingan Algoritma Scanline dan Algoritma Raystracing
a. Rendering Dalam 3ds Max, setelah window rendering aktif, pengaturan yang dilakukan pada windows rendering, adalah sebagai berikut : a) Panel Common. Common parameter adalah : 1. Time output; single aktif dengan Output Size; 640 x 480 pixel 2. Option aktif , atmospherics, effects, displacements 3. Advanced lighting : Use advanced lighting aktif. 4. Assign renderer :Production dengan menggunakan Mental ray renderer. b) Panel renderer : 1. Rendering algorithm: ray tracing aktif dengan men-checklist enabled 2. Pilih viewport : camera01.
Gambar 11. Window Rendering
Gambar 12. Proses Rendering dengan viewport Camera01 3. Membanding hasil rendering obyek 3D, dengan melakukan melakukan evaluasi serta menarik kesimpulan terhadap hasil rendering dengan algoritma scanline dan algortima ray tracing. a. Membandingkan hasil rendering algoritma ray tracing dengan algoritma scanline. Dari hasil perbandingan, didapatkan hasil sebagai berikut: 1. Efek yang disimulasikan oleh metode algoritma scanline seperti refleksi dan bayangan, mampu ditampilkan dengan lebih natural oleh algoritma ray tracing. 2. Kemampuan untuk menghasilkan image yang lebih fotorealistik pada algoritma ray tracing. Hal ini disebabkan kemampuan algoritma ray tracing dalam melepas sinar lebih banyak dari algoritma scanline, sehingga mampu menampilkan image dengan efek optik lebih akurat seperti pemantulan, pembiasan, multiple light, bayangan serta area light
SIGMA Vol. 13, No. 2, Juli 2010
141
Eva Handriyantini
3. Pemodelan geometri yang lebih rumit dan komplek baik secara kuantitas maupun kualitas bisa dilakukan dan ditampilkan dengan baik karena algoritma ray tracing memiliki kemampuan membedakan intensitas cahaya. 4. Berdasarkan pada runtutan cahaya yang berawal dari titik pandang (kamera / mata), sinar yang dilepaskan pada algoritma ray tracing lebih banyak dari algoritma scanline. Selain itu, tidak semua sinar yang dilepaskan bisa digunakan sebagai source untuk mengkalkulasi efek optik. Ketika proses rendering melibatkan semua sinar termasuk yang tidak berguna (sinar yang tidak mengalami interseksi dengan geometri), berakibat kalkulasi dan proses rendering yang dilakukan komputer menjadi lebih lama pada algoritma ray tracing. 5. Algoritma Ray tracing berjalan dengan proses baru setiap kali titik sinar dijalankan secara berbeda. Sedangkan algoritma scanline menggunakan data yang saling berhubungan untuk proses komputasi secara bersamaan antara pixel. Sehingga kinerja algoritma ray tracing dalam proses rendering berjalan lebih lambat dibandingkan algoritma scanline. 6. Untuk menghasilkan image yang fotorealistik, dibutuhkan persamaan rendering yang hampir mendekati kenyataan atau penerapan secara keseluruhan. Algoritma ray tracing memerlukan resource dari komputer yang sangat besar untuk menghasilkan image yang fotorealistik dibanding algoritma Scanline. b. Identifikasi perbedaan hasil rendering Dengan menggunakan sudut pandang dari camera01 seperti pada gambar 11, scene dirender satu persatu dengan menggunakan algoritma scanline dan algoritma ray tracing. Indentifikasi perbedaan hasil rendering, dapat dijabarkan sebagai berikut: 1. Hasil rendering dengan algoritma scanline. a. Algoritma scanline mampu menampilkan daerah yang seharusnya terkena cahaya dan daerah yang tidak terkena cahaya berada dalam tampilan shading, seperti yang terlihat pada obyek bulatan. b. Algoritma scanline tidak mampu melakukan kalkulasi pemantulan dan pembiasan serta pembayangan pada scene tersebut. Sehingga gambar hasil rendering terkesan kurang realistis.
Gambar 13. Hasil Rendering dengan Algoritma Scanline 2. Hasil rendering dengan algoritma ray tracing a. Algoritma Ray tracing mampu menampilkan daerah yang seharusnya terkena cahaya dan tidak terkena cahaya dengan tampilan shading. b. Algoritma Ray tracing mampu melakukan kalkulasi sinar yang dipantulkan dan dibiaskan serta pembayangan yang seharusnya terjadi pada scene tersebut.
142
SIGMA Vol. 13, No. 2, Juli 2010
Perbandingan Algoritma Scanline dan Algoritma Raystracing
Gambar 14. Hasil Rendering dengan Algoritma Ray tracing 5. Kesimpulan Kesimpulan dari hasil penelitian yang dilakukan adalah sebagai berikut : Algoritma Ray tracing memiliki proses rendering yang berbanding terbalik dibandingkan dengan algoritma scanline. Pada algoritma scanline, proses rendering dilakukan dengan melepaskan garis sinar dari titik sumber cahaya yang menuju ke kamera, sedangkan algoritma ray tracing malah melakukan proses yang berlawanan yaitu dengan melepaskan garis sinar justru dari titik kamera dan bergerak secara garis lurus kearah sumber cahaya. Algoritma ray tracing memiliki kemampuan refleksi, refraksi dan shadow yang membuat image tampak lebih natural dan realistis dibandingkan algoritma scanline. Algoritma ray tracing melakukan proses rendering lebih kompleks dibandingkan algoritma scanline, sehingga algoritma ray tracing membutuhkan waktu bekerja yang jauh lebih lama serta sumber daya yang lebih besar dibandingkan algoritma scanline.
Kepustakaan Buck, J. 2000. “The Recursive Ray tracing Algoritm.” http://reocities.com/SiliconValley/haven/5114/raytracing.html, 25 April 2000. Gooch, A. B. et al. 1998. A Non-Photorealistic Lighting Model for Automatic Technical Illustration. SIGGRAPH. Glassner, Andrew S. 1989. An Introduction to Ray-Tracing. San Diego: Academic. Hall, D. 2001. The AR350: Today’s ray trace rendering processor, http://graphicshardware.org/previous 2001, Hot3D Daniel Hall.pdf. Hearn, Donald. 1994. Computer Graphics. EngleWood Cliffs. N.J.: Prentice-Hall. Jubilee Enterprise. 2007. Animasi cahaya dan kamera dengan 3ds Max v.8. PT. Elex Media Computindo. Klein, A. W. et al. 2000. Non-photorealistic virtual environments. SIGGRAPH. Morein S. ATI Radeon HyperZ, 2000, Technology In Workshop on Graphics Hardware, Hot3D Proceedings, ACM SIG-GRAPH. Eurographics Pixar Animation Studios. 1998, "Pixar’s Renderman.", http://www.pixar.com/products/renderman/prod-info/rm_info.html/movies, 23 Mei 1998. Purcell, J., et al. 2002. Ray tracing on Programmable Graphic hardware. Stanford University
SIGMA Vol. 13, No. 2, Juli 2010
143
Eva Handriyantini
Watt, Alan. 1992. Advanced Animation and Rendering Techniques. New York, N.Y.: ACM Press. Wylie, C, et al. 1967. "Gambar Perspektif Halftone oleh Komputer." Proc. AFIPS FJCC, 31: 49.
EVA HANDRIYANTINI Staf pengajar di STIKI untuk matakuliah: Rekayasa Perangkat Lunak, Sistem Informasi Manajemen, Sistem Penunjang Keputusan dan Analisa Sistem Informasi. Kegiatan lain adalah sebagai fasilitator dalam pengembangan kewirausahaan bagi civitas akademika STIKI, pengembangan e-belajar, pengembangan pembelajaran Mata Kuliah Pemrograman, Praktek Kerja Lapangan. Latar Belakang Pendidikan: Sarjana Teknik Informatika – STIKI (1998), Magister Manajemen Teknologi Informasi – ITS (2008). Penghargaan yang pernah diterima : The Best IT of Entertainment Application - APICTA Indonesia (2003), Juara II Kontes Game Edukasi (2007). Penelitian yang pernah dilakukan: Program katalis - Kemenristek, tahun 2004, Program Beasiswa Unggulan - BKLN DIKTI, tahun 2007, Penelitian Dosen Muda - DIKTI, 2009.
144
SIGMA Vol. 13, No. 2, Juli 2010