Ray Tracing rispetto al rendering basato su oggetti?


19

I corsi di grafica di introduzione di solito hanno un progetto che ti chiede di costruire un ray tracer per rendere una scena. Molti studenti di grafica che entrano nella scuola di specializzazione affermano di voler lavorare sul ray tracing. Eppure sembra che il ray tracing sia un campo morto in luoghi come SIGGRAPH ecc.

Il ray tracing è davvero il modo migliore per eseguire il rendering accurato di una scena con tutta l'illuminazione desiderata, ecc., Ed è solo la lentezza (leggi non interattivo) dei ray tracer a renderli poco interessanti o c'è qualcos'altro?


Forse il ray-tracing è un affare fatto.
Dave Clarke,

Penso che il titolo della domanda debba essere modificato, Raytracing è un renderer basato su pixel, forse dovrebbe essere riformulato come "Raytracing vs rendering basato su oggetti" o "Raytracing vs Rasterization"
aaecheve

Modificherò il titolo.
Suresh,

@DaveClarke: non sei sicuro di cosa significhi?
Suresh,

Niente più ricerche da fare - dovrei evitare il gergo.
Dave Clarke,

Risposte:


11

Il raytracing è un algoritmo molto piacevole e intuitivo, ed è un modo più realistico di descrivere l'illuminazione di una scena rispetto alla rasterizzazione, ma:

  • Il raytracing è lento, specialmente se si desidera implementare gli effetti più realistici che lo distinguono dalla rasterizzazione (ad esempio rifrazione, riflessione, motion blur, ombre morbide) perché ciò implica la creazione di molti più raggi per pixel.
  • La maggior parte delle persone non sa distinguere tra effetti reali e falsi, che credo sia il punto chiave. L'obiettivo di un algoritmo di rendering pratico è quello di creare una rappresentazione fotorealistica di una scena nel modo più efficiente, e in questo momento la rasterizzazione, sebbene utilizzi molti hack, ci riesce molto bene.
  • Esistono molte altre limitazioni pratiche di Raytracing rispetto a un renderizzatore di rasterizzazione: scarsa antialiasing e mappatura di spostamento, istanza limitata, ecc.

Anche in applicazioni non interattive, come i film, Raytracing è usato pochissimo a causa dei suoi limiti. Pixar ha iniziato a utilizzare Raytracing solo in Auto e solo per alcuni effetti di riflessione specifici ( Ray Tracing per il film "Auto" ).

Ecco un eccellente articolo che descrive più in dettaglio lo stato attuale di Raytracing e i suoi vantaggi e svantaggi: State of Ray Tracing (nei giochi) .


8

Il ray tracing ha un grave problema legato alla luce ambientale. La maggior parte dei modelli di illuminazione considera la luce ambientale come un fattore costante che pervade l'etere. Mentre il ray tracing è ottimo per il calcolo delle riflessioni, soffre di instabilità numerica e complicati test di intersezione della superficie. Il ray tracing potrebbe non funzionare bene con il rendering con accelerazione hardware poiché la ricorsione gioca un ruolo importante nel determinare l'illuminazione di un determinato pixel. Il ray tracing di base è molto costoso dal punto di vista computazionale.

La radiosity gestisce meglio la luce ambientale in quanto tratta tutti gli oggetti nell'ambiente come fonti di luce, producendo un modello di illuminazione che è in qualche modo più realistico del ray tracing. Con una soluzione di radiosity ci sono un numero fisso di poligoni in una scena e il calcolo è suscettibile di accelerazione hardware.

In definitiva, il ray trending non è il modo migliore per eseguire il rendering di una scena, ma è un componente di una buona strategia di rendering. L'alto costo computazionale e la scarsa illuminazione ambientale sono i principali scioperi contro il ray tracing. Come argomento di ricerca, il lavoro è in corso , ma sembra essere focalizzato sull'accelerazione hardware.


Si noti che uno dei modi più comuni di fare la radiosità (in particolare, di gestire qualsiasi aspetto speculare della radiosità e delle funzioni di radianza generale) comporta il ray tracing! In effetti, ray tracing e radiosity sono entrambe approssimazioni all'equazione di rendering.
Steven Stadnicki,

Vero che. Un approccio di radiosity di base (come va per un ossimoro?) Ha bisogno di qualcosa come il raytracing per specularità e riflessione.
John Percival Hackworth,

4

Non direi che il ray-tracing / path-tracing è morto ... semmai c'è stata una sorta di rinascita dell'interesse popolare nel campo a causa del parallelismo intrinseco dei molti algoritmi associati in quest'area combinato con la velocità di Sistemi basati su GPU che consentono di calcolare milioni di raggi al secondo. A ciò si aggiunge la flessibilità nella pipeline di rendering che linguaggi più generici come CUDA e OpenCL stanno consentendo che gli sviluppatori possano sfruttare la funzionalità parallela della GPU senza dover usare esplicitamente la pipeline grafica OpenGL come le tecniche GPGPU iniziali. Alcuni notevoli esempi del flusso principale della ricerca continua di tracciamento del percorso includono:

  • La ricerca di Daniel Pohl e altri nel gruppo Intel Advanced Render
  • Il motore Optix di Nvidia
  • SIGGRAPH lo scorso anno ha incluso un paio di corsi sulla sintesi delle immagini di Monte Carlo e una discussione sulle ultime tecniche di stima della densità dei fotoni.

Infine, hai fatto molte ricerche sulle tecniche di ottimizzazione per il problema dell'illuminazione globale, tra cui l'illuminazione globale basata su punti, la mappatura dei fotoni e le ottimizzazioni correlate, la modellazione avanzata dell'aspetto (compresi i metodi basati sui dati), la memorizzazione nella cache dell'irradiamento, ecc., Ecc.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.