Pada postingan saya sebelumnya saya telah membahas mengenai tutorial visualisasi object pada lampu kristal, kali ini saya sebagai perwakilan dari kelompok 3 akan membahas mengenai apakah itu Ray Tracing dan juga implementasinya itu seperti apa, pembahasan Ray Tracing ini merupakan
tugas pada mata kuliah Grafik Komputer 2. Berikut penjelasan mengenai Ray Tracing :
Ray Tracing
Dalam pembuatan suatu objek,pencahayaan merupakan salah satu faktor yang mampu meningkatkan tampilan objek tersebut agar terlihat nyata.Pencahayaan pada grafik komputer disebut iluminasi yaitu interaksi antara sumber cahaya dan permukaan sumber cahaya. Secara matematika model cahaya yang baik harus memenuhi beberapa aspek, diantaranya dapat menghasilkan efek cahaya yang sesungguhnya dan dapat dihitung dengan cepat.
Rendering adalah proses akhir dari keseluruhan proses pemodelan ataupun animasi komputer. Dalam rendering, semua data-data yang sudah dimasukkan dalam proses modeling, animasi, texturing, pencahayaan dengan parameter tertentu akan diterjemahkan dalam sebuah bentuk output (tampilan akhir pada model dan animasi).
Rendering tidak hanya digunakan pada game programming, tetapi juga digunakan pada banyak bidang, misalnya arsitektur, simulator, movie, spesial effect pada tayangan televisi, dan design visualization. Rendering pada bidang-bidang tersebut memiliki perbedaan, terutama pada fitur dan teknik renderingnya. Secara umum, proses untuk menghasilkan rendering dua dimensi dari objek-objek 3D melibatkan 5 komponen utama, yaitu geometri, kamera, cahaya, karakteristik permukaan dan metode rendering. Salah satu metode rendering adalah ray tracing yang selanjutnya akan dibahas dalam artikel ini.
Dalam grafik komputer Ray Tracing sendiri adalah teknik untuk menghasilkan sebuah gambar dengan cara mengikuti jejak (tracing) suatu sinar (ray) melalui pixel dalam gambar. Metode penelurusan dapat dilakukan dengan cara menelusuri sinar mata atau sumber cahaya,kemudian diperiksa apakah sinar tersebut mengenai obyek atau tidak. Jika ternyata sinar yang ditelusuri tersebut mengenai suatu obyek maka selanjutnya diperhitungkan intensitas pada obyek tersebut, yaitu intensitas ambient, diffuse dan specular. Hasil dari perhitungan intensitas inilah yang terlihat oleh mata.
Contoh Ray Tracing Sederhana
| Ray Tracing Sederhana |
Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu :
1. Kita dapat melihat sebuah benda karena benda tersebut memantulkan cahaya. Cahaya yang dipantulkan tersebut lalu akan ditangkap oleh retina mata dan diterjemahkan oleh otak menjadi apa yang kita lihat.
2. Dalam perjalanan sebuah sinar, jika sinar tersebut menabrak suatu permukaan, dapat terjadi tiga hal tergantung pada jenis permukaan yang ditabrak, yaitu penyerapan, pemantulan, dan pembiasan. Sebuah permukaan dapat memantulkan semua atau sebagian dari sinar, baik ke satu atau banyak arah. Permukaan tersebut juga dapat menyerap sebagian dari sinar, mengurangi intensitas sinar yang terpantul atau terbias. Jika permukaan tersebut mamiliki sifat tembus cahaya (transparency/translucent) maka permukaan itu akan membiaskan sebagian sinar dan menyerap sebagian atau semua spektrum sinar, sehingga dapat mengubah warna sinar.
Tetapi pada ray tracing umumnya sinar berasal dari mata pengamat, sedangkan pada kenyataannya sinar selalu berasal dari sumber cahaya, sehingga terjadi perbedaan mendasar antara konsep tersebut dengan ray tracing. Sehingga berdasarkan konsep tersebut terdapat dua jenis ray tracing, yaitu eye based dan light based. Eye-based adalah ray tracing dimana sinar berasal dari mata pengamat atau yang biasa disebut backward ray tracing, sedangkan pada light-based ray tracing, sinar berasal dari sumber cahaya atau yang biasa disebut forward ray tracing.
Berikut penjelasan mengenai Forward ray tracing, Backward ray tracing dan Hybrid ray tracing.
1. Forward Ray Tracing/Light Ray Tracing/Photon Tracing
Metode ini memperhitungkan semua sinar dari sumber cahaya,baik yang mengenai mata ataupun tidak.
Kelebihan dari metode ini adalah dapat memperoleh jumlah sinar yang lebih banyak daripada metode backward ray tracing dimana sinar tersebut tidak bisa didapat jika hanya ditelusuri dari mata. Metode ini juga bagus dalam menentukan keakuratan warna setiap objek dengan tepat.
Kekurangan dari metode ini adalah terkadang perhitungan menjadi tidak efekti dan sia-sia. Sebab sinar yang dipancarkan oleh sumber cahaya tidak hanya berjumlah puluhan atau ratusan tetapi berjulah jutaan atau bahkan lebih. Semua sinar yang dipancarkan tersebut harus ditelusuri dan dihitung satu persatu, namun apabila setelah proses penelusuran dan perhitungan dilakukan, sinar yang ditelusuri tersebut tidak mengenai mata, maka sinar tersebut akan diabaikan, yang berarti akan ada banyak sekali perhitungan yag sia-sia. Selain itu untuk menghasilkan gambar yang diinginkan akan membutuhkan banyak waktu.
Contoh Forward Ray Tracing
Dari gambar diatas terlihat bahwa penelusuran warna dilakukan mulai dari sumber cahaya, yaitu matahari menuju mata, sehingga semua warna yang ditelusuri harus diperhitungkan. Dinamakan Forward Ray Tracing atau dari sumber diteruskan ke tujuan.
2. Backward Ray Tracing/Eye-based Ray Tracing
Untuk membuat Forward ray tracing agar lebih efektif, maka diperkenalkan metode backward ray tracing. Backward Ray tracing menggunakan penelusuran sinar dari mata. Sinar dipancarkan dari mata ke arah setiap pixel yang membentuk layar gambar dan kemudian diteruskan ke obyek-obyek yang akan digambar. Jika sinar yang melalui suatu pixel tersebut mengenai suatu obyek maka dilakukan perhitungan intensitas pada titik tabrak obyek tersebut. Intensitas hasil perhitungan tersebut digunakan untuk memberi warna pada pixel tersebut. Perhitungan intensitas yang dilakukan adalah dengan memperhitungkan warna benda dan nilai pencahayaan yang mengenai benda tersebut. Jika pixel tidak mengenai benda maka akan diset menjadi warna background, dimana default warna background adalah warna hitam.
Proses penelusuran ini dilakukan untuk setiap pixel dari ukuran layar penggambaran, sehingga apabila penelusuran dilakukan pada layar penggambaran yang besar makan dibutuhkan waktu yangg lama untuk melakukan perhitungan, begitupun sebaliknya.
Selain itu proses backward ray tracing yang harus dicermati adalah apabila sinar mengenai suatu benda dan terdapat benda lain dibelakangnya, maka perhitungan akan dilakukan pada saat cahaya menabrak benda yang pertama, karena jelas benda kedua yang letaknya dibelakang terhalangi oleh benda pertama yang pasti tidak akan terlihat.
Contoh Backward Ray Tracing
Pada gambar ini tampak bahwa sinar yang berasal dari sumber cahaya terus ke mata dan kemudian dari titik mata, sinar tersebut ditelusuri kembali. Sinar yang ditelusuri kembali ternyata menabrak benda, pada saat menabrak inilah maka nilai pixel pada frame buffer akan dihitung dengan memperhitungkan semua nilai ambient/diffuse/specular dari semua cahaya yang ada.
3. Hybrid Ray Tracing
Dari kedua contoh diatas yaitu forward ray tracing dan backward ray tracing memiliki kelemahannya masing-masing. Baru-baru ini dilakukan penelitian untuk mengembangkan solusi hybrid, dimana solusi ini memperbaiki performa kecepatan dan keakuratan dari metode forward dan backward. Pada hybrid ini hanya pada tingkat tertentu saja forward tracing akan diterapkan. Algoritma pada metode forward ray tracing akan menyimpan data, kemudian akan dilanjutkan dengan menggunakan metode backward ray tracing. Pada akhir pewarnaan akan digunakan dua metode forward dan backward, 3 solusi besar hybrid telah diusulkan selama bertahun-tahun, 3 gambar tesebut adalah produksi ulang dengan izin berdasarkan Stanford Computer Graphics.
Contoh Ray Tracing:
1. Pemantulan
| Pemantulan pada Ray Tracing |
Jika permukaan yang ditabrak sinar adalah permukaan yang memantulkan cahaya seperti cermin, ray tracer harus menentukan warna titik perpotongan tersebut dengan memperhitungkan warna permukaan dan warna yang terpantul pada titik tersebut. Hal itu dilakukan dengan menentukan arah sinar pantulan dan membuat sinar baru yang bergerak sesuai arah tersebut.
2. Tembus Cahaya
| Pembiasan pada Ray Tracing |
Tembus cahaya memiliki sifat yang mirip dengan pemantulan, tapi sinar tidak dipantulkan pada permukaan, melainkan dibiaskan di dalam objek yang bersangkutan. Arah sinar bias ditentukan berdasarkan indeks bias benda tersebut, jumlahnya bisa lebih dari satu atau tidak ada sama sekali. Sinar baru akan dibuat dengan arah sinar bias.
3. Bayangan
3. Bayangan
| Pengecekan Bayangan pada Ray Tracing |
Untuk menentukan apakah titik perpotongan dengan permukaan berada dalam suatu wilayah bayangan dilakukan pemeriksaan antara titik tersebut dengan semua sumber cahaya. Hal ini dilakukan dengan membuat sinar-sinar baru dari titik ke sumber cahaya. Jika ada objek diantara titik dan sumber cahaya, maka titik tersebut tidak akan mendapat cahaya dari sumber yang bersangkutan, dengan kata lain, titik tersebut berada dalam bayangan. Contoh dapat dilihat pada gambar 4 diatas, titik pada objek 1 mendapat bayangan dari sumber cahaya 2, dan mendapat cahaya dari sumber cahaya 1.
Dapur diterangi oleh dua lampu
Dapur diterangi oleh dua lampu
Dapur ini di atas memiliki dua sumber cahaya. Salah satu teori cahaya menganggap cahaya dalam hal partikel diskrit yang disebut foton, yang perjalanan dari sumber cahaya sampai mereka menemukan beberapa permukaan di dapur. Tergantung pada bahan permukaan, beberapa foton diserap dan lain-lain yang tersebar kembali ke lingkungan. Fakta bahwa foton bepergian pada panjang gelombang tertentu diserap sedangkan yang lain tidak adalah apa yang menentukan warna permukaan.
Permukaan yang sangat halus mencerminkan foton dalam satu arah, dengan sudut sama dengan sudut di mana mereka tiba di permukaan, sudut datang. Permukaan ini dikenal sebagai permukaan specular, dan jenis refleksi dikenal sebagai refleksi specular. Sebuah cermin adalah contoh sempurna dari permukaan specular. Tentu saja, banyak bahan menampilkan beberapa derajat refleksi specular dan menyebar baik.
Efek Ray Tracing
Ray-tracing: Sinar ditelusuri dari kamera melalui pixel, untuk geometri, kemudian kembali ke sumber cahaya mereka.
Algoritma ray-tracing mengakui bahwa meski milyaran foton dapat bepergian ke ruangan, foton kami terutama peduli adalah orang-orang yang masuk mata. Algoritma ini bekerja dengan menelusuri sinar mundur, dari setiap piksel pada layar ke dalam model 3D. Dengan cara ini, kita menghitung hanya informasi yang dibutuhkan untuk membangun gambar. Untuk membuat gambar menggunakan ray-tracing, prosedur berikut ini dilakukan untuk setiap pixel pada layar komputer.
Ray adalah ditelusuri kembali dari posisi mata, melalui pixel pada monitor, sampai memotong dengan permukaan. Kita tahu reflektifitas permukaan dari uraian materi, tapi kita belum tahu jumlah cahaya yang mencapai permukaan itu.
Untuk menentukan pencahayaan total, kita melacak sinar dari titik persimpangan ke setiap sumber cahaya di lingkungan (bayangan sinar). Jika ray untuk sumber cahaya tidak terhalang oleh objek lain, kontribusi cahaya dari sumber yang digunakan untuk menghitung warna permukaan.
Jika permukaan yang mengkilap berpotongan atau transparan, kita juga harus menentukan apa yang dilihat di atau melalui permukaan sedang diproses. Langkah 1 dan 2 diulang dalam arah yang dipantulkan (dan, dalam kasus transparansi, ditransmisikan) sampai permukaan lain yang dihadapi. Warna pada titik persimpangan selanjutnya dihitung dan faktor ke titik awal.
Jika permukaan kedua juga reflektif atau transparan, sinar-tracing mengulangi proses, dan seterusnya sampai jumlah maksimum iterasi tercapai atau sampai permukaan tidak lebih yang berpotongan.
Contoh pengaplikasian Ray Tracing
Ray Tracing dalam Teater dan Pencahayaan Televisi
Karena ray tracing memungkinkan visualisasi yang nyata dari pencahayaan, maka teknologi ini sangat berguna untuk diaplikasikan pada area teater dan pencahayaan televisi. Tanpa kemampuannya untuk memodelkan gambar yan benar secara fisik, pengaturan cahaya panggung dapat menguras banyak tenaga. Banyak produksi teater dan televisi memerlukan ratusan pencahayaan yang harus diposisikan, diarahkan dan disaring. Juga dibutuhkan pencahayaan yang dapat dipilih,diarahkan dan diredupkan ketika produksi juga sedang berangsung. Ray Tracing memungkinkan untuk mengatur desainer pencahyaaan,aktor dan sutradara untuk meningkatkan dan memvisualisasikan pencahayaan yang rumit sebelum proses produksi dimulai.
Ray Tracing dalam Animasi
Animasi dan kemajuan komputer mengalami kemajuan yang saling terkait akhir-akhir ini. Kemajuan dalam komputer grafis termasuk perkembangang ray tracing telah membuka kemungkinan baru dilapangan. Secara tradisional animasi dibuat dengan menggambarkaan frame-frame dengan menggunakan tangan,yang lambat laun digantikan oleh kemajuan komputer, sehingga komputer grafis memiliki andil yang besar dalam proses perkembangan animasi saat ini.
Teknik Ray Tracing dapat sangat optimal untuk menambahkan efek “mewah” seperti refleksi dan bayangan yang terkadang sulit dilakukan serta memakan banyak waktu.Teknologi grafis juga mampu merendering gambar yang fotorealistik.
Contoh grafis komputer dan ray tracing dalam animasi modern adalah refleksi canggih, bayangan, dan specularity.
Pengaplikasian Ray Tracing dalam film :
Beauty and the beast


Toy Story


Sumber :
https://cs.stanford.edu/people/eroberts/courses/soco/projects/1997-98/ray-tracing/types.html
https://cs.stanford.edu/people/eroberts/courses/soco/projects/1997-98/ray-tracing/applications.html







