Apa itu Ray Tracing?

Sejak Nvidia pada tahun 2018 mengumumkan kartu grafis RTX 20-seri, fitur pembunuhnya, "ray tracing" telah menjadi istilah populer di kalangan video game. Tetapi mungkin sulit untuk memahami apa itu ray tracing, cara kerjanya, dan mengapa terlihat lebih baik daripada teknik sebelumnya.

Apa itu ray tracing dan bagaimana cara kerjanya?

Di dunia nyata ketika Anda melihat sesuatu, apa yang Anda lihat adalah foton dari sumber cahaya. Dalam perjalanannya ke Anda, foton itu mungkin telah dipantulkan oleh satu atau lebih permukaan. Setiap refleksi mengubah karakteristik cahaya yang mencapai mata Anda.

Matahari memancarkan berbagai warna cahaya, setiap permukaan menyerap beberapa cahaya dan memantulkan yang lain. Apa yang kita lihat sebagai permukaan hijau, seperti daun, tampak seperti itu karena memantulkan sebagian besar cahaya hijau. Jika cahaya yang dipantulkan daun mengenai permukaan lain, seperti dinding putih, maka permukaan itu akan terlihat sedikit berbeda dibandingkan jika itu adalah cahaya putih murni yang menyinarinya. Setiap pantulan mempengaruhi setiap permukaan masa depan yang berinteraksi dengan cahaya, mengubah intensitasnya dan warna yang terlihat.

Ray tracing adalah teknik grafis yang mengikuti prinsip yang sama. Sinar cahaya diproyeksikan, sifat-sifat cahaya yang dipantulkan dan dibiaskan, seperti warna dihitung, dan sinar terus merambat.

Di dunia nyata setiap sumber cahaya, seperti bola lampu atau Matahari, memancarkan foton ke segala arah, yang sebagian besar tidak pernah mencapai mata Anda. Mensimulasikan ini akan menjadi proses yang sangat intensif yang menghasilkan sebagian besar hasil yang sia-sia. Untuk mengurangi beban kerja, ray tracing bekerja secara terbalik, memproyeksikan sinar dari kamera. Setiap sinar diperbolehkan untuk menempuh jarak tertentu tanpa refleksi atau mencerminkan beberapa kali sebelum perhitungan dilakukan dan nilai piksel ditetapkan.

Misalnya, sinar dilemparkan dari perspektif pemirsa, ketika menabrak dinding putih, algoritma secara rekursif menghasilkan sinar pantul yang kemudian merambat melalui panel kaca berwarna biru, akhirnya sinar pantul tersebut mengenai sumber cahaya putih dan terserap. Kaca biru menyerap semua kecuali cahaya biru yang memancarkan cahaya biru ke dinding, menghasilkan piksel yang berwarna biru.

Mengapa Ray Tracing terlihat jauh lebih baik?

Metode standar rendering adegan secara real-time melibatkan penggunaan lightmap yang telah dihitung sebelumnya dan pencahayaan seluruh pemandangan. Beberapa game menggunakan pencahayaan volumetrik terbatas untuk menyertakan sumber cahaya bergerak dan untuk memungkinkan bayangan dinamis, teknik ini digunakan dengan hemat karena cukup intensif prosesor.

Pelacakan sinar dapat mencapai hasil fotorealistik jika beberapa pekerjaan ekstra dilakukan pada tahap desain game. Jika semua permukaan menyertakan detail seperti reflektifitas, transparansi, dan bagaimana cahaya akan membiaskan melaluinya, hasil keseluruhan dapat tampak lebih alami. Meskipun pendekatan ini jelas melibatkan lebih banyak pekerjaan pada tahap desain game, pendekatan ini memungkinkan hasilnya muncul fotorealistik dengan reaksi cahaya sebagaimana mestinya ketika memantulkan beton, logam, kayu, dan kaca dll.

Pelacakan sinar memungkinkan pantulan dan bayangan yang akurat dilemparkan sebagai bagian dari proses rendering. dalam metode rendering tradisional, kedua efek ini sepenuhnya opsional dan dapat menyebabkan hit kinerja yang signifikan.

Ray tracing sendiri hadir dengan performa yang luar biasa. Sampai kartu grafis RTX Nvidia diumumkan dengan akselerasi perangkat keras untuk ray tracing, diperkirakan bahwa kekuatan pemrosesan yang diperlukan untuk melakukan ray tracing secara real-time dalam perangkat lunak lebih dari satu dekade jauh. Bahkan dengan akselerasi perangkat keras, ray tracing masih menyebabkan penurunan kinerja yang signifikan karena masih merupakan bagian paling lambat dari rendering bingkai.