Apa itu Penelusuran Jalur dan Penelusuran Sinar? Dan Mengapa Mereka Meningkatkan Grafik?

Jika akhir-akhir ini Anda hanya melirik sedikit tentang game dan berita grafis(gaming and graphics news) , Anda pasti pernah mendengar kata kunci terbaru dan terhebat: ray tracing . Anda mungkin juga pernah mendengar kata yang terdengar serupa yang disebut penelusuran jalur(path tracing) . Dan Anda dapat sepenuhnya dimaafkan karena tidak sepenuhnya memahami apa salah satu dari proses tersebut.

Penjelasan sederhananya adalah bahwa penelusuran jalur dan penelusuran sinar(ray tracing) adalah teknik grafis yang menghasilkan gambar yang tampak lebih realistis dengan biaya daya komputasi yang jauh lebih besar. Ada video Minecraft(Minecraft video) di YouTube yang menunjukkan aspek-aspek tertentu dari ray tracing dengan cara yang jelas, tetapi juga menggambarkan tekanan yang diberikannya pada suatu sistem.

Jika itu satu-satunya penjelasan yang Anda butuhkan, bagus! Tetapi jika Anda ingin menggali lebih dalam dan mencari tahu bagaimana setiap teknik bekerja dan mengapa perusahaan perangkat keras GPU(GPU hardware) membebankan banyak uang untuk kartu berkemampuan ray tracing, baca terus.

Rasterisasi dan Grafik Komputer

Gambar apa pun yang Anda lihat ditampilkan di layar komputer(computer screen) tidak dimulai sebagai gambar itu. Ini dimulai baik sebagai raster atau gambar vektor(vector image) . Gambar raster(raster image) terdiri dari kumpulan piksel yang diarsir.

Gambar vektor(vector image) didasarkan pada rumus matematika yang berarti gambar dapat diperbesar ukurannya hampir tanpa batas. Kelemahan dari gambar vektor(vector image) s adalah detail yang lebih tepat sulit dicapai. Gambar vektor(Vector) paling baik digunakan ketika hanya sedikit warna yang dibutuhkan.

Kekuatan utama rasterisasi adalah kecepatannya, terutama dibandingkan dengan teknik seperti ray tracing. GPU Anda , atau unit pemrosesan grafis, akan memberi tahu game untuk membuat gambar 3D dari bentuk kecil, paling sering segitiga. Segitiga ini diubah menjadi piksel individu dan kemudian dimasukkan melalui shader untuk membuat gambar yang Anda lihat di layar.

Rasterisasi telah menjadi pilihan utama untuk grafik video game untuk waktu yang lama karena kecepatan pemrosesannya, tetapi karena teknologi saat ini mulai menabrak batasnya, teknik yang lebih maju diperlukan untuk menerobos ke tingkat berikutnya. Di situlah ray tracing masuk.

Ray tracing terlihat jauh lebih realistis daripada rasterisasi, seperti yang diilustrasikan pada gambar di bawah ini. Lihatlah pantulan pada teko(tea pot) dan sendok teh.

Apa itu Ray Tracing?

Pada tingkat permukaan(surface level) , ray tracing adalah istilah umum yang berarti segala sesuatu mulai dari perpotongan tunggal cahaya dan objek hingga fotorealisme lengkap. Dalam konteks yang paling umum digunakan saat ini, bagaimanapun, ray tracing mengacu pada teknik rendering(rendering technique) yang mengikuti seberkas cahaya (dalam piksel) dari set point dan mensimulasikan bagaimana reaksinya ketika bertemu objek.

Luangkan waktu sejenak dan lihatlah(moment and look) dinding ruangan tempat Anda berada. Apakah ada sumber cahaya di dinding, atau apakah cahaya dipantulkan dari dinding dari sumber lain? Grafik yang dilacak sinar(Ray) akan dimulai dari mata Anda dan mengikuti garis pandang Anda ke dinding, dan kemudian mengikuti jalur cahaya dari dinding kembali ke sumber cahaya.

Diagram di atas menggambarkan cara kerjanya. Alasan "mata" yang disimulasikan (kamera dalam diagram ini) adalah untuk mengurangi beban pada GPU .

Mengapa? Yah, ray tracing bukanlah hal baru(t brand-new) . Sebenarnya sudah ada cukup lama. Pixar menggunakan teknik ray tracing untuk membuat banyak filmnya, tetapi grafik frame-by-frame dengan fidelitas tinggi pada resolusi yang dicapai Pixar membutuhkan waktu.

Banyak(A lot) waktu. Beberapa frame di Monsters University masing-masing memakan waktu 29 jam. Toy Story 3 memakan waktu rata-rata 7 jam per frame, dengan beberapa frame memakan waktu 39 jam menurut cerita 2010 dari Wired.

Karena film ini mengilustrasikan pantulan cahaya dari setiap permukaan untuk menciptakan gaya(style everyone) grafis yang telah dikenal dan disukai semua orang, beban kerjanya(work load) hampir tak terbayangkan. Dengan membatasi teknik ray tracing hanya pada apa yang dapat dilihat mata, game dapat menggunakan teknik tersebut tanpa menyebabkan prosesor grafis Anda mengalami kehancuran (harfiah).

Lihatlah gambar di bawah ini.

Itu bukan foto, meskipun terlihat nyata. Ini adalah gambar yang dilacak dengan sinar. Coba bayangkan berapa banyak daya yang dibutuhkan untuk membuat gambar yang terlihat seperti ini. Satu sinar dapat dilacak dan diproses tanpa banyak kesulitan, tetapi bagaimana ketika sinar itu memantul dari suatu objek?

Sebuah sinar tunggal dapat berubah menjadi 10 sinar, dan 10 sinar itu dapat berubah menjadi 100, dan seterusnya. Kenaikannya eksponensial. Setelah satu titik, pantulan dan pantulan di luar tersier dan kuaterner menunjukkan hasil yang semakin berkurang. Dengan kata lain, mereka membutuhkan lebih banyak kekuatan untuk menghitung dan menampilkan daripada nilainya. Demi merender gambar, batas harus dibuat di suatu tempat.  

Sekarang bayangkan melakukan itu 30 hingga 60 kali per detik. Itulah besarnya daya yang dibutuhkan untuk menggunakan teknik ray tracing dalam game. Ini tentu sangat mengesankan, bukan?

Pencapaian kartu grafis yang mampu melakukan ray tracing akan meningkat seiring berjalannya waktu, dan akhirnya teknik ini akan tersedia seperti grafis 3D. Namun, untuk saat ini, ray tracing masih dianggap sebagai grafik komputer mutakhir. Jadi bagaimana path tracing berperan?

Apa itu Penelusuran Jalur?

Path tracing adalah jenis ray tracing . Itu berada di bawah payung itu, tetapi di mana ray tracing awalnya berteori pada tahun 1968, path tracing tidak muncul sampai tahun 1986 (dan hasilnya tidak sedramatis sekarang.)

Ingat peningkatan eksponensial sinar yang disebutkan sebelumnya? Penelusuran jalur(Path) memberikan solusi untuk itu. Saat menggunakan penelusuran jalur untuk rendering, sinar hanya menghasilkan satu sinar per pantulan. Sinar tidak mengikuti garis yang ditetapkan(set line) per pantulan, melainkan melesat ke arah acak.

Algoritma penelusuran jalur kemudian mengambil sampel acak dari semua sinar untuk membuat gambar akhir. Ini menghasilkan pengambilan sampel berbagai jenis pencahayaan yang berbeda, tetapi terutama pencahayaan global.

Hal yang menarik dari path tracing adalah efeknya dapat ditiru melalui penggunaan shader. Patch shader(shader patch) baru-baru ini muncul untuk emulator Nintendo Switch(Nintendo Switch emulator) yang memungkinkan pemain untuk meniru jalur yang dilacak iluminasi global dalam judul seperti The Legend of Zelda: Breath of the Wild dan Super Mario Odyssey. Meskipun efeknya terlihat bagus, mereka tidak selengkap penelusuran jalur yang(path tracing) sebenarnya .

Path tracing hanyalah salah satu bentuk ray tracing. Meskipun dipuji sebagai cara terbaik untuk merender gambar, penelusuran jalur memiliki kekurangannya sendiri.

Namun pada akhirnya, baik penelusuran jalur maupun penelusuran sinar(path tracing and ray) menghasilkan gambar yang benar-benar indah. Sekarang setelah perangkat keras di mesin kelas konsumen telah mencapai titik di mana ray tracing dimungkinkan secara real-time dalam video game, industri ini siap untuk membuat terobosan yang hampir sama mengesankannya dengan langkah dari grafik 2D ke 3D.

Namun, masih perlu waktu—setidaknya beberapa tahun—sebelum perangkat keras yang diperlukan dianggap “terjangkau.” Sampai sekarang, bahkan kartu grafis yang diperlukan berharga lebih dari $1.000.



About the author

Saya seorang ahli komputer dengan pengalaman lebih dari 10 tahun di industri perangkat lunak dan browser. Saya telah merancang, membangun, dan mengelola seluruh instalasi program perangkat lunak, serta mengembangkan dan memelihara browser. Pengalaman saya memberi saya kemampuan untuk memberikan penjelasan yang jelas dan ringkas tentang topik yang rumit - apakah itu cara kerja Microsoft Office atau cara memaksimalkan Mozilla Firefox. Selain keterampilan komputer saya, saya juga seorang penulis yang mahir dan dapat berkomunikasi secara efektif secara online dan secara langsung.



Related posts