Ray Tracing vs Rasterized Rendering - Dijelaskan
Setelah peluncuran keluarga GPU Turing Nvidia pada tahun 2018, dunia game mengalami peningkatan eksponensial dalam diskusi tentang fitur yang dikenal sebagai "Ray Tracing". Seri kartu grafis "RTX" Nvidia yang baru saat itu membawa dukungan untuk sesuatu yang disebut "Real-Time Ray Tracing" dalam game. Kebanyakan orang tidak yakin tentang apa fitur baru ini dan mengapa itu didorong begitu banyak oleh Nvidia tetapi secara bersamaan bersemangat dan tertarik dengan teknologinya. Ray Tracing adalah poin besar menurut Nvidia sehingga mereka merasa perlu untuk mencantumkannya tepat pada nama produk yang mereka luncurkan. Seri kartu "RTX" GeForce yang baru menggantikan jenis "GTX" yang lebih lama dalam hal SKU teratas seperti SKU 60,70,80 dan -80Ti yang biasanya dirilis Nvidia.
Kartu grafis seri RTX 2000 Nvidia menghadirkan beberapa perubahan perangkat keras yang memungkinkan dukungan Ray Tracing dalam game. Kartu grafis berbasis Turing yang baru mengemas inti khusus di dalamnya yang didedikasikan untuk proses ini dan dikenal sebagai RT Cores. Tujuan dari RT core adalah untuk secara khusus menangani semua komputasi grafis yang diperlukan untuk memungkinkan Ray Tracing dalam game secara real-time. Nvidia juga melengkapi kartu dengan inti CUDA ekstra untuk meningkatkan kekuatan mentah kartu, sementara juga menambahkan satu set inti baru yang dikenal sebagai Tensor Cores. Inti ini dimaksudkan untuk membantu dalam pembelajaran mendalam dan aplikasi AI seperti bentuk baru teknik peningkatan skala yang dikenal sebagai Deep Learning Super Sampling. Kami telah membahas Deep Learning Super Sampling atau DLSS secara mendetail dalam artikel ini, di mana Anda dapat mempelajari lebih lanjut tentang teknik peningkatan skala yang didukung AI.
Ray Tracing Bukan Hal Baru
Meskipun sekilas tampak seperti Ray Tracing adalah teknologi baru yang dipelopori oleh Nvidia, sebenarnya jauh dari itu. Ya, Nvidia adalah perusahaan pertama yang menerapkan dukungan untuk Ray Tracing secara real-time di game, tetapi bukan berarti Ray Tracing belum ada sebelum seri RTX. Anda mungkin telah menikmatinya tanpa menyadarinya selama bertahun-tahun jika Anda telah menonton film terbaru yang menampilkan CGI Effects.
Penerapannya dalam film memang sedikit berbeda dan jauh lebih intensif daripada versi gimnya. Produksi anggaran besar memiliki kemewahan untuk dapat menghabiskan banyak uang dan waktu untuk menampilkan adegan tersebut. Film animasi populer telah dilaporkan telah menggunakan sekitar 1000 superkomputer untuk membuat seluruh film dengan efek Ray Tracing selama satu bulan. Proses rendering dalam skala besar tersebut tentu saja tidak memungkinkan atau mungkin bagi rata-rata gamer yang ingin memainkan beberapa game dengan beberapa visual yang terupdate, sehingga versi Ray Tracing yang hadir pada game modern cukup sedikit berbeda dalam aplikasinya. Meski begitu, Ray Tracing adalah fitur yang hadir di banyak area produksi di luar game, dengan film menjadi salah satu yang lebih menonjol.
Perangkat lunak produktivitas yang digunakan oleh para profesional untuk mengerjakan pemandangan yang intensif secara grafis, seperti Blender, juga mendukung fitur Ray Tracing. Grafik komputer dan perangkat lunak rendering ini menggunakan berbagai level aplikasi ray tracing untuk menghasilkan visual fotorealistik dalam gambar diam dan animasi 3D.
Apa itu Rasterisasi?
Lantas mengapa Nvidia dianggap perlu menerapkan proses yang sedemikian kompleks ke dalam permainan tradisional? Adakah perbedaan proses Ray Tracing di game agar lebih optimal untuk beban kerja? Untuk memahami mekanisme di balik Ray Tracing, pertama-tama, kita perlu memahami mekanisme rendering game secara tradisional. Ini akan membantu kami memahami mengapa Ray Tracing dianggap sebagai peningkatan dan lompatan besar dalam kesetiaan grafis.
Teknik yang saat ini digunakan untuk rendering dikenal sebagai "Rasterization". Dalam teknik ini, kode game mengarahkan GPU untuk menggambar pemandangan 3D menggunakan poligon. Bentuk 2D ini (kebanyakan segitiga) membentuk sebagian besar elemen visual yang ditampilkan di layar. Setelah adegan digambar, itu akan diterjemahkan atau "diraster" menjadi piksel individu yang kemudian diproses oleh shader khusus. Shader menambahkan warna, tekstur, dan efek pencahayaan pada basis per piksel untuk menghasilkan bingkai yang dirender sepenuhnya. Teknik ini perlu diulang sekitar 30-60 kali per detik untuk menghasilkan visual 30FPS atau 60FPS dalam game.
Batasan Rasterisasi
Sementara rasterisasi telah menjadi mode default rendering dalam game untuk beberapa waktu sekarang, proses yang melekat di balik rasterization memiliki beberapa keterbatasan. Masalah utama dengan rasterisasi adalah bahwa teknik ini memiliki waktu yang sulit untuk melacak dengan tepat bagaimana cahaya dalam suatu pemandangan harus bergerak dan berinteraksi dengan elemen pemandangan lainnya. Rasterisasi rendering tidak menghasilkan hasil yang sama seperti rendering Ray Traced dalam hal efek pencahayaan dan iluminasi keseluruhan dari pemandangan tertentu. Rasterisasi rendering terkadang juga dapat menghasilkan visual yang agak tidak akurat dalam kaitannya dengan pencahayaan yang benar-benar dapat merusak imersi dalam game tertentu. Inilah sebabnya mengapa Ray Tracing dianggap sebagai bentuk rendering yang unggul dalam hal kesetiaan grafis, terutama dalam kaitannya dengan pencahayaan.
Apa sebenarnya Ray Tracing itu?
Sekarang kita telah membahas bentuk tradisional rendering raster, mari kita bahas aplikasi baru Ray Tracing waktu nyata dalam game modern. Ray Tracing adalah teknik rendering yang membuat gambar berdasarkan cahaya virtual dan bagaimana sumber cahaya tersebut berinteraksi dengan semua objek di dalam pemandangan virtual. Ray Tracing dapat membuat penggambaran adegan yang jauh lebih hidup yang memanfaatkan interaksi cahaya dengan objek di dalam pemandangan untuk memberikan kesan realisme. Sederhananya, Ray Tracing adalah teknik yang membuat cahaya berperilaku dalam gim video seperti di kehidupan nyata.
Mekanisme di balik Ray Tracing
Mekanisme di balik Ray Tracing dalam game secara inheren berbeda dari bentuk-bentuk Ray Tracing lain yang sudah ditemukan di industri lain seperti film. Alih-alih melacak jutaan sinar yang datang dari setiap sumber cahaya, pelacakan sinar tingkat konsumen mengurangi beban komputasi dengan menelusuri jalur dari kamera yang mewakili perspektif pengguna, melalui satu piksel, lalu ke objek apa pun di belakangnya. piksel dan akhirnya kembali ke sumber cahaya dari adegan yang dimaksud. Teknik Ray Tracing ini juga dapat menghasilkan berbagai efek seperti absorpsi, refleksi, refraksi, dan difusi cahaya yang ditentukan oleh objek yang berinteraksi dengan cahaya di tempat kejadian. Algoritma Ray Tracing juga dapat memperhitungkan sinar resultan sehingga setiap efek refleksi atau bayangan ditampilkan secara akurat.
Berbagai bentuk Ray Tracing
Tidak semua implementasi Ray Tracing sama. Variasi game yang mendukung Ray Tracing masing-masing menerapkan fitur dengan cara yang agak berbeda. Terserah pengembang game untuk menambah atau mengurangi kompleksitas Ray Tracing dalam game tersebut sehingga game tersebut memberikan keseimbangan yang sempurna antara performa dan kualitas visual. Pada tahun 2020, sebagian besar game yang mendukung Ray Tracing biasanya hanya menggunakan Ray Tracing untuk satu aspek adegan, bukan merender seluruh adegan menggunakan Ray Tracing itu sendiri. Itu mungkin, tetapi biaya komputasi dari Ray Tracing adegan penuh sangat besar dibandingkan dengan pendekatan lain dan karenanya tidak sepadan dengan usaha setidaknya saat ini. Pada saat penulisan, implementasi berbeda dari Ray Tracing yang saat ini digunakan dalam game adalah:
- Bayangan: Implementasi Ray Tracing yang paling sederhana dan paling tidak intensif bisa dibilang terkait dengan bayangan. Di sini, Ray Tracing digunakan untuk membuat bayangan dengan sempurna dalam pemandangan berdasarkan asal cahaya dari sumber cahaya, dan posisi objek itu sendiri. Teknik ini terutama digunakan dalam "Shadow of the Tomb Raider" untuk menghasilkan peta bayangan yang lebih detail yang merespons perubahan lingkungan di sekitar objek yang menghasilkan bayangan. Yang paling menonjol, pergerakan dan sudut sumber cahaya sekarang dapat menimbulkan perubahan yang sama pada bayangan yang dihasilkan seperti yang kita amati dalam kehidupan nyata.
- Refleksi: Refleksi sedikit lebih intensif secara komputasi untuk dirender menggunakan Ray Tracing, namun, refleksi Ray Traced terlihat fenomenal dalam game modern dan mungkin merupakan peningkatan grafis paling penting yang dapat diperoleh dengan menggunakan Ray Tracing. Refleksi menggunakan sumber cahaya dalam pemandangan untuk secara akurat menampilkan pantulan dari objek reflektif seperti kaca dan air. Salah satu game paling populer yang menggunakan refleksi Ray Traced adalah "Control".
- Oklusi ambien: Ini juga terkait dengan bayangan dan kurang lebih terkait dengan proses dasar yang sama. Ambient Occlusion menggunakan Ray Tracing untuk memprediksi sudut dan intensitas bayangan berdasarkan posisi dan penempatan objek dalam sebuah pemandangan. Jika dilakukan dengan benar, Ambient Occlusion dapat menambahkan beberapa detail dan realisme yang luar biasa ke dalam game.
- Iluminasi Global: Mungkin bentuk implementasi Ray Tracing yang paling intensif secara komputasi dalam game modern, Global Illumination menggunakan Ray Tracing untuk secara akurat menggambarkan pencahayaan dunia. Ini memberikan kesan pencahayaan yang jauh lebih realistis saat dinyalakan, tetapi juga berdampak besar pada kinerja karena banyaknya data yang sedang diproses. “Metro Exodus” menggunakan Ray Tracing untuk memberikan bentuk Iluminasi Global yang jauh lebih realistis.
- Pelacakan Jalur Lengkap: Akhirnya, kami juga melihat beberapa game muncul yang sepenuhnya dilacak jalurnya, yang pada dasarnya berarti bahwa semuanya adalah Ray Traced. Memang, game ini agak lebih sederhana dan lebih kecil daripada game lain yang kurang lebih merupakan judul AAA dari perusahaan besar, tetapi ini tidak berarti bahwa game tersebut tidak terlihat mengesankan. Faktanya, beberapa orang mungkin berpendapat bahwa game ini dengan pelacakan jalur lengkap terlihat lebih baik daripada semua implementasi Ray Tracing lainnya. "Minecraft RTX" dan "Quake RTX" adalah dua judul yang sepenuhnya dilacak jalur yang tersedia pada saat penulisan.
Apa yang saya perlukan untuk Ray Tracing?
Seperti yang disebutkan sebelumnya, Ray Tracing adalah tugas yang sangat intensif secara komputasi sehingga memerlukan beberapa perangkat keras kelas atas untuk bekerja dengan baik. Pada saat penulisan, ada beberapa kartu grafis dari AMD dan Nvidia yang mendukung Ray Tracing dengan akselerasi perangkat keras. Bahkan konsol dari Sony dan Microsoft mendukung fitur ini. Itu sedikit memperluas daftar perangkat keras yang didukung:
- Seri Nvidia GeForce RTX 2000
- Seri Nvidia GeForce RTX 3000
- Seri AMD Radeon RX 6000
- Microsoft Xbox Series X
- Sony PlayStation 5
Ingatlah bahwa jika AMD menangani Ray Tracing sedikit berbeda dari Nvidia, maka ada penalti kinerja yang agak lebih besar yang terlihat saat Anda menggunakan kartu AMD untuk Ray Tracing. Selain itu, jika Anda ingin mengalami peningkatan performa menggunakan Super Sampling Deep Learning, fitur tersebut juga hanya tersedia di kartu RTX Nvidia. AMD seharusnya mengerjakan fitur seperti DLSS untuk kartu seri RX 6000 mereka, tetapi saat ini, masih dalam pengembangan pada saat penulisan.
Nvidia juga menciptakan istilah "Giga Rays" untuk memberikan gambaran kepada pengguna tentang kapabilitas Ray Tracing relatif dari Kartu Grafis RTX-nya. Nvidia mengatakan bahwa 5 Giga Rays per detik adalah jumlah minimum cahaya virtual yang secara ideal dibutuhkan untuk menerangi ruangan tipikal dalam lingkungan video game. GeForce RTX 2070 menawarkan 5 Giga Rays / sec, sedangkan RTX 2080 menawarkan 8 Giga Rays per second. RTX 2080Ti menawarkan 10 Giga Rays / detik. Ini adalah unit yang agak sewenang-wenang sehingga seharusnya hanya digunakan secara umum untuk menunjukkan ekspektasi kinerja relatif.
Kerugian Kinerja dan DLSS
Seperti yang terbukti sekarang, kelemahan terbesar dari Ray Tracing adalah kinerja yang terhambat karena banyaknya komputasi khusus yang perlu dilakukan dalam proses tersebut. Di beberapa game, performa hit sangat besar sehingga dapat membawa game ke framerate yang tidak lagi dianggap dapat dimainkan. Hit kinerja bahkan lebih besar dalam game yang menggunakan implementasi Ray Tracing yang lebih kompleks seperti Refleksi, Iluminasi Global, atau Pelacakan Jalur Penuh.
Tentu saja, Nvidia memikirkan situasi penalti kinerja ini, dan juga mengembangkan teknik kompensasi baru yang dikenal sebagai Deep Learning Super Sampling. Teknik yang disebut DLSS ini dirilis bersamaan dengan seri RTX 2000 Nvidia pada tahun 2018. Kami telah mempelajari DLSS secara mendetail dalam artikel ini, tetapi inti dari teknologi ini adalah merender gambar pada resolusi yang lebih rendah dan kemudian secara cerdas dan sistematis meningkatkan gambar. untuk mencocokkan resolusi keluaran untuk memberikan kinerja yang jauh lebih unggul untuk rendering asli. DLSS adalah mekanisme kompensasi yang sangat baik untuk hilangnya kinerja Ray Tracing, tetapi juga dapat digunakan tanpa Ray Tracing untuk memberikan frekuensi gambar yang lebih tinggi dan pengalaman yang jauh lebih baik.
Keuntungan terbesar DLSS adalah ia menggunakan Deep Learning dan AI untuk meningkatkan gambar sehingga ada sedikit perbedaan kejelasan visual antara gambar asli dan yang ditingkatkan. Nvidia menggunakan inti Tensor pada seri kartu RTX-nya untuk mempercepat proses DLSS sehingga komputasi peningkatan skala ini dapat dilakukan sesuai kecepatan game yang sedang dirender. Ini adalah teknologi yang benar-benar menarik yang kami ingin lihat berkembang lebih jauh dan menjadi lebih baik dari sekarang.
Masa Depan Ray Tracing
Ray Tracing dalam game baru saja dimulai dan kami dapat mengatakan dengan pasti bahwa game ini akan bertahan. AMD baru saja merilis jajaran kartu pertama yang mendukung Ray Tracing secara real-time dengan seri RX 6000, dan PlayStation 5 dan Xbox Series X juga memiliki dukungan untuk Ray Tracing. Rintangan saat ini yang perlu diatasi antara lain hilangnya performa dan rendahnya jumlah game yang mendukungnya. Game terkini yang mendukung Ray Tracing pada saat penulisan meliputi:
- Di Tengah Kejahatan
- Battlefield V
- Memori Cerah
- Call of Duty: Modern Warfare (2019)
- Call Of Duty: Black Ops Cold War
- Kontrol
- Crysis Remastered
- Memberikan Kami Bulan
- Fortnite
- Ghostrunner
- Keadilan
- Mechwarrior V: Mercenaries
- Metro Exodus
- Minecraft
- Pisau Cahaya Bulan
- Pumpkin Jack
- Gempa II RTX
- Shadow of the Tomb Raider
- Tetaplah dalam Terang
- Perhatikan Dogs Legion
- Wolfenstein: Darah Muda
Sementara itu, Nvidia telah mengonfirmasi bahwa judul-judul berikut juga akan mendukung Ray Tracing begitu dirilis:
- Jantung Atom
- Cyberpunk 2077 (peluncuran)
- Dying Light 2
- Doom Eternal
- Terdaftar (beta tertutup November)
- JX3
- Mortal Shell (November)
- Pengamat: Sistem Redux
- Siap Atau Tidak (peluncuran akses awal)
- Ring Of Elysium (peluncuran)
- Disinkronkan: Off-Planet
- The Witcher III
- Vampire: The Masquerade - Bloodlines 2
- World Of Warcraft: Shadowlands (November)
- Xuan-Yuan Sword VII (peluncuran)
Meskipun ini mungkin tidak tampak seperti banyak game, ini merupakan awal menuju arah di mana bentuk rendering yang dominan bisa jadi adalah Ray Tracing. Sejauh kinerja berjalan, sangat sulit untuk memprediksi apakah kinerja hit dari Ray Tracing akan diturunkan sedikit atau tidak. Namun, apa yang masuk akal untuk diharapkan, adalah agar DLSS menjadi lebih baik dan menawarkan kompensasi yang memadai untuk kerugian kinerja yang ditimbulkan dengan mengaktifkan Ray Tracing. Pada saat penulisan, daftar game yang mendukung DLSS tidak banyak artinya, tetapi ini adalah awal yang baik mengingat Nvidia telah mengumumkan dukungan DLSS untuk beberapa game yang akan datang juga. Berikut adalah semua game yang saat ini mendukung Deep Learning Super Sampling:
- Lagu kebangsaan
- Battlefield V
- Memori Cerah
- Call Of Duty: Black Ops Cold War
- Kontrol
- Death Stranding
- Memberikan Kami Bulan
- F1 2020
- Final Fantasy XV
- Fortnite
- Ghostrunner
- Keadilan
- Marvel's Avengers
- Mechwarrior V: Mercenaries
- Metro Exodus
- Minecraft
- Monster Hunter: Dunia
- Shadow of the Tomb Raider
- Perhatikan Dogs Legion
- Wolfenstein Youngblood
Seperti yang mungkin Anda perhatikan, sebagian besar game yang mendukung DLSS adalah judul yang memiliki beberapa bentuk dukungan Ray Tracing juga. Ini menawarkan konfirmasi lebih lanjut untuk teori bahwa DLSS telah dikembangkan dan dirilis terutama sebagai teknologi kompensasi untuk mengurangi hilangnya kinerja yang sangat besar di Ray Tracing. DLSS adalah teknologi yang sangat mengesankan, karena Nvidia telah menjelaskan bahwa ia menggunakan superkomputer untuk melakukan perhitungan kompleks yang melatih algoritme yang diikuti oleh inti Tensor di dalam GPU Nvidia. Sama seperti Ray Tracing, DLSS diharapkan juga hadir di lebih banyak game:
- Di Tengah Kejahatan
- Jantung Atom
- Batas
- Cyberpunk 2077 (peluncuran)
- Edge Of Eternity (November)
- JX3
- Mortal Shell (November)
- Mount & Blade II Bannerlord (November)
- Siap Atau Tidak (peluncuran akses awal)
- Pemulung
- Vampire: The Masquerade - Bloodlines 2
- Xuan-Yuan Sword VII (peluncuran)
DLSS, dikombinasikan dengan Ray Tracing tampaknya akan menjadi masa depan industri game pada tahun 2020.
Kesimpulan
Rasterisasi adalah teknik yang telah digunakan untuk mengubah bidang 2D poligon menjadi gambar 3D di layar dalam game sejak lama. Pada tahun 2018, Nvidia memperkenalkan seri kartu grafis RTX 2000 dengan dukungan penuh untuk Ray Tracing real-time dalam game, sebuah teknik yang menggunakan komputasi kompleks untuk melacak sinar cahaya dalam sebuah pemandangan untuk membuat penggambaran yang akurat tentang bagaimana cahaya akan berinteraksi dengannya. objek dalam sebuah adegan. Hal ini membuat dunia game mengalami badai yang tidak terduga dan seluruh industri menempatkan Ray Tracing sebagai fokus utama mereka untuk maju.
Pada saat penulisan, Nvidia telah merilis kartu grafis generasi lain yang semakin meningkatkan kinerja Ray Tracing mereka sementara AMD dan konsol juga telah mengumumkan dukungan penuh untuk fitur tersebut. Nvidia juga telah meningkatkan teknik Deep Learning Super Sampling yang menggunakan AI dan Deep Learning untuk meningkatkan gambar secara cerdas yang dirender pada resolusi yang lebih rendah untuk mengkompensasi hilangnya kinerja karena Ray Tracing.
Sepertinya Ray Tracing akan tetap ada, dan meskipun jumlah awal judul yang mendukung fitur tersebut tidak banyak, semakin banyak judul yang diumumkan yang memiliki dukungan penuh untuk Ray Tracing secara real-time di masa mendatang. Sekarang terserah pengembang untuk menyempurnakan fitur Ray Tracing di game mendatang mereka, dan juga untuk meningkatkan jumlah judul yang mendukung fitur ini. Nvidia dan AMD juga memiliki tanggung jawab untuk membuat perangkat keras mereka dioptimalkan untuk fitur ini sehingga para gamer tidak perlu mengalami kehilangan kinerja yang menghancurkan setiap kali mereka ingin mengaktifkan Ray Tracing.