Scopri milioni di eBook, audiolibri e tanto altro ancora con una prova gratuita

Solo $11.99/mese al termine del periodo di prova. Cancella quando vuoi.

Grafica di ray-tracing: Esplorazione del rendering fotorealistico nella visione artificiale
Grafica di ray-tracing: Esplorazione del rendering fotorealistico nella visione artificiale
Grafica di ray-tracing: Esplorazione del rendering fotorealistico nella visione artificiale
E-book140 pagine1 ora

Grafica di ray-tracing: Esplorazione del rendering fotorealistico nella visione artificiale

Valutazione: 0 su 5 stelle

()

Leggi anteprima

Info su questo ebook

Che cos'è la grafica Ray Tracing


Nella computer grafica 3D, il ray tracing è una tecnica per modellare il trasporto della luce da utilizzare in un'ampia varietà di algoritmi di rendering per la generazione di immagini digitali.


Come trarrai vantaggio


(I) Approfondimenti e convalide sui seguenti argomenti:


Capitolo 1: Ray tracing ( grafica)


Capitolo 2: Rendering (computer grafica)


Capitolo 3: Illuminazione globale


Capitolo 4: Radiosity (computer grafica)


Capitolo 5: Mappatura dei fotoni


Capitolo 6: Ray casting


Capitolo 7: Riflessione speculare


Capitolo 8: Ottica geometrica


Capitolo 9: pipeline grafica


Capitolo 10: equazione di rendering


(II) Rispondere alle principali domande del pubblico sulla grafica con ray tracing.


(III) Esempi del mondo reale per l'uso della grafica ray tracing in molti campi.


A chi è rivolto questo libro


Professionisti, studenti universitari e laureati, appassionati, hobbisti e coloro che vuoi andare oltre le conoscenze o le informazioni di base per qualsiasi tipo di grafica di Ray Tracing.


 

LinguaItaliano
Data di uscita14 mag 2024
Grafica di ray-tracing: Esplorazione del rendering fotorealistico nella visione artificiale

Leggi altro di Fouad Sabry

Autori correlati

Correlato a Grafica di ray-tracing

Titoli di questa serie (100)

Visualizza altri

Ebook correlati

Intelligenza artificiale e semantica per voi

Visualizza altri

Articoli correlati

Recensioni su Grafica di ray-tracing

Valutazione: 0 su 5 stelle
0 valutazioni

0 valutazioni0 recensioni

Cosa ne pensi?

Tocca per valutare

La recensione deve contenere almeno 10 parole

    Anteprima del libro

    Grafica di ray-tracing - Fouad Sabry

    Capitolo 1: Ray tracing (grafica)

    Nella computer grafica 3D, il ray tracing è una tecnica per simulare il trasporto della luce che può essere applicata a un'ampia gamma di tecniche di rendering per la generazione di immagini digitali.

    Le tecniche di rendering basate sul ray tracing, come il ray casting, il ray tracing ricorsivo, il ray tracing di distribuzione, la mappatura dei fotoni e il path tracing, sono spesso più lente e accurate dei metodi di rendering della linea di scansione.

    Dal 2019, l'accelerazione hardware per il ray tracing in tempo reale è diventata uno standard sulle nuove schede grafiche commerciali e le API grafiche hanno seguito l'esempio, consentendo agli sviluppatori di utilizzare il ray-tracing ibrido e il rendering basato sulla rasterizzazione nei giochi e in altre applicazioni in tempo reale con un impatto minore sui tempi di rendering dei fotogrammi.

    Il ray tracing è in grado di replicare una serie di fenomeni ottici. In effetti, il ray tracing può imitare qualsiasi onda fisica o fenomeno particellare con un movimento approssimativamente lineare.

    Gli approcci di rendering basati sul ray tracing che campionano la luce su un dominio causano artefatti di rumore dell'immagine che possono essere mitigati tracciando un numero molto elevato di raggi o impiegando algoritmi di riduzione del rumore.

    L'idea del ray tracing risale al 16° secolo, quando fu descritto da Albrecht Dürer, a cui si attribuisce il merito del suo sviluppo.

    Dürer ha descritto diverse tecniche per proiettare scene 3D su un piano dell'immagine.

    Alcuni di questi proiettano una certa geometria sulla posizione dell'immagine, come si fa attualmente con la rasterizzazione.

    Altri definiscono la geometria visiva lungo una particolare trave, in modo simile al ray tracing.

    Appel ha utilizzato il ray tracing per determinare la visibilità principale (determinando la superficie più vicina alla fotocamera in ogni punto dell'immagine), quindi ha tracciato i raggi secondari da ciascun punto oscurato alla sorgente luminosa per valutare se il punto era in ombra o meno.

    Più tardi, nel 1971, Goldstein e Nagel (Mathematical Applications Group, Inc.) di MAGI

    Il 1976 vide un altro primo caso di ray casting, Scott Roth realizzò un'animazione flip book nel corso di computer grafica del Caltech di Bob Sproull.

    Le pagine scansionate vengono visualizzate a destra come video.

    Il software del computer di Roth registrava un punto di bordo in una posizione di pixel se il raggio intersecava un piano di delimitazione diverso da quello dei suoi vicini.

    Naturalmente, un raggio può attraversare numerosi piani nello spazio, tuttavia, solo il punto di superficie più vicino alla fotocamera era visibile.

    I bordi sono frastagliati perché le capacità computazionali del DEC PDP-10 time-sharing consentivano solo una risoluzione grossolana.

    Il terminale era un display Tektronix per testo e grafica.

    Attaccata al display c'era una stampante che stampava un'immagine del display su carta termica su un rotolo.

    Roth ha ampliato la struttura, ha presentato il ray casting nel contesto della computer grafica e della modellazione solida, in seguito, ha pubblicato il suo lavoro mentre lavorava presso GM Research Labs.

    1979, mentre lavorava come ingegnere presso i Bell Labs.

    La tecnica di ray tracing profondamente ricorsiva di Whitted ha riformulato il rendering in funzione del trasporto della luce piuttosto che della determinazione della visibilità della superficie.

    La sua pubblicazione ha stimolato una serie di ricerche future, tra cui il ray tracing distribuito e il path tracing imparziale, fornisce il quadro di equazioni di rendering che ha permesso alla grafica generata dal computer di essere realistica.

    Decenni fa, l'illuminazione aggiuntiva veniva utilizzata per simulare l'illuminazione globale nei film utilizzando immagini generate al computer. Alla fine, il rendering basato sul ray tracing ha modificato questa situazione consentendo il trasporto della luce basato sulla fisica. Monster House (2006) e Cloudy with a Chance of Meatballs (2009) sono esempi di primi lungometraggi totalmente renderizzati utilizzando il path tracing (2009), il ray tracing ottico è una tecnica per generare immagini più fotorealistiche in ambienti di computer grafica 3D rispetto al ray casting o al rendering della linea di scansione. Funziona seguendo un percorso da un occhio fittizio attraverso ogni pixel su uno schermo virtuale e calcolando il colore dell'oggetto visto attraverso di esso.

    Le scene in ray tracing sono descritte matematicamente da un programmatore o da un artista (normalmente utilizzando strumenti intermedi). Le scene possono anche includere dati provenienti da foto e modelli raccolti, come la fotografia digitale.

    In genere, ogni raggio deve essere verificato per l'intersezione con un sottoinsieme degli oggetti della scena. Una volta scoperto l'oggetto più vicino, l'algoritmo stimerà la luce in arrivo nel punto di intersezione, controllerà le qualità del materiale dell'oggetto e integrerà queste informazioni per determinare il colore finale del pixel. Alcuni algoritmi di illuminazione e materiali riflettenti o traslucidi possono richiedere la rifusione di raggi aggiuntivi nella scena.

    L'invio di raggi lontano dalla fotocamera, piuttosto che all'interno di essa (come fa la luce nella realtà), è di molti ordini di grandezza più efficiente. Poiché la stragrande maggioranza dei fasci di luce provenienti da una particolare sorgente luminosa non raggiunge la vista dell'osservatore, una simulazione in avanti potrebbe sprecare una grande quantità di calcolo su percorsi luminosi che non vengono mai registrati.

    Di conseguenza, la scorciatoia del ray tracing consiste nel presupporre che un particolare raggio intersechi il riquadro di visualizzazione. Il valore del pixel viene aggiornato quando il raggio raggiunge un numero massimo di riflessioni o una distanza specifica senza intersecare nulla.

    Sulla base delle informazioni che abbiamo (nel calcolo usiamo la normalizzazione vettoriale e il prodotto incrociato):

    {\displaystyle E\in \mathbb {R^{3}} } Posizione degli occhi

    {\displaystyle T\in \mathbb {R^{3}} } Posizione di destinazione

    {\displaystyle \theta \in [0,\pi ]} campo visivo - per gli esseri umani, possiamo presumere {\displaystyle \approx \pi /2{\text{ rad}}=90^{\circ }}

    {\displaystyle m,k\in \mathbb {N} } Numero di pixel quadrati in direzione verticale e orizzontale della finestra

    {\displaystyle i,j\in \mathbb {N} ,1\leq i\leq k\land 1\leq j\leq m}

    Numero di pixel effettivi

    {\displaystyle {\vec {v}}\in \mathbb {R^{3}} } vettore verticale che indica dove si trova in alto e in basso, di solito {\displaystyle {\vec {v}}=[0,1,0]} (non visibile nell'immagine) - componente di rollio che determina la rotazione della finestra attorno al punto C (dove l'asse di rotazione è la sezione ET)

    Viewport schema witch pixels, eye E and target T, viewport center C

    L'idea è quella di trovare la posizione del centro di ogni pixel della finestra P_{ij} che ci permette di trovare la linea che va dall'occhio E attraverso quel pixel e infine ottenere il raggio descritto dal punto e dal E vettore {\displaystyle {\vec {R}}_{ij}=P_{ij}-E} (o la sua normalizzazione {\displaystyle {\vec {r}}_{ij}} ).

    Per prima cosa dobbiamo trovare le coordinate del pixel della finestra in basso a sinistra {\displaystyle P_{1m}} e trovare il pixel successivo facendo uno spostamento lungo le direzioni parallele alla finestra (vettori {\displaystyle {\vec {b}}_{n}} i {\displaystyle {\vec {v}}_{n}} ) moltiplicate per la dimensione del pixel.

    Di seguito introduciamo formule che includono la distanza d tra l'occhio e la finestra.

    Tuttavia, questo valore verrà ridotto durante la normalizzazione dei raggi {\displaystyle {\vec {r}}_{ij}} (quindi potresti anche accettarlo d=1 e rimuoverlo dai calcoli).

    Pre-calcoli: troviamo e normalizziamo i vettori {\displaystyle {\vec {t}}} e i vettori {\displaystyle {\vec {b}},{\vec {v}}} paralleli alla finestra (tutti raffigurati nell'immagine sopra)

    {\displaystyle {\vec {t}}=T-E,\qquad {\vec {b}}={\vec {t}}\times {\vec {v}}}{\displaystyle {\vec {t}}_{n}={\frac {\vec {t}}{||{\vec {t}}||}},\qquad {\vec {b}}_{n}={\frac {\vec {b}}{||{\vec {b}}||}},\qquad {\vec {v}}_{n}={\vec {t}}_{n}\times {\vec {b}}_{n}}

    Si noti che il centro della finestra {\displaystyle C=E+{\vec {t}}_{n}d} , quindi calcoliamo le dimensioni della finestra {\displaystyle h_{x},h_{y}} divise per 2 includendo il rapporto d'aspetto inverso {\displaystyle {\frac {m-1}{k-1}}}

    {\displaystyle g_{x}={\frac {h_{x}}{2}}=d\tan {\frac {\theta }{2}},\qquad g_{y}={\frac {h_{y}}{2}}=g_{x}{\frac {m-1}{k-1}}}

    e poi calcoliamo i vettori di spostamento del pixel successivo {\displaystyle q_{x},q_{y}} lungo le direzioni parallele alla finestra ( {\displaystyle {\vec {b}},{\vec {v}}} ) e al centro del pixel in basso a sinistra {\displaystyle p_{1m}}

    {\displaystyle {\vec {q}}_{x}={\frac {2g_{x}}{k-1}}{\vec {b}}_{n},\qquad {\vec {q}}_{y}={\frac {2g_{y}}{m-1}}{\vec {v}}_{n},\qquad {\vec {p}}_{1m}={\vec {t}}_{n}d-g_{x}{\vec {b}}_{n}-g_{y}{\vec {v}}_{n}}

    Calcoli: nota {\displaystyle P_{ij}=E+{\vec {p}}_{ij}} e raggio {\displaystyle {\vec {R}}_{ij}=P_{ij}-E={\vec {p}}_{ij}} so

    {\displaystyle {\vec {p}}_{ij}={\vec {p}}_{1m}+{\vec {q}}_{x}(i-1)+{\vec {q}}_{y}(j-1)}{\displaystyle {\vec {r}}_{ij}={\frac {{\vec {R}}_{ij}}{||{\vec {R}}_{ij}||}}={\frac {{\vec {p}}_{ij}}{||{\vec {p}}_{ij}||}}}

    Questo progetto JavaScript ha valutato la formula di cui sopra (funziona nel browser).

    In natura, una sorgente luminosa rilascia un raggio di luce che alla fine raggiunge una superficie che ne blocca il percorso. Questo raggio può essere paragonato a un flusso di fotoni che scorre lungo lo stesso percorso. In un vuoto ideale, questo raggio sarà dritto (ignorando gli effetti relativistici). Questo raggio di luce può subire qualsiasi combinazione di assorbimento, riflessione, rifrazione e fluorescenza. Una superficie può assorbire una parte del raggio luminoso, provocando una riduzione dell'intensità della luce riflessa e/o rifratta. Inoltre, può riflettere tutto o una parte del raggio di luce in una o più direzioni. Se la superficie è trasparente o traslucida, rifrange una componente del fascio di luce assorbendo parte (o tutto) dello spettro (e possibilmente alterandone il colore). Raramente, una superficie può assorbire

    Ti è piaciuta l'anteprima?
    Pagina 1 di 1