Penjejakan sinar ialah teknik untuk memaparkan grafik komputer yang menghasilkan imej dengan menjejak laluan sinar melalui pemandangan. Sinar boleh berinteraksi dengan objek di tempat kejadian, melantun darinya dan memperoleh sifat, seperti warna.
Ray Tracing: Asas
Penjejakan sinar meniru pencahayaan dunia sebenar. Cahaya yang kita lihat adalah hasil foton yang dipancarkan daripada sumber tenaga, seperti matahari. Foton boleh melantun dan berselerak apabila ia berlanggar dengan objek. Cermin adalah semua yang anda perlukan untuk melihat ini dalam tindakan. Cahaya yang mengenai cermin menghasilkan pantulan.
Penjejakan sinar menyerupai ini. Bilangan sinaran yang dikesan adalah kecil berbanding dengan dunia sebenar, di mana berjuta-juta foton melantun merentasi bidang pandangan kita. Permainan moden mengesan di antara satu dan empat sinar setiap piksel. Namun, itu sudah cukup untuk mensimulasikan dunia sebenar.
Menjejaki laluan sinar juga membolehkannya berinteraksi dengan dunia permainan. Sinar yang melantun dari objek merah boleh dipengaruhi oleh warna itu, memancarkan cahaya merah berdekatan. Sinar boleh tersebar dengan cara yang berbeza berdasarkan sifat yang diberikan oleh artis permainan kepada objek, membenarkan permukaan separa reflektif atau kasar yang realistik.
Pengesanan sinar ialah satu langkah ke hadapan yang penting untuk grafik 3D. Ia mencipta imej yang realistik dengan mensimulasikan laluan sinar semasa mereka bergerak melalui permainan. Ini membawa kepada pencahayaan yang boleh berinteraksi dengan persekitaran walaupun apabila persekitaran tidak kelihatan kepada pemain. Pengesanan sinar tidak memerlukan perkakasan yang dibina khas untuk berfungsi, tetapi ia hanya praktikal pada kad video atau konsol permainan yang boleh mempercepatkan pengesanan sinar kerana ia sangat mencabar.
Ray Tracing lwn. Rasterisasi (atau, grafik 3D seperti yang anda ketahui)
Anda mungkin masih keliru walaupun anda memahami penjelasan ini. Refleksi hadir dalam permainan yang lalu, malah yang kini berusia beberapa dekad. Bagaimanakah pengesanan sinar berbeza?
Permainan 3D yang lalu dan kebanyakan permainan moden, gunakan rasterisasi. Rasterisasi menggabungkan unsur-unsur dunia permainan 3D yang boleh dilihat oleh pemain ke dalam imej 2D. Ia hanya memaparkan perkara yang sepatutnya dapat dilihat oleh pemain, kerana sebarang prestasi yang digunakan untuk menjana perkara yang tidak dapat dilihat oleh pemain adalah sia-sia. Walau bagaimanapun, ini menimbulkan masalah.
Mari kita kembali kepada contoh cermin. Persekitaran pemain dan watak pemain tidak dapat dilihat oleh pemain (sekurang-kurangnya dalam permainan orang pertama). Dengan rasterisasi, tiada apa-apa yang dapat dipantulkan oleh cermin.
Sudah tentu, cermin wujud dalam permainan moden. Mereka membuat adegan dua kali. Satu hantaran adalah dari sudut pandangan pemain, manakala satu lagi adalah dari perspektif yang berbeza. Walau bagaimanapun, itu menggandakan prestasi yang diperlukan untuk memaparkan adegan.
Pantulan ruang skrin, teknik dalam enjin permainan 3D yang popular, gunakan data pada skrin untuk membuat pantulan. Teknik ini sesuai untuk permukaan reflektif pada sudut kepada perspektif pemain, seperti air. Walau bagaimanapun, objek yang dicerminkan hilang jika item yang dicerminkan bergerak di luar skrin.
Penjejakan sinar tidak berkongsi masalah ini kerana, tidak seperti rasterisasi, ia boleh mengesan di luar perspektif pemain.
Selain itu, dalam permainan yang membenarkan sinar berinteraksi dengan permukaan, pengesanan sinar boleh memaparkan pendarahan warna yang realistik dan permukaan separa reflektif yang sukar dikendalikan oleh rasterisasi.
Apakah Perkakasan Yang Diperlukan Penjejakan Ray?
Pengesanan sinar bukanlah idea baharu. Para saintis komputer bereksperimen dengan pengesanan sinar pada awal 1980-an, mencipta imej statik dengan pencahayaan, pantulan dan bayang yang realistik. Malangnya, mereka mengambil masa berjam-jam untuk membuat persembahan.
Permainan video memerlukan pengesanan sinar masa nyata pada 30 bingkai sesaat atau lebih tinggi. Itu hanya boleh dilakukan dengan kad video yang direka untuk mempercepatkan pengesanan sinar.
Pengesanan sinar RTX Nvidia bergantung pada silikon yang dipanggil Teras Tensor. Teras Tensor hanya terdapat dalam kad video RTX. Kad GTX Nvidia boleh menghasilkan permainan menggunakan pengesanan sinar kerana, seperti yang dikatakan, pengesanan sinar tidak memerlukan silikon yang dibina khas. Walau bagaimanapun, prestasi adalah buruk berbanding kad RTX. Dan sesetengah permainan, seperti Minecraft dengan pengesanan sinar RTX, memerlukan kad video RTX kerana cara khusus mereka mendayakan pengesanan sinar.
Kad AMD yang mempercepatkan pengesanan sinar tidak mempunyai penjenamaan khusus dan tidak mempunyai silikon khusus. Sebaliknya, mereka menggunakan tweak perkakasan dan kemas kini perisian untuk hasil yang lebih baik. Lebih sukar untuk mengenal pasti kad AMD yang mempercepatkan pengesanan sinar, jadi perhatikan butirannya.
PlayStation 5 dan Xbox Series X dan S Sony mempunyai perkakasan grafik daripada AMD yang boleh mempercepatkan pengesanan sinar. Terpulang kepada pembangun untuk mendayakan, bagaimanapun, dan banyak permainan tidak. Contoh ketara ialah Cyberpunk 2077, yang menyokong pengesanan sinar RTX pada PC semasa pelancaran tetapi tidak menyokong pengesanan sinar pada konsol generasi seterusnya. Ciri ini dijanjikan untuk konsol generasi seterusnya dalam tampung masa depan.