..Teori Komputasi Parallel Untuk Rendering Film..

Abstrak
3D Rendering merupakan salah satu proses yang sangat penting dalam melakukan pengolahan gambar 3D. Tanpa dirender suatu gambar yang diolah oleh perangkat lunak animasi 3D hanya akan tampil dalam bentuk kumpulan point dan wireframe sederhana. Proses render melakukan “pembungkusan” tekstur pada objek yang bersesuaian sesuai cahaya yang datang pada objek tersebut. Namun proses render membutuhkan daya komputasi yang sangat besar karena banyaknya titik koordinat yang harus dikomputasi, terutama jika data 3D yang diolah cukup rumit.
Salah satu cara untuk memecahkan masalah tersebut adalah dengan menggunakan algoritma Divide and Conquer yang diterapkan kedalam metode Parallel Computing. Divide and Conquer merupakan salah satu strategi algoritma yang memecah suatu masalah besar menjadi beberapa bagian untuk kemudian dikerjakan satu persatu. Dalam Parallel Computing tiap-tiap bagian dikerjakan oleh unit pemrosesannya masing-masing, sesuai dengan kesepakatan Divide pada awal komputasi. Parallel Computing terbukti jauh lebih efektif untuk melakukan rendering objek 3D dibanding hanya menggunakan sebuah unit komputasi. Sebagai contoh suatu perusahaan animasi asal Jepang, membutuhkan waktu 165 tahun jika proses render yang dilakukan untuk membuat animasi berdurasi 100 menit hanya menggunakan sebuah unit komputasi, namun karena perusahaan tersebut menggunakan metode Parallel Computing proses tersebut hanya membutuhkan waktu 1 tahun saja.

Pendahuluan
Salah satu masalah kompleks yang hingga kini masih membutuhkan kemampuan komputasi yang besar adalah melakukan proses render terhadap objek 3D. Proses render objek 3D sendiri membutuhkan waktu yang cukup lama, terlebih jika objek yang diberikan cukup rumit. Salah satu cara yang digunakan untuk mempercepat penyelesaian proses render adalah dengan menggunakan teknik Parallel Computing. Parallel Computing merupakan teknik menggabungkan beberapa unit komputasi sekaligus untuk mengerjakan proses yang telah dibagi-bagi secara bersamaan. Ide untuk Parallel Computing muncul dari suatu algoritma yang cukup dikenal di dunia informatika, yaitu algoritma Divide and Conquer. Algoritma Divide and Conquer merupakan teknik pemecahan masalah dengan membagi suatu masalah menjadi beberapa bagian baru kemudian bagian-bagian tersebut dikerjakan satu persatu.
Sebenarnya operasi render objek 3D hanya merupakan kumpulan dari beberapa operasi primitif, namun operasi primitif yang dilakukan pada proses render sangatlah banyak. Untuk itu digunakan metode Parallel Computing sehingga tiap-tiap operasi primitif yang dilakukan dapat dikerjakan dengan menggunakan algoritma Divide and Conquer agar tiap bagian dari operasi Divide pada perhitungan yang dilakukan dapat dikerjakan oleh masing-masing unit komputasi. Beberapa operasi primitif yang digunakan dalam 3D Rendering adalah operasi penghitungan jarak antara 2 titik,operasi perkalian bilangan bulat yang besar. Tentunya hampir kesemua operasi primitif tersebut dapat dipecahkan dengan menggunakan algoritma Divide and Conquer sehingga menjadikan proses 3D Rendering sangat cocok untuk diselesaikan dengan algoritma Divide and Conquer.

Pengertian 3D Rendering
3D Rendering merupakan proses untuk membentuk sebuah gambar dari sebuah model yang dibentuk oleh perangkat lunak animasi, model tersebut berisi data geometri, titik pandang, tekstur dan cahaya yang diperlukan untuk membuat gambar yang utuh.
3D Rendering merupakan proses yang sangat penting dan telah digunakan untuk berbagai macam penggunaan, seperti program permainan komputer, efek spesial pada film dan program simulasi.

Hasil Proses 3D Rendering
Terdapat banyak hasil yang dapat diperoleh dan ditampilkan dari proses 3D Rendering pada suatu sketsa wireframe, diantaranya :
  1. Shading ; “Variasi warna dan kecerahan yang timbul pada suatu permukaan berdasarkan pencahayaan yang dilakukan”
  2. Texture-Mapping ; “Detail yang muncul pada suatu permukaan”
  3. Bump-Mapping ; “Kontur yang muncul pada suatu permukaan”
  4. Fogging / Participating Medium ; “Bagaimana berkas cahaya berubah jika melewati udara yang tidak murni”
  5. Shadows ; “Efek dari cahaya yang terhalang”
  6. Soft Shadows ; “Variasi efek dari cahaya yang terhalang tidak sempurna”
  7. Reflection ; “Refleksi yang tampak pada permukaan kaca atau gelas”
  8. Transparency ; “Transmisi cahaya yang berbeda-beda jika melewati medium tertentu”
  9. Translucency ; “Transmisi cahaya yang berbeda-beda jika memantul pada medium tertentu”
  10. Refraction ; “Cahaya yang berubah arahnya karena efek transparency”
  11. Indirect Illumination ; “Cahaya yang datang pada suatu objek namun tidak berasal dari sumber cahaya yang sebenarnya melainkan refleksi dari permukaan objek lain”
  12. Caustics ; “Pantulan cahaya menyilaukan yang timbul pada suatu objek”
  13. Depth Of Field ; “Objek yang berada jauh di depan maupun di belakang objek yang menjadi fokus akan tampak buram”
  14. Motion Blur ; “Objek yang bergerak dengan kecepatan tinggi atau objek yang direkam oleh kamera yang berada dalam kecepatan tinggi akan tampak buram”
  15. Photorealistic Morphing ; “Teknik yang memungkinkan hasil proses render objek 3D menjadi tampak terlihat lebih nyata”
  16. Non-Photorealistic Rendering ; “Teknik yang memungkinkan hasil proses render objek 3D menjadi terlihat seperti hasil lukisan atau gambar”
Pengertian Parallel Computing
Parallel Computing merupakan teknik menjalankan program untuk menjalankan suatu proses dengan menggunakan lebih dari satu unit komputasi. Parallel Computing mempunyai prinsip yang bersesuaian dengan algoritma Divide and Conquer, yaitu membagi-bagi proses menjadi bagian-bagian yang cukup kecil dan memungkinkan untuk dikerjakan oleh sebuah unit komputasi.
Terdapat 2 klasifikasi parallel computer yang penting, yaitu :
Sebuah komputer dengan banyak unit komputasi internal, atau lebih dikenal sebagai Shared Memory Multiprocessor
Beberapa komputer yang terhubung melalui sebuah jaringan, atau lebih dikenal sebagai Distributed Memory Multicomputer

Kesimpulan
Melakukan 3D Rendering tentu akan merupakan masalah yang sangat merepotkan jika tidak menggunakan algoritma memadai, dikarenakan banyaknya point dan polygon yang harus dikalkulasi setiap proses. Penggunaan algoritma Divide and Conquer tentu sangat membantu agar pekerjaan penghitungan yang sangat banyak dalam proses render dapat dikerjakan oleh beberapa unit komputasi sekaligus secara bersamaan. Hal ini juga telah dibuktikan dengan banyaknya perusahaan animasi dan film yang sering melakukan pekerjaan proses render menggunaan sistem parallel computing di dalam perusahaan mereka.

Komentar

Postingan Populer