tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang...

19
Ray Tracing adalah suatu metode untuk merender obyek 3D yang haslnya realistic seperti foto. 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 ini dilakukan dengan cara menelusuri sinar mata atau sumber cahaya, kemudian diperiksa apakah sinar tersebut mengenai obyek atau tidak. Jika sinar yang ditelusuri tersebut mengenai suatu obyek maka selanjutnya diperhitungkan intensitas pada obyek tersebut, yatu intensitas ambient, diffuse dan specular. Hasil dai perhitungan intensitas inilah yang terlihat oleh mata. Sekarang kita bandingkan bagaimana penggunaan Ray Tracing banyak digunakan dalam dunia Animasi dan Game yang sekarang ini memiliki grafik yang sangat mirip dengan kenyataannya, atau biasa kita kenal dengan Objek yang Realistik. Contoh Ray Tracing Sederhana

Transcript of tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang...

Page 1: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

Ray Tracing adalah suatu metode untuk merender obyek 3D yang haslnya realistic seperti

foto. 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 ini dilakukan dengan cara menelusuri sinar mata atau sumber cahaya, kemudian

diperiksa apakah sinar tersebut mengenai obyek atau tidak. Jika sinar yang ditelusuri tersebut

mengenai suatu obyek maka selanjutnya diperhitungkan intensitas pada obyek tersebut, yatu

intensitas ambient, diffuse dan specular. Hasil dai perhitungan intensitas inilah yang terlihat oleh

mata.

Sekarang kita bandingkan bagaimana penggunaan Ray Tracing banyak digunakan dalam dunia

Animasi dan Game yang sekarang ini memiliki grafik yang sangat mirip dengan kenyataannya,

atau biasa kita kenal dengan Objek yang Realistik.

Contoh Ray Tracing Sederhana

Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu :

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.

Page 2: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

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.

Forward Ray Tracing/Light Ray Tracing/Photon Tracing

Metode ini memperhitungkan semua sinar dari sumber cahaya,baik yang mengenai mata ataupun

tidak.

Page 3: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

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.

Page 4: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

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

Page 5: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

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.

Page 6: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

Contoh Ray Tracing:

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.

Tembus Cahaya

Page 7: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

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.

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

Page 8: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

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.

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.

Movie Rendering Requirements

Persyaratan render di industri film yang sangat penting:

Adegan geometri terlalu besar untuk masuk di memori tessellated bentuk.

Banyak permukaan dipetakan perpindahannya.

Page 9: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

Ada mungkin ribuan tekstur untuk parameter refleksi kontrol dan perpindahan.

Tidak akan dapat biaya ribuan sumber cahaya.

Semua iluminasi dan permukaan refleksi karakteristik dikendalikan sepenuhnya oleh

program, kompleks shaders.

Selain itu, gambar yang biasanya diberikan pada resolusi tinggi dengan gerak kabur dan

kedalaman lapangan. Selain itu, tidak temporal atau spasial aliasing diterima: tangga tidak ada

efek, “crawlies”, popping, dll.

Banyak timbul pertanyaan “Mengapa Ray Tracing ?”

Dalam dunia animasi sendiri ada beberapa alasan mengapa para Direksi perfileman banyak yang

menggunakan Ray Tracing dalam membuat animasinya. Seperti di contoh kali ini penggunaan

Ray Tracing dalam film “Larva”

Beberapa alasan berikut ini mewakili pertanyaan tersebut, mengapa dalam animasi Larva

menggunakan Ray Tracing.

Realistis dalam merefleksikan

Memiliki bayangan yang tajam

Dapat merefleksikan isyarat virtual untuk membentuk pantulan dari karakter larva

Karena ray tracing memungkinkan visualisasi yang nyata dari pencahayaan. 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.

Page 10: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

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, maka kontribusi cahaya dari sumber yang digunakan untuk menghitung warna

permukaan.

Namun jika permukaan yang mengkilap berpotongan atau transparan, kita juga harus

menentukan apa yang dilihat di atau melalui permukaan sedang diproses.

Dua langkah sebelumnya diulang dalam arah yang dipantulkan (dan dalam kasus transparansi,

ditransmisikan) sampai permukaan lain yang dihadapi bertumpu dengan warna pada titik

persimpangan selanjutnya dihitung dan faktor ke titik awal.

Jika permukaan kedua juga reflektif atau transparan, maka sinar-tracing mengulangi proses, dan

seterusnya sampai jumlah maksimum iterasi tercapai atau sampai permukaan tidak lebih banyak

yang berpotongan.

Sekarang kita bandingkan lingkungan pemetaan biasa dengan yang menggunakan ray tracing.

Kita lihat peta lingkungan di gambar sebelah (kiri) yang tidak menangkap refleksi seperti

pantulan badan larva di atas air seperti yang tampak pada gambar sebelah (kanan) yang

menggunakan ray tracing.

Page 11: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

Gambar kanan merupakan objek dengan pemetaan lingkungan

dan sebelah kiri merupakan obejk dengan pemetaan lingkungan serta refleksi ray tracing.

Bayangan yang ada pada objek sebelah kanan memberi isyarat kuat tentang pencahayaan dan

penempatan objek relatif terhadap satu sama lain.

Dengan algoritma scanline tradisional menghitung bayangan menggunakan bayangan maps, dan

masih banyak kasus dimana peta bayangan merupakan cara yang paling efisien untuk

menghasilkan kualitas tinggi pada bayangan. Namun, beberapa adegan di film ‘Larva’

menggunakan set luas tetapi juga memiliki beberapa hal kecil tentang penerapan geografi.

Hal ini dapat menyebabkan masalah resolusi di bayangan maps. Selain itu, banyak adegan berisi

ribuan sumber cahaya, sehingga menjaga tracing file peta bayangan dapat menimbulkan suatu

masalah.

Seperti pada adegan dimana larva kuning yang bernama Yellow melihat sorotan sinar matahari.

Ini merupakan salah satu contoh dari adegan yang memerlukan perefleksian bayangan yang

sangat halus dan detail. Di adegan ini terdapat hampi puluhan sudut pemantulan cahaya, dan

satu titik sorotan cahaya yang bersar menjadi sumber cahaya. Dengan menggunakan ray tracing

masalah tersebut dapat diatasi.

Page 12: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

Penggunaan lain ray tracing adalah untuk pemadatan ambien. Ambien oklusi adalah ukuran dari

seberapa banyak cahaya mencapai titik dari hemisfer yang seragam menyala. Pemadatan ambien

luas digunakan dalam produksi film karena memberikan indikasi yang baik dari lipatan pada

permukaan dan spasial kedekatan objek, dan .hanya memerlukan biaya yang sedikit. Ambient

kemacetan adalah biasanya dihitung dengan menembak banyak sinar untuk mencicipi cakupan

belahan di atas setiap titik.

Ray Tracing untuk “Larva”

Pada gambar dibawah ini menampilkan “Sisi Artistik” dari dua karakter film ‘Larva’ini. Gambar

ini menampilkan pantulan cahaya, bayangan, dan bagian lingkungan yang terhalang yang telah di

“Ray Tracing“.

Page 13: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

Gambar: Karakter yang menggunakan efek ray tracing, karakter Yellow (kiri) dan Red (kanan)

Pada permukaan yang melengkung di bagian badan bawah larva, pantulan pada jarak yang jauh

tidak perlu hasil yang akurat. Apabila melakukan pengambilan gambar dengan jarak yang jauh

dan objek yang banyak, jarak cahaya yang dapat mengenai permukaan dapat kita atur sesuai

dengan hasil pantulan yang diinginkan, dan apabila kita buat jarak maksimumnya 10 meter.

Maka jika cahaya mengenai objek apapun dalam jarak tersebut akan menggunakan

menggunakan peta lingkungan yang tersedia.

Pada pantulan cahaya di dalam film biasanya dibatasi oleh pantulan cahaya satu tingkat. Hanya

beberapa scene saja yang menggunakan pantulan cahaya dua tingkat, pada scene

Page 14: tedypratomo.files.wordpress.com€¦  · Web viewContoh Ray Tracing Sederhana. Ada dua konsep yang menjadi dasar teori untuk ray tracing,yaitu : Kita dapat melihat sebuah benda karena

Pada gambar diatas, menampilkan beberapa karakter pada film ‘Larva’. Ini adalah contoh dari

scene yang sangat kompleks karena menampilkan banyak objek-objek yang berkilau. Dimana

masing-masing karakter menampilkan objek lainnya. Dimana masing-masing semut

menampilkan pantula semut lainnya, seperti yang terlihat pada objek semut terdepan. Pada

gambar ini juga menunjukan bayangan dan lingkungan yang telah di “ray tracing”.