Utente:Davi.trip/Sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Davi.trip (discussione | contributi)
Nessun oggetto della modifica
Davi.trip (discussione | contributi)
Nessun oggetto della modifica
Riga 1:
L''''ombreggiatura''' (in inglese '''shading'''), in computer grafica, è il processo di calcolo del colore apparente di ognuna della porzioni di superficie degli oggetti in una scena tridimensionale, risultante dall'esposizione alla radiazione luminosa incidente, .<ref name=":0">{{Cita|Scateni|p. 152}}</ref>
 
== Definizione ==
Per simulare quello che succede nella realtà si usano dei modelli di illuminazione che sono rappresentati da equazioni matematiche, le quali descrivono come ogni punto dell'oggetto è illuminato in funzione delle sorgenti luminose presenti nella scena, della posizione del punto, della posizione dell'osservatore (o camera virtuale) e della proprietà con cui il materiale nel punto considerato riflette la luce.<ref name=":0" /><ref name=":1">{{Cita|Zingaretti|pp. 114-115}}</ref> Si distinguono ini modelli di illuminazione locale, come il modello di riflessione locale di Phong, e indai modelli di illuminazione globale, come il ray- tracing e la radiosità.<ref name=":1" />
 
In un'accezione ampia, l'ombreggiatura è il modo in cui la luce interagisce con gli oggetti, al fine di dar loro apparenza visiva, in funzione delle proprietà materiali dell'oggetto, della posizione della camera virtuale e della posizione della sorgente luminosa.<ref>{{Cita|Zingaretti|p. 135}}</ref>
Riga 11:
Più precisamente, si distinguono due processi di calcolo costituenti la risoluzione dell'equazione di illuminazione nei vari punti dell'oggetto:
 
* '''Lighting''' – Con il temine ''lighting'' si fa riferimento al calcolo della quantitàprocesso di radiazionedeterminazione luminosadel che incide su ogni determinata posizione dello spazio (ad esempio su ogni porzione di superficie degli oggetti della scena).<ref name=":0" /> In altre parole, il ''lighting'' è il processo dicolore calcoloe dell'intensità luminosa inincidenti un particolare punto nello spazio 3D, di solito una superficie.<ref name=":0" /><ref name=":2">{{Cita pubblicazione|autore=|titolo=Lighting & Shading|rivista=|editore=Boise State University|volume=|numero=|lingua=en|accesso=20 dicembre 2018|url=http://cs.boisestate.edu/~alark/cs464/lectures/Shading.pdf}}</ref>|citazione=Lighting is the process of computing the luminous intensity (i.e., outgoing light) at a particular 3-D point, usually on a surface.
Shading is the process of assigning colors to pixels.}}</ref><ref name=":9">{{Cita libro|nome=Eric|cognome=Lengyel|titolo=Mathematics for 3D Game Programming and Computer Graphics|edizione=3|data=2 giugno 2011|editore=Cengage Learning Ptr|lingua=Inglese|p=157|citazione=The term lighting or illumination is often used to describe the process by which the color and intensity of light reaching a surface is determined. The term shading normally describes the methods used to determine the color and intensity of light reflected toward the viewer for each point on a surface. This color depends on the properties of the light sources illuminating the surface as well as the reflective characteristics of the surface itself.|ISBN=9781435458864}}</ref>
* '''Shading''' – Con il termine ''shading'' ci si riferisce al processo di assegnazione dei colori ai pixel dell'immagine.<ref name=":2" />
* '''Shading''' – Con il termine ''shading'' ci si riferisce ai metodi utilizzati per determinare il colore e l'intensità luminosa riflessi verso l'osservatore per ciascun punto di una superficie.<ref name=":2" /><ref name=":9" /> Questo colore dipende dalle proprietà delle sorgenti luminose che illuminano la superficie come anche le caratteristiche di riflessione della superficie stessa.<ref name=":9" />
 
== Superfici e riflessioni ==
Line 29 ⟶ 30:
 
=== Gouraud shading ===
[[File:Gouraud low anim.gif|miniatura|Animazione di una sfera con il Gouraud shading]]
Quando la computer grafica era ancora ai suoi primi giorni di vita, e la memoria era misurata in kilobyte e i processori erano meno potenti di quelli attuali di molti ordini di grandezza, divenne particolarmente urgente la ricerca di un modo efficiente per produrre immagini accettabili di superfici curve a partire da approssimazioni di mesh a bassa risoluzione.<ref name=":7" /> Nei primi anni Settanta, lo studente dell'Università dello Utah di nome Henri Gouraud, rifinì la tecnica dello shading interpolato, che consiste nel valutare l'equazione di illuminazione solo nei vertici del poligono ed interpolare linearmente, all'interno dello spazio colore, i valori trovati nei vertici per trovare i valori sui lati e nei punti interni.<ref name=":7" /><ref>{{Cita|Zingaretti|pp. 136-138}}</ref>
Il Gouraud shading estende il concetto di shading interpolato, ed è un processo che richiede che sia nota la normale per ciascun vertice della mesh poligonale.<ref name=":8">{{Cita|Foley|pp. 736-737}}</ref> Gouraud fu in grado di calcolare queste ''normali ai vertici'' direttamente dalla descrizione analitica della superficie.<ref name=":8" /> In alternativa, se le normali ai vertici non sono memorizzate con la mesh, e non possono essere determinate direttamente dalla superficie effettiva, allora, suggerì Gouraud, le si possono approssimare calcolando la media delle normali alla superficie di tutte le facce poligonali che condividono ciascun vertice.:<ref name=":6" /><ref name=":8" />
 
[[File:Gouraud-normals.png|alt=|sinistra|miniatura|Calcolo delle normali nel Gouraud shading]]
Il Gouraud shading estende il concetto di shading interpolato, ed è un processo che richiede che sia nota la normale per ciascun vertice della mesh poligonale.<ref name=":8">{{Cita|Foley|pp. 736-737}}</ref> Gouraud fu in grado di calcolare queste ''normali ai vertici'' direttamente dalla descrizione analitica della superficie.<ref name=":8" /> In alternativa, se le normali ai vertici non sono memorizzate con la mesh, e non possono essere determinate direttamente dalla superficie effettiva, allora, suggerì Gouraud, le si possono approssimare calcolando la media delle normali alla superficie di tutte le facce poligonali che condividono ciascun vertice.<ref name=":8" />
<br /><math display="block">\mathrm{\vec{N}}_v = \frac{\sum_i\mathrm{\vec{N}}_i}{|\sum_i\mathrm{\vec{N}}_i|}</math>
 
== Note ==
<references />
Line 39 ⟶ 41:
'''Libri'''
 
*{{Cita libro|autore=James D. Foley|autore2=Andries van Dam|autore3=Steven K. Feiner|autore4=John F. Hughes|titolo=Computer Graphics. Principles and Practice. Second Edition in C|anno=1996|editore=Addison-Wesley Publishing Company, Inc.|lingua=en|cid=Foley|ISBN=9780201848403}}
*{{Cita libro|autore=John F. Hughes|autore2=Andries Van Dam|autore3=Morgan McGuire|autore4=David F. Sklar|autore5=James D. Foley|autore6=Steven K. Feiner|autore7=Kurt Akeley|titolo=Computer Graphics. Principles and Practice|edizione=3|data=28 febbraio 2009|editore=Addison-Wesley Professional|lingua=en|cid=Hughes|ISBN=9780321399526}}
*{{Cita libro|autore=Riccardo Scateni|autore2=Paolo Cignoni|autore3=Claudio Montani|autore4=Roberto Scopigno|titolo=Fondamenti di grafica tridimensionale interattiva|data=1° giugno 2005|editore=McGraw-Hill Education|lingua=italiano|ISBN=9788838662157|cid=Scateni}}
Line 46 ⟶ 48:
'''Pubblicazioni'''
 
* {{Cita pubblicazione|autore=BuiHenri Tuong PhongGouraud|anno=19751971|mese=6|titolo=IlluminationContinuous forShading Computerof GeneratedCurved PicturesSurfaces|rivista=CommunicationsIEEE ofTransactions theon ACMComputers|volume=18C-20|numero=6|lingua=en|accesso=20 dicembre 2018|url=httphttps://wwwohiostate.cspressbooks.northwestern.edupub/app/uploads/sites/~ago82045/cs3952017/Papers09/Phong_1975gouraud1971.pdf}}
* {{Cita pubblicazione|autore=Bui Tuong Phong|anno=1975|mese=6|titolo=Illumination for Computer Generated Pictures|rivista=Communications of the ACM|volume=18|numero=6|lingua=en|url=http://www.cs.northwestern.edu/~ago820/cs395/Papers/Phong_1975.pdf|accesso=20 dicembre 2018}}