Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient. + riflessione diffusa + riflessione speculare + emissione
|
|
- Linda Pozzi
- 4 anni fa
- Visualizzazioni
Transcript
1 Computer Graphics Lezione : Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2008/09 Marco Tarini lo Shading I 4 fattori che consideriamo luce finale = ambiente riflessione diffusa riflessione speculare emissione Equazione di Lighting caratteristiche della luce caratteristiche del materiale dati della geometria Normale di un triangolo I tot f = I luce k I ambient luce diffuse I k ( Hˆ Nˆ ) luce spacular k materiale emission attentuazione luce effettospotlight materiale ambient k ( Lˆ N ˆ ) materiale diffuse materiale spacular = min, 2 c c2dl c3d L n f attenuazione luce f effettospotlight ( L, spot, spot spot ) f = f, direction cutoff Angle beam width Cioe' il suo orientamento nello spazio ^ N = ( v ) ( ) v N v 0 v 2 ˆ N N = N Lighting faccia per faccia "flat shading" Definizione Shading: ricetta per applicare un lighting Ad esempio:. geometria di partenza 2. per ogni faccia, calcolo normale 3. applico lighting ad ogni normale flat shading. Applico lighting a normale di faccia - (ottengo un colore) 2. Copro tutta la faccia di quel colore
2 Flat shading: problema Approssimo superfici curve con triangoli Applico il flat shading Risultato: spigoli apparenti su superfici curve non sembra nemmeno una sfera un brutto artefatto! Flat shading: problema Altro esempio: Flat shading: problema Più faccie uso, meno evidente il problema Flat shading: problema A peggiorare le cose: l'effetto ottico bande di Mach In realtà sono bande di colore uniforme In realtà i quadratini interni sono dello stesso grigio >0.000 facce, e ancora si vedono gli spigoli artefatti perche? Il contrasto fra zone di colore uniforme difficilmente sfugge mai al nostro occhio. (neanche se le zone sono molte, e la differenza fra loro è relativamente piccola). Il cervello aumenta il contrasto fra le zone di colore uniformi => L'artefatto e' duro a morire! Idea Utilizzare l'interpolazione del colore dentro alla faccia Idea Utilizzare l'interpolazione del colore dentro alla faccia "Gouraud" Shading Henri Gouraud, 97 - Applico lighting ai 3 vertici di ogni triangolo (ottengo un colore) 2- Interpolo il colore nel triangolo Per applicare il lighting, devo avere la normale! Normale definita per una faccia. Ma per un vertice? 2
3 Normali per vertice Normali per vertice In certi contesti, la normale dei vertici nasce insieme al resto del modello 3D. per esempio, quando si modella una sfera, un cilindro, un cono... quando si estrae la superficie da un volume (normale da derivate discrete) quando si costruisce una superficie triangolata campionando una superficie parametrica... Sennò... Normale di un Triangolo: Normale di un vertice condiviso da n triangoli: N = Nˆ ˆ N N = N ˆ ˆ N2... N n v v 2 v v 2 Nˆ v ˆN ˆN ˆN 6 2 ˆN 3 ˆN 4 ˆN 5 Dove avviene la computazione del lighting? Scelta Fondamentale Vertici & loro attributi per vertice Vertici poriettati computati punti triangoli segmenti Frammenti interpolati per frammento Screen buffer Nel nostro paradigma di rendering, la normale (dei vertici): NON viene calcolata nel pipeline (e dove potrebbe?) viene mandata come ATTRIBUTO per VERTICE la normale "fa parte del modello" proprio come le posizioni dei suoi vertici la computazione delle normali, se necessaria, è tipicamente un pre-processing v v z concettualmente giusto, e pratico Gouraud shading Gouraud shading Risultati: Vertici & loro attributi per vertice Vertici poriettati computati punti triangoli segmenti Frammenti interpolati per frammento Screen buffer proprietà del materiale e normale proietto e applico lighting colore per vertice (risultato del lighting) interpolo colore Compreso: col. finale 3
4 Si può fare meglio Invece di interpolare il colore dopo il lighting. interpolo la normale prima del lighting! occhio: interpolando due vettori normali, non ottengo un vettore normale: (devo rinormalizzare dopo l'interpolazione) n r n r interpolaz fra n r 0 e n r 0 interpolaz fra n r 0 e n r rinormalizzata Si può fare meglio Invece di interpolare il colore dopo il lighting. interpolo la normale prima del lighting! "Phong"* Shading - Interpolo la normale nella faccia 2- Rinormalizzo 3- Applico lighting Bui-Tuong Phong, 973 * Attenzione a non confondere il Phong Shading (uno shading) con il Phong Lighting Model (modello di illuminazione) Phong shading Gouraud contro Phong shading Vertici & loro attributi per vertice Vertici poriettati computati punti triangoli segmenti Frammenti interpolati per frammento Screen buffer Goraud Shading - lighting per vertice (a.k.a. "per-verte lighting") molto meno oneroso: applico il lighting una volta per vertice di solito #vertici << #frammenti Phong Shading - lighting per frammento (a.k.a. "per-piel lighting") risultati migliori specialmente con i riflessi luminosi e piccoli (esponente speculare alto) proprietà del materiale e normale trasformo sia normale che posizione normale trasformata interpolo normale normale interpolata rinormalizzo e applico lighting per ottenere il colore del frammento M a r c Flat o T a shading r i n i C o m p u t e r G r a p Goraund h i c s 2 0 shading 0 8 / 0 9 U n i v e r s i t à d Phong e l l I n s Shading u b r i a sia per il Gouraud che per il Phong shading sia per il Gouraud che per il Phong shading Goraud e Phong servono per superfici lisce eliminano gli spigoli artefatti eliminano anche gli spigoli corretti Soluzione: duplicare i vertici flat shading Goraud shading M a r c o T a r i n i C o m p u t e r G r a p h i c s / 0 9 U n i v e r s i (Phong t à d e l l shading I n s u b r i aè simile) 4
5 Gouraud o Phong shading? le specifiche di OpenGL non prescrivono quale debba essere usato spesso: Gouraud dipende dall'implementatore HW non esitono nemmeno comandi OpenGL che cambiano shading da Phong a Gouraud (con HW programmabile, possiamo decidere noi) Lighting in OpenGL: COME Abilitare il lighting: glenable(gl_lighting); ( il colore corrente quello di glcolor3f non conta più. Conta invece il materiale corrente!) Ora dobbiamo mandare le normali, settare le luci e i materiali Normali Setto la "normale corrente". Proprio come facevo con i colori: glnormal3d(,,z); la quarta coordinata e' sottointesa: ZERO! (si tratta di vettori) Cosa succede alle normali? v v object Coordinates z modellazione vista Modellazione Vista: spesso rototraslazioni (trasformazioni rigide) e scalature uniformi (che almeno mantengono gli angoli) Proiezione: non mantiene gli angoli v v -z -z z world Coordinates view Coordinates - Normalized Device M a r c o T a r i n i C o m p u t (a.k.a. e r G r ee a p Coordinates) h i c s / 0 9 U n i v e r s i t à d e l l Coordinates I n s u b r i a proiezione risposta: subiscono la Model-View matri, ma non la Projection matri. E' proprio per questo che le due sono tenute separate! - v v screen Space viewport Le normali rimangono "normali" (a lunghezza ) nella Transform? Solo se la modellazione-vista è rigida (rotazioni traslazioni) modellazione-vista = V M (usuall) rotazioni, traslazioni (quindi rigida) (usuall) rotazioni, traslazioni e forse scalature (quindi non sempre rigida) Le normali rimangono "normali" (a lunghezza ) nella Transform? Morale: se uso scalature nella ModelView devo rinormalizzare le normali prima del Lighting chiedo ad OpenGL di farlo: glenable(gl_normalize); o di non farlo: (default) gldisable(gl_normalize); 5
6 Trasformazione delle normali La normale a una superficie è tale (è ortogonale) anche dopo una trasformazione affine? NO Trasformazione delle normali Sia M la trasformazione applicata t = p q t' = Mp Mq = M ( p q) Sappiamo che: n T t = 0 Vogliamo che: n' T t' = 0 Nota: conta solo la parte 33 superiore perché n e t sono vettori T T T T n' = Kn n' t' = ( Kn) ( Mt) = n K Mt = 0 T t' = Mt T T K M = I K = M K = M Trasformazione delle normali La normale viene moltiplicata per la trasposta dell inversa della parte 33 superiore della matrice di vista/modello Trasformazione delle normali Casi particolari Se la matr. di modelview M è.... una traslazione una rotazione una scalatura uniforme una combinazione di queste (è il caso tipico!)... Soluz.:. Le normali, come tutti i vettori, sono unaffected 2. Trasposta di M = inversa di M. Normale va moltipl. per M. 3. Trasposta di M = M. Normale andrebbe scalata (moltipl. per uno scalare), ma attivando la rinormalizzazione ciò non ha alcun effetto. 4. Dato 2 e 3, basta usare M. Normali come attributi Normali come attributi Proprio come il colore: glbegin(gl_triangles); glnormal3fv( n ); glverte3fv( ); glverte3fv( v ); glverte3fv( ); glbegin(gl_end); glbegin(gl_triangles); glnormal3fv( n0 ); glverte3fv( ); glnormal3fv( n ); glverte3fv( v ); glnormal3fv( n2 ); glverte3fv( ); glbegin(gl_end); flat shading Gouraud shading (o forse* Phong) * dipende dall'impl. di OpenGL Scorciatoia: se invoco: glshademodel(gl_flat); gli attributi non vongono interpolati ma rimangono costanti nella faccia (utile per le triangle strip e i triangle fan), finché non rimetto glshademodel(gl_smooth); 6
7 Luci in OpenGL Abbiamo a disposizione N luci ricordiamoci: il loro effetto (ambient diffuse specular) si somma quante? dipende dall'implementazione di OpenGL le specifiche di OpenGL impongono: almeno 8 il numero esatto lo troviamo nella costante GL_MAX_LIGHT Luci in OpenGL: stato Ogni luce può essere "accesa" o "spenta" glenable(gl_light0); glenable(gl_light);... dove GL_LIGHT0, GL_LIGHT etc sono costanti nota: GL_LIGHTk vale GL_LIGHT0k. Utile per i for di default, nessuna luce è accesa Luci in OpenGL: colori Luci in OpenGL: spotlight e attenuazione Di ogni luce, settiamo i colori gllightfv(gl_light0, GL_DIFFUSE, v); gllightfv(gl_light0, GL_AMBIENT, v); gllightfv(gl_light0, GL_SPECULAR, v); (,,,) (0,0,0,) (0,0,0,) Di ogni luce, possiamo anche settare: se voglio effetto spotlight: gllightfv(gl_light0,gl_spot_direction,v); gllightf (GL_LIGHT0,GL_SPOT_CUTOFF,v); gllightf (GL_LIGHT0,GL_SPOT_EXPONENT,v); se voglio attenuazione con la distanza: gllightf(gl_light0,gl_constant_attenuation,a); gllightf(gl_light0,gl_linear_attenuation,b); gllightf(gl_light0,gl_quadratic_attenuation,c); (0,0,-) (default = no attenuazione, no spotlight ) ma soprattutto Luci in OpenGL: posizione (o direzione) ma soprattutto Luci in OpenGL: posizione (o direzione) Di ogni luce, settiamo la posizione: Di ogni luce, settiamo la posizione: gllightfv(gl_light0,gl_position,v); (0,0,,0) gllightfv(gl_light0,gl_position,v); (0,0,,0) Se luce posizionale, v = {,,z,} Se luce direzionale, ("distante all'infinito") v = {,,z,0} Coordinate affini! importante: la posizione delle luci subisce la moltiplicazione per la matrice MODEL-VIEW corrente (come le coord dei vertici e le normali) per es: come faccio a fare la tipica headlight? (default = no attenuazione, no spotlight ) (default = luce da viewer verso scena) 7
8 ma soprattutto Luci in OpenGL: posizione (o direzione) Equazione di Lighting caratteristiche della luce caratteristiche del materiale dati della geometria Esempio: void rendering() { glmatrimode(gl_projection); // matrice proiezione... glmatrimode(gl_modelview); glloadidentit(); float v[] = {0,0,0,}; // o: {0,0,,0} gllightfv(gl_light0,gl_position,v); A B C D I tot = I luce k I ambient luce diffuse I k ( Hˆ Nˆ ) luce spacular materiale ambient k ( Lˆ N ˆ ) materiale diffuse materiale spacular n f attenuazione luce f effettospotlight... // matrice vista... // matrice modellazione ogg k materiale emission... // disegna ogg... // matrice modellazione ogg2... // disegna ogg } Pos (o dir) luce definita in A - spazio vista (cioè ) B - spazio mondo (cioè ) C - spazio oggetto (cioè ) D - spazio oggetto 2 (cioè ) f attentuazione luce effettospotlight = min, 2 c c2dl c3d L ( L, spot, spot spot ) f = f, direction cutoff Angle beam width OpenGL: materiali! Il meccanismo "Color Material" Settiamo tutti i parametri dei materiali: i colori: glmaterialfv(face, GL_AMBIENT, colorvec); glmaterialfv(face, GL_DIFFUSE, colorvec); glmaterialfv(face, GL_EMISSION, colorvec); glmaterialfv(face, GL_SPECULAR, colorvec); l'esponente speculare: glmaterialf (face, GL_SHININESS, intval); "GL_FRONT" scorciatoia: esiste anche GL_AMBIENT_AND_DIFFUSE asdasdsadasdasd che setta entrambi i colori allo stesso valore (0.8,0.8,0.8,) (0.2,0.2,0.2,) (0,0,0,) (0,0,0,) attivazione: glenable(gl_color_material); uso: glcolormaterial(face, mode); es: se si mette glcolormaterial(gl_front, GL_DIFFUSE); allora come componente diffuse del materiale si userà (l'altrimenti ingorato) colore corrente - si, proprio quello determinato con (ad es) il vecchio glcolor3f Infine: two-wa lighting illuminazione da due lati contemporaneamente Cioè, far sì che ogni luce conti per due (in dir opposte). Nelle due lati dei triang, due materiali (es. colori) diversi. n r B Nell equaz. di lighting, si usa (n L) : A se (n L) > 0 usa front material se (n L) < 0 usa back material ma inverti (n L) attivazione: gllightmodeli(gl_light_model_two_side,); uso: glcolormaterial3f(gl_back,... ); glcolormaterial3f(gl_front,... ); glcolormaterial3f(gl_front_and_back,... ); 8
Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient
Computer Graphics Lezione: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Marco Tarini lo Shading I 4 fattori che consideriamo luce finale
DettagliComputer Graphics LIGHTING. (local) Lighting in breve. lo Shading. Baked lighting VS dynamic lighting. Es: equazione di Lighting.
Computer Graphics Lighting in breve Lezione : Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 20/2 Marco arini lo Shading Proprietà del materiale
DettagliGrafica Computazionale
Grafica Computazionale Lab: Lighting &Shading Fabio Ganovelli fabio.ganovelli@gmail.com a.a. 2006-2007 Lighting in OpenGl Diciamo a OpenGL di usare il lighting: glenable(gl_lighting) // da qui in poi glcolorxx
DettagliSempre piu difficile. Pallina che ruota sull anello. Doppio Anello. Rotolamento pallina 2. Rotolamento pallina 1. Aggiungiamo nell ordine
Sempre piu difficile Costruzione di Interfacce Lezione 9 Esercitazione Shading Aggiungiamo nell ordine L anello che e formato da una doppia striscia Una pallina che rotola sull anello L anello che ruota
DettagliLocal Lighting 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine
Local Lighting (recall?) Game Engine Parte del game che si occupa di alcuni dei task comuni Scena / livello Renderer Real time transofrm + lighting Models, materials Physics engine (soft real-time) newtonian
DettagliINFORMATICA GRAFICA. 28 Aprile Trasformazioni - Illuminazione. Michele Antolini
Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 28 Aprile Trasformazioni - Illuminazione michele.antolini@mail.polimi.it Trasformazioni Durante il ridisegno della
DettagliGrafica Computazionale
Grafica Computazionale Lighting Fabio Ganovelli fabio.ganovelli@gmail.com a.a. 2006-2007 Dalle diapositive a corredo del libro: Fondamenti di Grafica Tridimensionale Interattiva R. Scateni, P. Cignoni,
DettagliINFORMATICA GRAFICA!
Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 7 Aprile! Trasformazioni - Illuminazione! Michele Antolini michele.antolini@mail.polimi.it! TRASFORMAZIONI! Trasformazioni!
DettagliINFORMATICA GRAFICA. 4 Maggio Trasformazioni - Illuminazione. Michele Antolini
Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 4 Maggio Trasformazioni - Illuminazione Michele Antolini michele.antolini@mail.polimi.it TRASFORMAZIONI Trasformazioni
DettagliA Steroid Seconda Versione. A Steroid V0.2. Poligoni in OpenGL. Rappresentazione Superfici. Poligoni in OpenGL. Triangle Strip
A Steroid V0.2 Paolo Cignoni cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni A Steroid Seconda Versione Da 2D a 3D uove Classi per memorizzare, caricare, visualizzare una mesh di triangoli Classe
DettagliLIGHTING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING
LIGHTING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING e` una approssimazione del comportamento della luce nel mondo reale permette di visualizzare la scena in modo
DettagliRealtà Virtuale: il presente, il passato, il Shading futuro
Lighting Illuminazione Determinare le caratteristiche della luce che arriva da un punto della scena all occhio di chi la osserva Problema computazionalmente oneroso Fenomeni fisici correlati: Illuminazione
DettagliINFORMATICA GRAFICA SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008
INFORMATICA GRAFICA SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008 CAP 6. Rendering grafico Lighting and Shading Illuminazione Modelli di illuminazione Rendering tenendo conto
DettagliInformatica Grafica. Gianluigi Ciocca, Simone Bianco F1801Q120
Informatica Grafica Gianluigi Ciocca, Simone Bianco F1801Q120 Illuminamento (1) Per decidere l aspetto di una superficie è necessario procedere in due fasi Lighting Determina la componente luminosa che
DettagliLighting. Realtà Virtuale: il presente, il passato, Lighting e il Shading futuro
ighting Illuminazione Determinare le caratteristiche della luce che arriva da un punto della scena all occhio di chi la osserva Problema computazionalmente oneroso Fenomeni fisici correlati: Illuminazione
DettagliGrafica Computazionale
Grafica Computazionale Laboratorio: Le trasformazioni Laboratorio: Il progetto SoftOgl: Software OpenGL Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Obiettivi (oggi) le trasformazioni della
DettagliCorso di GraficaComputazionale
Corso di GraficaComputazionale OpenGL Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università degli Studi di Siena Introduzione Open Graphics Language Libreria C Cross-platform Qualche
DettagliComputer Graphics. Digital representation of 3D objects. 3D Rendering. Scena 3D rendering image. Marco Tarini - univ insubria AA 2016/2017
Computer Graphics Digital representation of 3D objects Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2016/17 Marco Tarini 3D Rendering Scena 3D
DettagliCostruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni. cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.
Costruzione di Interfacce Lezione 4 Sistemi di riferimento e trasformazioni cignoni@iei.pi.cnr.it http://cg.iei.pi.cnr.it/~cignoni Introduzione Punti e ettori sono due cose dierse Basi e sistemi di riferimento
DettagliComputer Graphics. Superfici di suddivisione. Modo molto diffuso per costruire mesh. modelling: superfici di suddivisione
modelling: superfici di suddivisione Modo molto diffuso per costruire mesh 1: fare mesh di controllo a bassa risoluzione "a mano" : raffinarla automaticamente iterativamente (ad ogni interazione si aggiungono
DettagliGrafica al Calcolatore Rasterizzazione - 1. Introduzione
Grafica al Calcolatore Rasterizzazione - 1 Introduzione Grafica al Calcolatore Rasterizzazione - 2 Rasterizzazione Grafica al Calcolatore Rasterizzazione - 3 In sintesi, la rasterizzazione prende un singolo
DettagliCorso di GraficaComputazionale Texturing
Corso di GraficaComputazionale Texturing Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Texturing Il concetto di texturing è importante Si tratta
DettagliIl modello di Phong. Il modello di Phong. Il modello di Phong. Componente emissiva. Componente emissiva
Il modello di Phong Costruzione di Interfacce Lezione 7 Shading cignoni@iei.pi.cnr.it http://vcg.isti.cnr.it/~cignoni In termini matematici un modello di illuminazione viene rappresentato da un equazione
Dettaglima... Computer Graphics Rasterization-based HW-supported rendering Lezione 3: modellare con triangoli Tutto sia composto da triangoli (3D)
Computer Graphics Leione 3: modellare con triangoli Università dell Insubria Facoltà di Sciene MFN di Varese Corso di Laurea in Informatica Anno Accademico 01/13 Rasteriation-based HW-supported rendering
DettagliGrafica Computazionale. Lighting e shading. Fabio Ganovelli a.a
Grafica Comutazionale Lighting e shading Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Lighting: alcuni fattori ALTRA LUCE blocker assorbimento LUCE raggio incidente in ombra trasmissione
DettagliGame Dev Insubria 2014/ /10/2015. Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D
Game Dev 2015/2016 Univ Insubria Scene composite: lo scene graph Marco Tarini Recap: trasformazioni spaziali Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D Es: traslazioni,
DettagliComputer Graphics. Immagine sul Raster Display. Grafica 3D: analogia con fotocamera. La matrice di Pixel è memorizzata nel FRAME BUFFER
Computer Graphics Immagine sul Raster Display Il RASTER è costituito da più SCAN LINES Ogni Scan Line è formata da più PIXEL La matrice di Pixel è memorizzata nel FRAME BUFFER Grafica 3D: analogia con
DettagliComputer Graphics. Se non si vede, che non ci sia CULLING. Notazione. Lo chiamiamo culling se si scartano primitive intere.
Computer Graphics Lezione 6: culling: se c è ma non si vede! Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2010/11 Marco Tarini Se non si vede,
DettagliFondamenti di Grafica 3D Sistemi di riferimento e trasformazioni.
Fondamenti di Grafica D Sistemi di riferimento e trasformazioni paolo.cignoni@isti.cnr.it http://cg.isti.cnr.it/~cignoni Introduzione Punti e ettori sono due cose dierse Basi e sistemi di riferimento (coordinate
DettagliCorso di Tecniche Avanzate per la Grafica Texturing
Corso di Tecniche Avanzate per la Grafica Texturing Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Texturing Il concetto di texturing è importante Si tratta di
DettagliPipeline Rendering. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche.
Pipeline Rendering Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione Trasformazioni geometriche Clipping Rimozione delle superfici nascoste Scan conversion Shading
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics Pipeline di rasterizzazione 13/03/17 Grafica 2017 1 Rasterization pipeline Abbiamo descritto la procedura intuitiva del ray-casting Abbiamo tuttavia già visto
DettagliCorso di Tecniche Avanzate per la Grafica Lighting
Corso di Tecniche Avanzate per la Grafica Lighting Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Interazione Luce-Materia 2 Interazione luce-materia Cosa succede
DettagliCorso Grafica Computazionale
Corso Grafica Computazionale Trasformazioni Geometriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Trasformazioni Geometriche Le trasformazioni
DettagliCorso GraficaComputazionale
Corso GraficaComputazionale Trasformazioni Geometriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Trasformazioni geometriche e matrici
DettagliRendering 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine
Rendering (recall?) Game Engine Parte del game che si occupa di alcuni dei task comuni Scena / livello Renderer Real time transofrm + lighting Models, materials Phsics engine (soft real-time) newtonian
DettagliComputer Graphics. Semitrasparenze: come? Un vecchio trucco di imaging 2D: Quando scrivo un colore nello screen buffer, invece di: eseguo:
Computer Graphics Lezione 14: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2008/09 Marco Tarini 14: alpha blending Un vecchio trucco di imaging
DettagliGrafica Computazionale. Texturing. Fabio Ganovelli a.a
Grafica Computazionale Texturing Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Texture Mapping Nelle operazioni per frammento si può accedere ad una RAM apposita la Texture RAM strutturata
DettagliComputer Graphics. Se non si vede, che non ci sia CULLING. Tipi di Culling. Notazione. Occlusion culling
Computer Graphics Lezione 6: culling: se c è ma non si vede! Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2011/12 Marco Tarini Se non si vede,
DettagliCorso di Grafica Computazionale Texturing
Corso di Grafica Computazionale Texturing Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Texturing Il concetto di texturing è importante Si tratta
DettagliCorso di Grafica Computazionale
Corso di Grafica Computazionale Texturing Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Texturing Il concetto di texturing è importante Si tratta
DettagliGeometria BAER Canale I Esercizi 12
Geometria BAER Canale I Esercizi Alcuni di questi esercizi forse sono un po difficili visto che abbiamo fatto questa parte un po in fretta, ma si può sempre provare. Esercizio. Si scrivano le equazioni
DettagliRicordiamo brevemente come possono essere rappresentate le rette nel piano: 1) mediante un'equazione cartesiana. = ( p 1
Introduzione Nella computer grafica, gli oggetti geometrici sono definiti a partire da un certo numero di elementi di base chiamati primitive grafiche Possono essere punti, rette e segmenti, curve, superfici
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics 9 Tecniche di Mapping 24/11/12 Grafica 2013-9 1 Introduzione Il modello di illuminazione di Phong è abbastanza versatile: con una scelta opportuna dei vari parametri
DettagliModellazione poligonale in Maya
Informatica Grafica ][ Modellazione poligonale in Maya La tecnica di modellazione poligonale permette di costruire oggetti tridimensionali basati su poligoni. Malgrado gli oggetti poligonali siano spigolosi
DettagliDOUBLE BUFFERING. serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING
DOUBLE BUFFERING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni back buffer front buffer
DettagliIntroduzione alla Computer Graphics
Introduzione alla Computer Graphics Informatica Grafica CdLS a ciclo unico in Ingegneria Edile-Architettura a.a. 2008/09 Computer Graphics e Image Processing Image processing Insieme di teorie ed algoritmi
Dettagliupdate Intro Stato Pallina che sembri tale Stato
update Costruzione di Interfacce Lezione 15 Moebius 3 cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni nelle versioni precedenti c era un piccolo bug: in risposta ad un evento resize si faceva anche
DettagliBLENDER LEZIONI DI LABORATORIO
BLENDER LEZIONI DI LABORATORIO Lezione 2 http://www.onlinetutorial.it/2019/creiamoun-bicchiere-con-blender.html Luci e ombre L illuminazione Nel rendering l illuminazione è fondamentale per dare realismo
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics 8 Pipeline di rasterizzazione - 2 12/12/14 Grafica 2014 1 Riepilogo Operazioni geometriche Pixel processing 12/12/14 Grafica 2014 2 Rasterizzazione/scan connversion
DettagliLezione3. Trasformazioni. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano
Lezione3 Informatica Grafica Lezione del 17 Marzo 2010 Dipartimento di Ingegneria Meccanica Politecnico di Milano michele.antolini@mail.polimi.it 3.1 La geometria dell antichità si divide in due per quanto
DettagliInterazione luce - materia
Interazione luce - materia 1 Modelli di illuminazione Il modello di illuminazione descrive l interazione tra la luce e gli oggetti della scena Descrive i fattori che determinano il colore di un punto della
DettagliGrafica al Calcolatore Tecniche di mappatura - 1. Introduzione
Grafica al Calcolatore Tecniche di mappatura - 1 Introduzione Grafica al Calcolatore Tecniche di mappatura - 2 Texture mapping Grafica al Calcolatore Tecniche di mappatura - 3 La texture può essere applicata
DettagliGrafica al calcolatore Computer Graphics
Grafica al calcolatore Computer Graphics 8 Pipeline di rasterizzazione - 2 1 Pipeline grafica Operazioni geometriche Pixel processing 2 Rasterizzazione/scan connversion Con il termine rasterizzazione si
Dettagli1.1 Modello di un Processo di Rendering. Gestore delle Geometrie (Ricostruzione delle Geoemtrie e Clipping)
Capitolo 1 Esercizi sulla Pipeline di Rendering 1.1 Modello di un Processo di Rendering Componenti dell Architettura di Rendering: Processore Bus di Comunicazione Scheda Grafica Moduli della Pipeline di
DettagliLa matematica del CAD. Vettori e Matrici
La matematica del CAD Vettori e Matrici IUAV Disegno Digitale Camillo Trevisan I programmi CAD riducono tutti i problemi geometrici in problemi analitici: la proiezione di un punto su un piano viene, ad
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics 8 Pipeline di rasterizzazione - 2 24/11/12 Grafica 2013 1 Riepilogo Operazioni geometriche Pixel processing 24/11/12 Grafica 2013 2 Rasterizzazione/scan connversion
DettagliMatrici 3x3 Angoli di Eulero Asse + angolo il metodo comunemente usato per es in fisica
Reppresentazioni principali delle rotazioni Matrici 3x3 Angoli di Eulero Asse + angolo il metodo comunemente usato per es in fisica Modo 3: asse e angolo Qualunque rotazione (*) data può essere espressa
Dettagli0) transformazione di modellazione 1) transformazione di vista 2) transformazione di proiezione 3) transformazione di viewport.
Transform object Coordinates ) transformaione di modellaione ) transformaione di vista 2) transformaione di proieione 3) transformaione di viewport - world Coordinates view Coordinates - Clip M a r c o
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics Pipeline di rasterizzazione 29/02/16 Grafica 2015 1 Rasterization pipeline Abbiamo descritto la procedura intuitiva del ray-casting Abbiamo tuttavia già visto
DettagliCaveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico
Sintesi di Immagini Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere
DettagliCaveat. Object e viewer, come tutte le metafore, sono entità non definite rigidamente. La luce fa parte del viewer? Il viewer è anch esso un object?
Sintesi di Immagini Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere
DettagliGrafica e Geometria Computazionale
Grafica e Geometria Computazionale Andrea Torsello e Giuseppe Maggiore DAIS, CdL Informatica Via Torino, 155, Venezia Mestre Slides scaricabili da http://www.dsi.unive.it/~grafica/pls/slides.pdf Cos è
DettagliLinguaggi ed Applicazioni mul1mediali
Università degli Studi di Urbino "Carlo Bo" Linguaggi ed Applicazioni mul1mediali Vectorial Graphics: 03.01- Bézier curves, 03.02- Transformations, 03.03-3D graphics Vectorial Graphics Maurizio Maffi ISTI
DettagliMarco Tarini 10/22/2015
L attributo più comune: la normale Vettore direzione unitario Rappresenta l orientamento della superficie Usato per il lighting A volte, calcolate automaticamente dalla geometria Ma l artista decide quali
DettagliCambio di frame. da XKCD. In realtà tutte le transf. affini lineari si possono vedere come un cambio di frame. Esercizio: transformazione di vista
Cambio di frame da KCD htt://kcd.com/84/ In realtà tutte le transf. affini lineari si ossono vedere come un cambio di frame comrese quelle viste: traslaione scaling (uniforme o no) shearing rotaioni Eserciio:
DettagliProcesso di rendering
Processo di rendering 1 Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione I parametri della vista 3D I sistemi di coordinate 2 I parametri
DettagliGeometria analitica - Esercizi 6
Geometria analitica - Esercizi 6 1. Si studi la conica di equazione 4 5 x2 + 24 5 xy + 11 5 y2 + 5x + 10y + 89 16 = 0, e se ne disegni il grafico. 2. Si studi dal punto di vista affine (senza determinare
DettagliVettori e Transformazioni Spaziali
Game Dev Verona 2014 Rappresentazione Trasformazioni Marco Tarini Vettori e Transformazioni Spaziali Mathematics for 3D Game Progr. and C.G. (3za ed) Eric Lengyel Capitoli 2, 3, 4 1 Intro Vettori n-ple
DettagliRendering I - geometric processing
Rendering I - geometric processing Dove si descrivono i principali metodi di alto livello utilizzati per ottenere una immagine a partire da una descrizione degli oggetti 3D Introduzione Trasformazioni
Dettaglimat4 m, ma, mb ; vec4 v, u; m *= mb ; // come dire: m = m * mb (non mb * m!) u = m * v ; // prodotto matrice-vettore
Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 24/5 Marco Tarini Trasformazioni 3D con three.js Matrici in GLSL mat4 m, ma, mb ; vec4 v, u; m = ma * mb ; // prodotto
DettagliCorso di Grafica Computazionale
Corso di Grafica Computazionale Tecniche avanzate di Illuminazione Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Modello di Illuminazione
DettagliSuperfici Parametriche
Superici Parametriche Curve e Superici parametriche Una mesh poligonale rappresenta una discretizzazione lineare a tratti della supericie Matematicamente, è una supericie lineare a tratti, Piatta sulle
DettagliComputer Graphics. Mesh import. Piano: Let s Import Meshes! Guardiamo dentro la nostra mesh con un plain text editor. 1. Procurarsi alcune mesh
Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2014/15 Marco Tarini Let s Import Meshes! Mesh import Funzioni esistenti (non cambia nulla) Piano: 1. procurarsi
Dettaglix 1 Fig.1 Il punto P = P =
Geometria di R 2 In questo paragrafo discutiamo le proprietà geometriche elementari del piano Per avere a disposizione delle coordinate nel piano, fissiamo un punto, che chiamiamo l origine Scegliamo poi
DettagliCorso di GraficaComputazionale Lighting
Corso di GraficaComputazionale Lighting Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Interazione Luce-Materia 2 Interazione luce-materia Cosa succede
DettagliCorso di Grafica Computazionale
Corso di Grafica Computazionale OpenGL Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università degli Studi di Siena Introduzione Open Graphics Language Libreria C Cross-platform Qualche
DettagliRasterizzazione. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche.
Rasterizzazione Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione Trasformazioni geometriche Clipping Rimozione delle superfici nascoste Scan conversion Shading
DettagliVideogame e rendering 3D. Enrico Colombini (Erix) µhackademy 1 Marzo 2019
Videogame e rendering 3D Enrico Colombini (Erix) µhackademy 1 Marzo 2019 Volete creare un videogame? Strumenti comodi: game engine Editor 3D, componenti Runtime engine (PC, console, mobile) Scripting,
DettagliLa Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica.
La Pipeline Grafica Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione La Pipeline Grafica Spazio vista Spazio 3D-screen Shading Rasterizzazione Rimozione delle facce
DettagliDEFINIZIONE Un vettore (libero) è un ente geometrico rappresentato da un segmento orientato caratterizzato da tre parametri:
DEFINIZIONE Un vettore (libero) è un ente geometrico rappresentato da un segmento orientato caratterizzato da tre parametri: 1. modulo: la lunghezza del segmento 2. direzione: coincidente con la direzione
DettagliMETODI E TECNOLOGIE PER L INSEGNAMETO DELLA MATEMATICA. LEZIONE n 13
METODI E TECNOLOGIE PER L INSEGNAMETO DELLA MATEMATICA LEZIONE n 13 Parte terza TRASFORMAZIONI GEOMETRICHE Dalle indicazioni nazionali: Descrivere, denominare e classificare figure geometriche, identificando
DettagliCenni al rendering di ombre
Cenni al rendering di ombre Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2012/2013 Ombre Componenti fondamentali per aumentare
DettagliGeometria BAER Canale I Esercizi 12
Geometria BAER Canale I Esercizi Esercizio. x = 0 x = Date le rette r : y = t e s : y = t, si verifichi che sono sghembe e si scrivano le equazioni z = t z = t parametriche di una retta r ortogonale ed
DettagliCenni al rendering di ombre
Cenni al rendering di ombre Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Ombre Componenti fondamentali per aumentare
Dettagli(i) Determinare l equazione cartesiana dell unica circonferenza C passante per i tre punti dati.
Universita degli Studi di Roma - "Tor Vergata" - Facolta Ingegneria Edile/Architettura Esercizi per il corso di GEOMETRIA - a.a. 7/8 Docente: Prof. F. Flamini - Tutore: Dott. M. Paganin FOGLIO - Esercizi
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics 7 Pipeline di rasterizzazione 24/11/12 Grafica 2013 1 Rasterization pipeline Sappiamo implementare ray casting (o ray tracing). Abbiamo tuttavia già visto che
DettagliGeometria BAER Canale I Esercizi 11
Geometria BAER Canale I Esercizi Esercizio. Scrivere la matrice delle seguenti trasformazioni ortogonali del piano (a Proiezione ortogonale sulla retta x + y = 0 (b Rotazione di π/4 seguita da riflessione
DettagliCorso di Tecniche Avanzate per la Grafica
Corso di Tecniche Avanzate per la Grafica Tecniche avanzate di Illuminazione Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Overview Modello di Illuminazione di
DettagliCorso di Grafica Computazionale
Corso di Grafica Computazionale Lighting Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Interazione Luce-Materia 2 Interazione luce-materia Cosa
DettagliAnno Accademico DIARIO DEL CORSO SSIS Didattica della matematica per la scuola superiore 1. 9 ottobre 2007
Anno Accademico 2007-2008 DIARIO DEL CORSO SSIS Didattica della matematica per la scuola superiore 1 SILVANO DELLADIO 9 ottobre 2007 Costruzione di Z, Q, R e C, dando per scontato N. Teoria ingenua dei
DettagliCORPO RIGIDO MOMENTO DI UNA FORZA EQUILIBRIO DI UN CORPO RIGIDO CENTRO DI MASSA BARICENTRO
LEZIONE statica-1 CORPO RIGIDO MOMENTO DI UNA FORZA EQUILIBRIO DI UN CORPO RIGIDO CENTRO DI MASSA BARICENTRO GRANDEZZE SCALARI E VETTORIALI: RICHIAMI DUE SONO LE TIPOLOGIE DI GRANDEZZE ESISTENTI IN FISICA
DettagliIntroduzione al Many/Multi-core Computing
Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Outline del corso Introduzione Definizioni Motivazioni Storia Architettura Framework Algoritmica Parte I Introduzione Definizioni
Dettagli