Ray Tracing versus rendering berbasis objek?

19

Kursus grafis intro biasanya memiliki proyek yang meminta Anda membuat pelacak sinar untuk membuat adegan. Banyak siswa grafis yang memasuki sekolah pascasarjana mengatakan bahwa mereka ingin mengerjakan ray tracing. Namun sepertinya ray tracing adalah bidang mati di tempat-tempat seperti SIGGRAPH dll.

Apakah ray tracing benar-benar cara terbaik untuk membuat adegan secara akurat dengan semua iluminasi yang diinginkan, dll., Dan apakah itu hanya kinerja pelacak ray yang lambat (baca non-interaktif) yang membuatnya tidak menarik, atau ada sesuatu yang lain?

Suresh
sumber
Mungkin ray-tracing adalah kesepakatan.
Dave Clarke
Saya pikir judul pertanyaan perlu diedit, Raytracing adalah renderer berbasis pixel, mungkin itu harus diulangi sebagai 'Raytracing vs rendering berbasis Objek' atau 'Raytracing vs Rasterization'
aaecheve
Saya akan memodifikasi judulnya.
Suresh
@DaveClarke: Tidak yakin apa artinya itu?
Suresh
Tidak ada lagi penelitian yang harus dilakukan - saya harus menghindari bahasa gaul.
Dave Clarke

Jawaban:

11

Raytracing adalah algoritma yang sangat bagus dan intuitif, dan ini adalah cara yang lebih realistis secara fisik untuk menggambarkan iluminasi pemandangan daripada rasterisasi, tetapi:

  • Raytracing lambat, khususnya jika Anda ingin menerapkan efek yang lebih realistis yang membedakannya dari rasterisasi (misalnya refraksi, refleksi, blur gerakan, bayangan lembut) karena ini berarti membuat lebih banyak sinar per piksel.
  • Kebanyakan orang tidak bisa membedakan antara efek nyata dan palsu, yang saya pikir adalah titik kunci. Tujuan dari algoritma render praktis adalah untuk membuat representasi fotorealistik dari sebuah adegan dengan cara yang paling efisien, dan saat ini Rasterisasi, walaupun menggunakan banyak peretasan, menyelesaikan ini dengan sangat baik.
  • Ada banyak keterbatasan praktis lainnya dari Raytracing dibandingkan dengan renderer Rasterisasi: pemetaan anti-aliasing dan perpindahan yang buruk, instancing terbatas, dll.

Bahkan dalam aplikasi non-interaktif, seperti film, Raytracing digunakan sangat sedikit karena keterbatasannya. Pixar hanya mulai menggunakan Raytracing di Mobil, dan hanya untuk beberapa efek refleksi tertentu ( Ray Tracing untuk Film 'Mobil' ).

Berikut ini adalah artikel yang sangat bagus yang menjelaskan secara lebih terperinci kondisi Raytracing saat ini dan kelebihan dan kekurangannya: State of Ray Tracing (dalam game) .

aaecheve
sumber
8

Pelacakan ray dasar memiliki masalah besar terkait dengan cahaya sekitar. Sebagian besar model pencahayaan memperlakukan cahaya sekitar sebagai faktor konstan yang melingkupi eter. Sementara ray tracing sangat bagus untuk menghitung refleksi, ia mengalami ketidakstabilan numerik dan tes persimpangan permukaan yang rumit. Ray tracing mungkin tidak cocok dengan rendering yang dipercepat perangkat keras karena rekursi memainkan peran utama dalam menentukan pencahayaan untuk piksel tertentu. Basic ray tracing secara komputasi sangat mahal.

Radiosity menangani cahaya sekitar dengan lebih baik karena memperlakukan semua objek di lingkungan sebagai sumber cahaya, menghasilkan model pencahayaan yang lebih realistis daripada penelusuran sinar. Dengan solusi radiositas ada sejumlah poligon dalam adegan, dan perhitungannya dapat disesuaikan dengan akselerasi perangkat keras.

Pada akhirnya ray trancing bukan cara terbaik untuk membuat adegan, tetapi itu adalah komponen dari strategi rendering yang baik. Biaya komputasi berbiaya tinggi dan pencahayaan ambient yang buruk adalah serangan utama terhadap penelusuran sinar. Sebagai topik penelitian pekerjaan sedang berlangsung , tetapi tampaknya difokuskan pada akselerasi perangkat keras.

John Percival Hackworth
sumber
Perhatikan bahwa salah satu cara paling umum untuk melakukan radiositas (khususnya, penanganan aspek spekularitas dari radiositas dan fungsi pancaran umum) melibatkan penelusuran sinar! Memang, penelusuran sinar dan radiositas keduanya merupakan perkiraan persamaan rendering.
Steven Stadnicki
Benar bahwa. Pendekatan radiositas dasar (bagaimana dengan oxymoron?) Memerlukan sesuatu seperti raytracing untuk specularitas dan refleksi.
John Percival Hackworth
4

Saya tidak akan mengatakan bahwa ray-tracing / path-tracing sudah mati ... jika ada, sudah ada kebangkitan minat populer di lapangan karena paralelisme yang melekat dari banyak algoritma terkait di bidang ini dikombinasikan dengan kecepatan Sistem berbasis GPU yang memungkinkan jutaan sinar dihitung per detik. Selain itu, fleksibilitas dalam pipeline render yang dimungkinkan oleh bahasa yang lebih umum seperti CUDA dan OpenCL memungkinkan pengembang untuk meningkatkan fungsionalitas paralel GPU tanpa harus secara eksplisit menggunakan pipeline grafis OpenGL seperti teknik GPGPU awal. Beberapa contoh arus utama dari penelitian penelusuran jalur lanjutan meliputi:

  • Penelitian Daniel Pohl dan lainnya dalam kelompok Intel Advanced Render
  • Mesin Optix milik Nvidia
  • SIGGRAPH tahun terakhir ini mencakup beberapa kursus tentang sintesis gambar Monte Carlo serta diskusi tentang teknik estimasi kerapatan foton terbaru.

Akhirnya, Anda memiliki banyak penelitian tentang teknik optimasi untuk masalah penerangan global, termasuk penerangan global berbasis titik, Pemetaan Foton dan optimisasi terkait, pemodelan penampilan lanjutan (termasuk metode yang didorong data), caching penyinaran, dll., Dll.

Jason
sumber