Dengan pengumuman besar tentang perangkat keras ray-tracing GPU baru, Vlado menjelaskan apa arti terobosan ini untuk masa depan rendering.
Selama hampir 20 tahun, kami telah meneliti dan mengimplementasikan rendering fotorealis terbaik dengan renderer ray-traced kami, V-Ray. Ray tracing adalah metode paling alami untuk mencapai fotorealisme sejati karena berdasarkan perilaku fisik cahaya. Inilah alasan mengapa Academy of Motion Picture Arts and Sciences mengakui kontribusi kami dalam rendering ray-traced dengan memberikan Sci-Tech Award atas adopsi luasnya dalam efek visual. Namun, tantangan dengan ray tracing adalah fotorealisme sejati memerlukan daya komputasi yang besar. Kami selalu berusaha membuat ray tracing lebih cepat, dan sepuluh tahun yang lalu kami mulai memanfaatkan kekuatan GPU dalam V-Ray. Sekarang, kami sangat antusias untuk memanfaatkan perangkat keras GPU baru yang dirancang khusus untuk perhitungan ray tracing. Apa artinya ini adalah bahwa sekarang kami dapat melakukan rendering ray-traced secara real-time.
Pengumuman tentang GPU Turing yang akan datang dari NVIDIA dan lini produk RTX yang menggunakannya adalah tonggak penting dalam sejarah grafik komputer, khususnya ray tracing. Seri Quadro RTX profesional diumumkan di SIGGRAPH 2018 dan seri GeForce RTX konsumen diumumkan di Gamescom 2018. GPU baru ini akan menyertakan perangkat keras khusus (disebut RT Core) untuk membantu mempercepat solusi ray tracing kami serta sangat memperluas ketersediaan dan keterjangkauan NVLink untuk menggandakan jumlah memori yang tersedia untuk scene Anda. Dengan peluncuran lini produk lengkap ini, sangat penting untuk meluangkan waktu beberapa menit untuk memahami apa arti ini untuk rendering Anda di masa depan.
RT Core dalam Kartu RTX
Sebelum membahas apa yang disediakan oleh RT Core, mari kita jelaskan secara singkat beberapa hal penting tentang ray tracing. Proses pelacakan jalur sinar melalui scene dapat dibagi menjadi dua bagian yang sangat berbeda — ray casting dan shading.
Ray Casting
Ray casting adalah proses untuk menyilangkan sinar dengan semua objek dalam scene. Objek terdiri dari berbagai primitif geometri — segitiga, segmen kurva (untuk rambut), partikel, dll. Objek juga bisa diinstance (digandakan) di seluruh scene. Dalam scene produksi tipikal, mungkin ada ribuan instance objek yang totalnya mencapai ratusan juta primitif geometri unik. Menyilangkan sinar dengan semua primitif ini adalah operasi yang kompleks dan melibatkan struktur data canggih seperti bounding volume hierarchies (BVH) yang membantu meminimalkan jumlah perhitungan.
Shading
Shading adalah proses menentukan tampilan objek — termasuk perhitungan peta tekstur dan sifat material — serta cara objek bereaksi terhadap cahaya. Shading juga bertanggung jawab untuk menentukan sinar mana yang harus dilacak untuk menghitung tampilan objek — sinar ini bisa berupa bayangan dari sumber cahaya, refleksi, pencahayaan global, dll. Dalam scene produksi, jaringan shading bisa sangat rumit dan mungkin melibatkan perhitungan tekstur prosedural, pencarian bitmap, dan berbagai cara untuk menggabungkannya agar menentukan sifat material permukaan — seperti warna difusinya, kekuatan refleksi dan kekasaran, normal (melalui bump mapping), dll. Perhitungan pencahayaan juga termasuk di sini.
Tergantung pada jumlah geometri dalam scene dan kompleksitas shader, keseimbangan antara ray casting dan shading bisa sangat bervariasi. Dalam scene tipikal, ray casting mungkin memakan hingga 80% dari waktu untuk scene yang sangat sederhana, sementara scene produksi yang berat mungkin hanya menghabiskan 20% waktu pada bagian ini. Kartu grafis RTX menyertakan “RT Core” khusus untuk mempercepat proses ray casting ini. Karena ray casting adalah algoritma yang relatif kompleks, mengimplementasikannya langsung dalam perangkat keras dapat menghasilkan peningkatan kecepatan yang substansial. Namun, perlu dicatat bahwa meskipun ray casting sangat cepat dan memerlukan waktu nol, masih ada komponen shading dalam proses ray tracing, jadi peningkatan kecepatan dengan menggunakan RT Core akan bervariasi dari satu scene ke scene lainnya, tergantung pada berapa banyak waktu yang dihabiskan untuk ray casting. Secara umum, scene dengan shader sederhana dan banyak geometri menghabiskan lebih banyak waktu untuk ray casting dan lebih sedikit waktu untuk shading, dan akan mendapatkan manfaat terbesar dari RT Core. Sebaliknya, scene dengan jaringan shading yang rumit dan banyak tekstur prosedural, tetapi geometri yang relatif sederhana, mungkin hanya melihat peningkatan kecepatan yang lebih kecil.
Untuk menggambarkan poin-poin di atas, kami merender scene yang sama dengan V-Ray GPU dan dengan versi eksperimental yang mengimplementasikan dukungan untuk NVIDIA RTX. Kami merender scene yang sama dengan penggantian material abu-abu, dan kemudian dengan material asli. Scene ini memiliki total 95.668.638.333 segitiga dan dirender dengan tingkat sampling tetap 512 sampel per piksel.

Scene dengan material abu-abu. Pada kasus ini, sekitar 76% waktu digunakan untuk proses ray casting yang akan mendapatkan manfaat dari RT Cores.

Scene yang sama dengan material lengkap. Pada kasus ini, sekitar 59% waktu digunakan untuk proses ray casting yang akan mendapatkan manfaat dari RT Cores.
Meskipun kami belum siap untuk memposting hasil kinerja pada perangkat keras NVIDIA yang belum dirilis, kami dapat memberikan gambaran tentang apa saja yang akan mendapatkan manfaat dari RT Cores. Scene di atas dirender menggunakan versi prarilis dari perangkat keras Turing dengan driver prarilis dan versi eksperimen V-Ray GPU yang dimodifikasi, di mana kami dapat melacak jumlah ray casting. Dengan shading yang lebih sederhana, sebagian besar waktu rendering digunakan untuk ray casting, sehingga kami seharusnya melihat manfaat yang lebih besar dari RT Cores. Kami juga sedang mencari cara untuk memodifikasi cara kerja V-Ray GPU agar bisa mendapatkan kinerja maksimal dari perangkat keras baru ini. Perlu dicatat juga bahwa perangkat keras Turing itu sendiri jauh lebih cepat dibandingkan dengan generasi Pascal sebelumnya, bahkan saat menjalankan V-Ray GPU tanpa modifikasi apa pun.
Penting untuk dicatat bahwa aplikasi harus diprogram secara eksplisit untuk memanfaatkan RT Cores, yang berarti aplikasi ray tracing yang ada tidak akan otomatis mendapatkan manfaat dari RT Cores tersebut. Cores tersebut dapat diprogram melalui tiga API yang tersedia secara publik — NVIDIA OptiX, Microsoft DirectX (melalui ekstensi DXR), dan Vulkan. DirectX dan Vulkan ditujukan untuk digunakan dalam game dan mesin render real-time, sementara OptiX lebih cocok untuk ray tracing produksi seperti yang sering ditemukan pada render offline.
Di Chaos Group, kami telah bekerja sama dengan NVIDIA hampir setahun untuk meneliti cara-cara agar kami bisa menggunakan kekuatan RT Cores dalam produk kami. V-Ray GPU adalah aplikasi yang jelas untuk teknologi ini dan kami sudah memiliki versi eksperimen V-Ray GPU yang menggunakannya — meskipun mengoptimalkan kode dan mendukung semua fitur dari V-Ray GPU secara penuh akan memakan waktu. Sementara itu, perlu dicatat bahwa semua rilis terbaru dari V-Ray GPU akan tetap bekerja dengan baik pada kartu RTX mana pun, tetapi belum akan memanfaatkan RT Cores. Seiring kami menambahkan dukungan untuk RT Cores, V-Ray GPU akan tetap mendukung kartu-kartu sebelumnya seperti biasa.
Pada video di bawah ini, kami menunjukkan versi V-Ray GPU yang dimodifikasi untuk memanfaatkan RT Core dan memperlihatkan bahwa pembaruan material dan geometri berjalan dengan baik setelah modifikasi. Video ini tidak dimaksudkan untuk menunjukkan kinerja — kami akan mempublikasikan benchmark kinerja dalam posting blog terpisah setelah perangkat keras resmi dirilis.
Kami juga telah mengeksplorasi penggunaan RT Cores dalam konteks ray tracing real-time di Project Lavina untuk mengetahui kemampuan perangkat keras ini. Kami juga tertarik untuk mengetahui apakah mungkin menggantikan rasterisasi sepenuhnya dengan ray tracing untuk kasus penggunaan ini. DXR adalah API real-time pertama yang secara publik mendukung RT Cores, jadi saat ini Project Lavina didasarkan pada API tersebut. Kami juga mempertimbangkan Vulkan untuk mendukung sistem operasi Linux di kemudian hari. Hasil awal sangat menjanjikan dan kami berniat untuk terus mengembangkan dan meningkatkan teknologi ini. Jelas, ini masih sangat awal; saat ini ada banyak penelitian yang dilakukan mengenai path tracing real-time dan kami mengharapkan hasilnya akan berkembang pesat dalam beberapa bulan mendatang, memberikan pengguna kami cara baru untuk menjelajahi scene mereka dalam lingkungan real-time tanpa harus melalui proses yang memakan waktu untuk mengonversinya ke mesin real-time.
Seperti biasa, solusi kami sepenuhnya berbasis ray tracing — berbeda dengan mesin game yang ada dan contoh DXR, yang hanya sebagian menggunakan ray tracing namun masih mengandalkan rasterisasi sebagai metode utama.
Namun, RT Cores hanyalah salah satu bagian dari ceritanya. Kartu grafis RTX juga mendukung sesuatu yang disebut NVLink, yang menggandakan memori yang tersedia untuk V-Ray GPU dalam proses rendering dengan dampak minimal terhadap kinerja.
NVLink
NVLink adalah teknologi yang memungkinkan dua atau lebih GPU terhubung dengan sebuah jembatan dan berbagi data dengan sangat cepat. Ini berarti setiap GPU bisa mengakses memori GPU lainnya, dan program seperti V-Ray GPU dapat memanfaatkannya untuk merender scene yang terlalu besar untuk dimuat di satu kartu saja. Secara tradisional, ketika merender dengan beberapa kartu grafis, V-Ray GPU menduplikasi data di memori masing-masing GPU, tetapi dengan NVLink, VRAM dapat digabungkan. Misalnya, jika kita memiliki dua GPU dengan 11GB VRAM masing-masing dan terhubung dengan NVLink, V-Ray GPU dapat menggunakannya untuk merender scene yang membutuhkan hingga 22 GB. Ini sepenuhnya transparan bagi pengguna — V-Ray GPU secara otomatis mendeteksi dan menggunakan NVLink ketika tersedia. Jadi, meskipun di masa lalu menggandakan kartu hanya memungkinkan Anda menggandakan kecepatan, kini dengan NVLink Anda juga dapat menggandakan VRAM Anda.
NVLink diperkenalkan pada tahun 2016, dan V-Ray GPU adalah renderer pertama yang secara resmi mendukungnya di V-Ray 3.6 dan versi-versi terbaru. Hingga sekarang, teknologi ini hanya tersedia pada kartu profesional Quadro dan Tesla, tetapi dengan dirilisnya seri RTX, NVLink kini juga tersedia pada GPU gaming — khususnya pada GeForce RTX 2080 dan GeForce RTX 2080 Ti. Menghubungkan dua kartu dengan NVLink memerlukan konektor NVLink khusus, yang dijual terpisah.
Kesimpulan
Perangkat keras khusus untuk ray casting telah dicoba di masa lalu, tetapi umumnya tidak berhasil — sebagian karena perhitungan shading dan ray casting biasanya sangat terkait erat, dan menjalankannya di perangkat keras yang sepenuhnya berbeda tidak efisien. Memiliki kedua proses ini berjalan di dalam GPU yang sama adalah apa yang membuat arsitektur RTX menarik. Kami berharap bahwa dalam beberapa tahun ke depan, seri GPU RTX akan memiliki dampak besar pada rendering dan akan memantapkan ray tracing GPU sebagai teknik untuk menghasilkan gambar yang dibuat dengan komputer, baik untuk rendering offline maupun real-time. Kami di Chaos Group bekerja keras untuk membawa kemajuan perangkat keras baru ini ke tangan pengguna kami.
Infrastruktur IT yang kuat adalah kunci produktivitas perusahaan. Dengan vray, Anda bisa mendapatkan solusi IT lengkap yang sesuai dengan kebutuhan Anda. iLogo Indonesia sebagai mitra terpercaya siap mengintegrasikan semuanya agar bisnis Anda tetap berjalan lancar dan aman.
Hubungi kami sekarang atau kunjungi vray.ilogoindonesia.id untuk informasi lebih lanjut!
