Texture. Tessitura si può considerare come il ves$to dei nostri ogge7 3D. Si tra;a di un array di pixel che vengono adagia?

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Texture. Tessitura si può considerare come il ves$to dei nostri ogge7 3D. Si tra;a di un array di pixel che vengono adagia?"

Transcript

1 Textures

2 Texture Tessitura si può considerare come il ves$to dei nostri ogge7 3D Si tra;a di un array di pixel che vengono adagia? su una superficie Servono ad aumentare il de;aglio della scena

3 Texture Esempio: modellazione di un muro di ma-oni senza texture Il muro è una parete piana...ma è formata in realtà da vari ma;oni dispos? in una certa maniera Possiamo accostare una serie di parallelepipedi rossi secondo lo schema di un muro generico Il risultato sarebbe troppo regolare e pulito per sembrare (almeno un po ) reale In più...i ma;oni sono porosi, non sono parallelepipedi perfe7

4 Texture Esempio: modellazione di un muro con texture Usiamo una parete piana (un re;angolo o un parallelepipedo) Applichiamo (come fosse un poster) una texture presa da un muro reale L immagine verrà distorta corre;amente a seconda del punto di vista

5 Texture mapping Il caso del muro è molto semplice In generale una texture non viene posta su un re;angolo, ma su un poligono o una superficie generica E necessario specificare l algoritmo di texture mapping

6 Textures Fasi da seguire: 1. Creare un ogge;o da texturizzare 2. Specificare una texture per tale ogge;o (texture object) 3. Indicare come deve essere applicata la texture (per ogni pixel) 4. Abilitare il texture mapping 5. Disegnare la scena, fornendo coordinate geometriche e delle texture

7 Texture - Dimensioni Una texture non è necessariamente bidimensionale Esistono texture monodimensionali (linee) o tridimensionali (come le fe;e create da una TAC) Un elemento di una texture spesso si definisce textel (contrazione di texture pixel) Ogni textel può essere definito da uno, due, tre o qua;ro valori a seconda dell interpretazione della texture (ad esempio RGB, RGBA)

8 Texture Ci sono vari modi di applicare il colore di un textel con un frammento di superficie replace: il frammento di superficie viene rimpiazzato dai textel modulate: il colore del frammento di superficie viene usato per modulare/scalare il colore del textel blend: il colore del frammento è mescolato al textel

9 Texture - Abilitazione Per abilitare o disabilitare le textures si usano le consuete funzioni glenable() e gldisable() con argomento una tra le seguen? costan?: GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP

10 Texture e texture coordinate Prima di applicare una texture bisogna definire come viene incollata sull ogge;o Una texture bidimensionale ha una coppia di coordinate il cui range è (0.0, 1.0) in entrambe le direzioni le coordinate della texture sono (0.0,0.0), (0.0,1.0), (1.0,0.0), (1.0,1.0) per i qua;ro ver?ci di un muro (ad esempio) Una texture può essere ripetuta, in tal caso: le coordinate della texture non sono sono più le stesse per i ver?ci esterni del muro, ma sono scalate in base al numero di ripe?zioni necessarie Bisogna specificare il comportamento della texture quando le sue coordinate escono dal range (0.0, 1.0) Le texture devono essere affiancabili (vincolo necessario solo per finalità este?che)

11 Texture Wrapping: CLAMP vs REPEAT

12 Texture Filtering Durante il processo di texture mapping, avviene il texture lookup, ovvero la ricerca di quale textel associare ad un pixel. Non sempre c è una corrispondenza esa;a. Possono essere genera? artefa7 sia quando un textel deve essere spalmato su più pixel (magnifica?on) e sia quando più textel devono essere associa? ad un pixel (minifyca?on)

13 Texture - MipMap MipMap sta per multum in parvo (mol? in un piccolo spazio) Perme;e di memorizzare diverse versioni di una texture, a seconda del livello di de7aglio che si vuole o;enere (es. a seconda della risoluzione o della distanza) OpenGL sceglierà automa?camente la texture da u?lizzare

14 Tipologie di Texture Filtering Nearest- neighbor interpola?on Nearest- neighbor with mipmapping Bilinear Filtering Trilinear Filtering

15 Esempio di trilinear Filtering

16 Texture - Esempio In questo esempio viene creata una scacchiera, generando un array 2D tramite codice" /*!Create checkerboard texture!*/" #define!checkimagewidth 64" #define!checkimageheight 64" static GLubyte checkimage[checkimageheight][checkimagewidth][4];" void makecheckimage(void)" {" int i, j, c;" for (i = 0; i < checkimageheight; i++) {" for (j = 0; j < checkimagewidth; j++) {" c = ((((i&0x8)==0)^((j&0x8))==0))*255;" checkimage[i][j][0] = (GLubyte) c;" checkimage[i][j][1] = (GLubyte) c;" checkimage[i][j][2] = (GLubyte) c;" checkimage[i][j][3] = (GLubyte) 255;" }" }" }

17 Texture - Esempio Allʼinterno della init() si definiscono i parametri della texture, che viene alla fine caricata nella memoria della scheda video" Gluint texname;" void init(void) {" glclearcolor (0.0, 0.0, 0.0, 0.0);" glshademodel(gl_flat);" glenable(gl_depth_test);" makecheckimage();" glgentextures(1, &texname);! glbindtexture(gl_texture_2d, texname);! glpixelstorei(gl_unpack_alignment, 1);" gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_REPEAT);" gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_REPEAT);" gltexparameteri(gl_texture_2d, GL_TEXTURE_MAG_FILTER, GL_NEAREST);" gltexparameteri(gl_texture_2d, GL_TEXTURE_MIN_FILTER, GL_NEAREST);" glteximage2d(gl_texture_2d, 0, 4, checkimagewidth, checkimageheight," 0, GL_RGBA, GL_UNSIGNED_BYTE, checkimage);" }

18 Texture - Esempio glgentextures( 1, &texname ); richiede di creare un ogge;o texture glbindtexture( GL_TEXTURE_2D, texname); Imposta la texture a7va, definita come bidimensionale glpixelstorei( GL_UNPACK_ALIGNMENT, 1 ); Definisce la dimensione dei da? dell array. In questo caso si tra;a di un array di byte. Valori possibili: 1,4,8

19 Texture - Esempio gltexparameteri() GL_TEXTURE_2D: si riferisce alla dimensione della texture GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T: impostano il comportamento di ripe?zione della texture GL_CLAMP (no ripe?zione), GL_REPEAT (ripe?zione) GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_FILTER: imposta come la texture deve essere scalata (MAGNIFIED o MINIMIZED) se l area non corrisponde a quella della des?nazione GL_NEAREST (punto più vicino), GL_LINEAR (interpolazione lineare) glteximage2d() Copia i da? della texture nella memoria della scheda video

20 Texture - Esempio glteximage2d() Copia i da? della texture nella memoria della scheda video! glteximage2d("!! GL_TEXTURE_2D,!//target"!! 0,!!//level of detail 0-n"!! 4,!!//number of color components"!! checkimagewidth, //width"!! checkimageheight, //height" 0,!!//border width 0 or 1"!! GL_RGBA,!!//format of pixel data"!! GL_UNSIGNED_BYTE,!//type of pixel data"!! checkimage!//pixel data"! );"

21 Display()" Texture - Esempio void display(void)" {" glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT);" glenable(gl_texture_2d);" glbindtexture(gl_texture_2d, texture);! " gltexenvf(gl_texture_env, GL_TEXTURE_ENV_MODE, GL_DECAL);" glbegin(gl_quads);" gltexcoord2f(0.0, 0.0); glvertex3f(-2.0, -1.0, 0.0);" gltexcoord2f(0.0, 3.0); glvertex3f(-2.0, 1.0, 0.0);" gltexcoord2f(3.0, 3.0); glvertex3f(0.0, 1.0, 0.0);" gltexcoord2f(3.0, 0.0); glvertex3f(0.0, -1.0, 0.0);" gltexcoord2f(0.0, 0.0); glvertex3f(1.0, -1.0, 0.0);" gltexcoord2f(0.0, 3.0); glvertex3f(1.0, 1.0, 0.0);" gltexcoord2f(3.0, 3.0); glvertex3f( , 1.0, );" gltexcoord2f(3.0, 0.0); glvertex3f( , -1.0, );" glend();" glflush();" gldisable(gl_texture_2d);" }

22 Texture - Esempio GL_TEXTURE_ENV:Imposta la modalità con cui la texture viene messa sulla superficie Modalità possibili: GL_ADD, GL_MODULATE, GL_DECAL, GL_BLEND, GL_REPLACE, GL_COMBINE Texture Func?on GL_REPLACE Arg0 GL_MODULATE Arg0 Arg1 GL_ADD Arg0 + Arg1 GL_ADD_SIGNED Arg0 + Arg1-0.5 GL_INTERPOLATE Arg0 Arg2 + Arg1 1 - Arg2 GL_SUBTRACT Arg0 - Arg1

23 Texture - Esempio glbindtexture( GL_TEXTURE_2D, texname ) Imposta la texture a7va gltexcoord*() Imposta le coordinate della texture per il ver?ce successivo Valori > 1.0 indicano una scalatura e una eventuale ripe?zione a seconda del valore dei parametri GL_TEXTURE_WRAP_S oppure T

24 keyboard callback" Texture - Esempio void keyboard (unsigned char key, int x, int y)" {" switch (key) {" case 's':" gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_CLAMP);" glutpostredisplay();" break;" case 'S':" gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_S, GL_REPEAT);" glutpostredisplay();" break;" case 't':" gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_CLAMP);" glutpostredisplay();" break;" case 'T':" gltexparameteri(gl_texture_2d, GL_TEXTURE_WRAP_T, GL_REPEAT);" glutpostredisplay();" break;" default:" break;" }" }

25 Texture - Subimage E possibile aggiungere altre texture sopra quelle già definite gltexsubimage2d( GL_TEXTURE_2D, //?po di texture 0, //livello di de;aglio 12, //offset x 44, //offset y subimagewidth, subimageheight, GL_RGBA, GL_UNSIGNED_BYTE, //?po di da? subimage ); //array textel //formato textel

26 Texture Caricamento file immagine OpenGL non ges?sce forma? di file compressi (JPG, GIF, TGA, PNG...) La le;ura (e la conversione in array) vanno effe;uate con estensioni di OpenGL o librerie esterne Esistono le funzioni glcompressedteximage*d ma l implementazione dipende da come è implementata la libreria OpenGL locale

27 Texture Caricamento file immagine Un possibile soluzione è Aprire/creare un immagine con GIMP Salvarla come C source Non selezionare Use Glib types A7vare/disa7vare l alpha channel a seconda del caso, ma usare GL_RGB o GL_RGBA di conseguenza! Rinominare il file come.h ed includerlo nel proge;o Viene creata una stru;ura che con?ene dimensione e da? dell immagine Inserire i valori corre7 nella glteximage2 gimp_image.width, gimp_image.height gimp_image.pixel_data

28 Texture Caricamento file immagine In alterna?va, u?lizzare librerie come DevIL h;p://openil.sourceforge.net/ SOIL

29 Environment Mapping Il realismo può essere migliorato simulando effe7 di luce risultan? da inter- riflessioni tra ogge7 grazie alle texture. Il termine Environment Mapping descrive una tecnica di texturizzazione usata per simulare le influenze dell ambiente circostante su un ogge;o. Le tecniche di environment mapping, come tu;e le tecniche di texturing, cambiano l apparenza di un ogge;o applicando una texture sulla superficie. Una texture per l environment map prende in considerazione le viste dell ambiente che circonda l ogge;o da texturizzare. Se l ogge;o ha una superficie ad alta specularità, la texture mostrerà gli ogge7 circostan? riflessi dalla superficie. Gli ogge7 a bassa specularità verranno testurizza? con una immagine che approssima la radianza dell ambiente

30 Texture Sphere mapping Lo sphere mapping mappare una superficie sferica su un ogge;o. OpenGL fornisce delle subrou?ne che consentono di generare in automa?co le texture coordinate. " " Esempio:" gltexgeni(gl_s, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);!!!// Set Up Sphere Mapping" gltexgeni(gl_t, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP);!!!// Set Up Sphere Mapping"

31 Texture Cube mapping Simile allo sphere mapping, ma perme;e di impostare sei texture differen? (una per ogni faccia di un cubo) h;p:// lohmueller.de/pov_tut/tex/tex_790i.htm

32 Texture Cube mapping Chiamate successive alla glteximage2d, con primo argomento: GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT Abilitare/Disabilitare cube mapping: glenable(gl_texture_cube_map_ext); gldisable(gl_texture_cube_map_ext); h;p:// lohmueller.de/pov_tut/tex/tex_790i.htm

33 Cube mapping Questo esempio imposta in modo sinte?co le sei texture per il cube mapping (ordine delle texture nell array: x+, x-, y+, y-, z+, z- ) GLubyte face[6][64][64][3]; for (i=0; i<6; i++) { glteximage2d(gl_texture_cube_map_positive_x_ext + i, 0, //level GL_RGB8, //internal format 64, //width 64, //height 0, //border GL_RGB, //format GL_UNSIGNED_BYTE, //type &face[i][0][0][0]); // pixel data } h;p://

INFORMATICA GRAFICA. 19 Maggio Texture. Michele Antolini

INFORMATICA GRAFICA. 19 Maggio Texture. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 19 Maggio Texture michele.antolini@mail.polimi.it Texture Tessitura si può considerare come il vestito dei nostri

Dettagli

INFORMATICA GRAFICA!

INFORMATICA GRAFICA! Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 13 Maggio! Texture! Michele Antolini michele.antolini@mail.polimi.it! Texture! Tessitura si può considerare come

Dettagli

Computer Graphics. Memoria RAM nelle schede grafiche. Texture Mapping: paradigma di memoria. Concetto. Tessiture: Caso più comune.

Computer Graphics. Memoria RAM nelle schede grafiche. Texture Mapping: paradigma di memoria. Concetto. Tessiture: Caso più comune. Computer Graphics Memoria RAM nelle schede grafiche Lezione 3: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 202/3 molti dettagli a poco prezzo:

Dettagli

Introduzione SOMMARIO

Introduzione SOMMARIO SOMMARIO Introduzione alle librerie grafiche e a OpenGL Implementazioni hw e sw e supporto multipiattaforma Esempi di programma con OpenGL Sistemi di coordinate 2D e 3D Proiezioni Primitive 3D Pipeline

Dettagli

Corso di GraficaComputazionale

Corso 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

Dettagli

Il texture fetch (o: texture lookup) Operazione molto semplice in GLSL, es: e si memorizza le coord texture (s,t) per ogni vertice

Il texture fetch (o: texture lookup) Operazione molto semplice in GLSL, es: e si memorizza le coord texture (s,t) per ogni vertice e si memorizza le coord texture (s,t) per ogni vertice Index Buffer Verex Buffer s 0 t 0 s t s t coord texture per ogni vertice Vertici in obj. space + attributi s t vertex shader pass down di ( s, t )

Dettagli

Texture Mapping. Texture Mapping. Coordinate di texture. Esempi. Coordinate Texture

Texture Mapping. Texture Mapping. Coordinate di texture. Esempi. Coordinate Texture Texture Mapping Cotruzione di Interfacce Lezione 9 Texturing cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Data un immagine bidimenionale (ad e. una immagine fotografica cannerizzata) viene ritagliata,

Dettagli

Corso di Tecniche Avanzate per la Grafica Texturing

Corso 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

Dettagli

Bump Mapping & Under-Water Effects. Dott. Stefano Tubini

Bump Mapping & Under-Water Effects. Dott. Stefano Tubini Bump Mapping & Under-Water Effects Dott. Stefano Tubini Bump Mapping Il bump mapping è un metodo per simulare superfici scabrose, con rilievi, con textures bidimensionali. Per esempio: se realizziamo un

Dettagli

Texture Mapping. Texture Mapping. Coordinate di texture. Esempi. Coordinate Texture

Texture Mapping. Texture Mapping. Coordinate di texture. Esempi. Coordinate Texture Texture Mapping Cotruzione di Interfacce Lezione 22 Texturing cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Data un immagine bidimenionale (ad e. una foto) viene ritagliata, tirata o comprea

Dettagli

Corso di Grafica Computazionale

Corso 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

Dettagli

Corso di Grafica Computazionale Texturing

Corso 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

Dettagli

Corso di Grafica Computazionale

Corso 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

Dettagli

Corso di GraficaComputazionale Texturing

Corso 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

Dettagli

Texture Mapping Realtà Virtuale: il presente, il pass T a e t x o u, r i e l f M u a t p u pi ro ng

Texture Mapping Realtà Virtuale: il presente, il pass T a e t x o u, r i e l f M u a t p u pi ro ng Texture Mapping Texture Mapping Texture coordinates associate ai vertici del triangolo =>> t corrispondenza tra spazio dello schemo (fragment)) e texture-space space. Colore di ogni pixel determinato in

Dettagli

Corso di grafica 3D con C++ e OpenGL. Alessandro Bugatti ITIS B. Castelli

Corso di grafica 3D con C++ e OpenGL. Alessandro Bugatti ITIS B. Castelli Corso di grafica 3D con C++ e OpenGL Utilizzo di quadriche Una quadrica in 3D è ogni superficie rappresentata da un'equazione polinomiale del secondo ordine nelle variabili spaziali (coordinate). Esempi

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica 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

Dettagli

WEBGL FOR DUMMIES [PARTE SETTE]: USO DELLE TEXTURE

WEBGL FOR DUMMIES [PARTE SETTE]: USO DELLE TEXTURE WEBGL FOR DUMMIES [PARTE SETTE]: USO DELLE TEXTURE Per dare infatti più realismo alla scena e contemporaneamente arricchirla, una pratica molto usata è quella di "incollare" sulle nostre superfici delle

Dettagli

DOUBLE BUFFERING. serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING

DOUBLE 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

Dettagli

Texture mapping. Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica a.a. 2014/2015

Texture mapping. Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica a.a. 2014/2015 Texture mapping Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica a.a. 2014/2015 Texturing Modifica dell'apparenza di una superficie Tramite informazioni

Dettagli

Corso di Tecniche Avanzate per la Grafica

Corso di Tecniche Avanzate per la Grafica Corso di Tecniche Avanzate per la Grafica Render-to-texture Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Overview Render-to-texture glreadpixels(...), gldrawpixels(...)

Dettagli

Grafica al Calcolatore Tecniche di mappatura - 1. Introduzione

Grafica 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

Dettagli

Grafica Computazionale. Texturing. Fabio Ganovelli a.a

Grafica 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

Dettagli

LEZIONI DI LABORATORIO. Texture mapping (1)

LEZIONI DI LABORATORIO. Texture mapping (1) BLENDER LEZIONI DI LABORATORIO Texture mapping (1) Utilizzo di texture per effetti più realistici. Ottenibili con: Procedure (mediante formule matematiche) Senza procedure (con immagini, video, mappe ecc)

Dettagli

Modelli per i materiali

Modelli per i materiali Texture mapping 1 Modelli per i materiali Il realismo visivo può essere ottenuto mediante i modelli di illuminazione e dei materiali Per modellare i materiali si possono utilizzare delle immagini dette

Dettagli

BLENDER LEZIONI DI LABORATORIO

BLENDER LEZIONI DI LABORATORIO BLENDER LEZIONI DI LABORATORIO Texture mapping (1) Utilizzo di texture per effetti più realistici. Ottenibili con: Procedure (mediante formule matematiche) Senza procedure 8con immagini, video, mappe ecc)

Dettagli

INFORMATICA GRAFICA. 12 Maggio Display lists, blending, fog. Michele Antolini

INFORMATICA GRAFICA. 12 Maggio Display lists, blending, fog. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 12 Maggio Display lists, blending, fog michele.antolini@mail.polimi.it BLENDING Blending Il blending (letteralmente

Dettagli

UNIVERSITÀ DEGLI STUDI DI PARMA

UNIVERSITÀ DEGLI STUDI DI PARMA UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA VISUALIZZAZIONE IN GRAFICA 3D DI RIFLESSIONI DINAMICHE MEDIANTE ENVIRONMENT MAPPING Relatore Chiar.mo Prof.

Dettagli

Grafica al calcolatore Computer Graphics

Grafica al calcolatore Computer Graphics Grafica al calcolatore Computer Graphics 9 Tecniche di Mapping 1 Introduzione Il modello di illuminazione di Phong è abbastanza versatile: con una scelta opportuna dei vari parametri si possono imitare

Dettagli

Computer Graphics. Immagine sul Raster Display. Grafica 3D: analogia con fotocamera. La matrice di Pixel è memorizzata nel FRAME BUFFER

Computer 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

Dettagli

Introduzione. Collision Detection. Collision Detection: Livello 1. Approssimare! Vincolare!

Introduzione. Collision Detection. Collision Detection: Livello 1. Approssimare! Vincolare! Introduzione Costruzione di Interfacce Lezione 29 Avanzi Collision Detection Stencil buffer Rendering to texture Fractal Terrains cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni 13 Dicembre 2002

Dettagli

INFORMATICA GRAFICA!

INFORMATICA GRAFICA! Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 18 Maggio! Vertex array, VBO, Display lists! Michele Antolini michele.antolini@mail.polimi.it! Prestazioni! Abbiamo

Dettagli

OpenGL effects. Texture Mapping. La fase di texture mapping serve a conferire maggiore realismo agli oggetti della scena 3D.

OpenGL effects. Texture Mapping. La fase di texture mapping serve a conferire maggiore realismo agli oggetti della scena 3D. Texture Mappin La fase di texture mappin serve a conferire maiore realismo ali oetti della scena 3D. Richiede molte risorse di calcolo specie se il modello eometrico è particolarmente complesso. ampi di

Dettagli

Aggiornamento o modifica di un DEM con l'ausilio di QGIS

Aggiornamento o modifica di un DEM con l'ausilio di QGIS Documento interno al servizio dott. Ruggero Valentinotti. ing. Diego Moar 01/03/2016 Aggiornamento o modifica di un DEM con l'ausilio di QGIS Il presente documento illustra come procedere per modificare

Dettagli

Modulo 1: Le I.C.T. UD 1.3a: La Codifica Digitale delle Immagini

Modulo 1: Le I.C.T. UD 1.3a: La Codifica Digitale delle Immagini Modulo 1: Le I.C.T. : La Codifica Digitale delle Immagini Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno

Dettagli

La codifica delle immagini: Pixel. 1.3a: La Codifica Digitale delle Immagini. Bibliografia

La codifica delle immagini: Pixel. 1.3a: La Codifica Digitale delle Immagini. Bibliografia Prof. Alberto Postiglione Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Informatica Generale (Laurea in Scienze della Comunicazione) Sistemi Complessi (Laurea

Dettagli

Modellazione poligonale in Maya

Modellazione 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

Dettagli

Capitolo 6 Interazione luce-materia

Capitolo 6 Interazione luce-materia Capitolo 6 Interazione luce-materia Modelli di illuminazione Modello di illuminazione: formulazione matematica dell equazione del trasporto dell energia luminosa L equazione che risolve questo problema:

Dettagli

Esercizio 1. Tavola ordinata in memoria centrale

Esercizio 1. Tavola ordinata in memoria centrale Esercizio 1. Tavola ordinata in memoria centrale E dato un programma che realizza una rubrica telefonica come tavola in memoria centrale. In particolare, ogni elemento della tavola è caratterizzato dalle

Dettagli

1.3a: La Codifica Digitale delle Immagini

1.3a: La Codifica Digitale delle Immagini Prof. Alberto Postiglione Scienze della e Facoltà di Lettere e Filosofia Università degli Studi di Salerno 1.3a: La Codifica Digitale delle Immagini Informatica Generale (Laurea in Scienze della e) Sistemi

Dettagli

Le texture. Le texture. Informatica Grafica ][ Le texture. Le texture. Le texture. Le texture

Le texture. Le texture. Informatica Grafica ][ Le texture. Le texture. Le texture. Le texture Informatica Grafica ][ Come visto nel corso di IG1, le texture peremttono di applicare immagini sulle superfici di oggetti tridimensionali. Nella grafica in tempo reale esse assumono un'importanza ancora

Dettagli

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura: Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata

Dettagli

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B

Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Università di Ferrara Dipartimento di Ingegneria Esercitazioni di FONDAMENTI DI INFORMATICA MODULO B Tutor Arnaud Nguembang Fadja: ngmrnd@unife.it Damiano Azzolini: damiano.azzolini@student.unife.it Esercizio

Dettagli

BufferedImage: immagine gestita completamente in RAM Raster: gestione dei dati che formano l'immagine:

BufferedImage: immagine gestita completamente in RAM Raster: gestione dei dati che formano l'immagine: Immagini in Java BufferedImage Raster ColorModel SampleModel DataBuffer ColorSpace Bande e pixel BufferedImage: immagine gestita completamente in RAM Raster: gestione dei dati che formano l'immagine: DataBuffer:

Dettagli

Montaggio e post-produzione

Montaggio e post-produzione Informatica Grafica I Montaggio e post-produzione Una volta creata un'animazione, occorre eseguirne il rendering per crearne un filmato. Il procedimento e' simile al rendering di immagini statiche, ma

Dettagli

Primi programmi in C

Primi programmi in C Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma

Dettagli

Materiali avanzati. Informatica Grafica I. Riflessioni e trasparenze. Raytracing. Raytracing. Raytracing. Raytracing

Materiali avanzati. Informatica Grafica I. Riflessioni e trasparenze. Raytracing. Raytracing. Raytracing. Raytracing Informatica Grafica I Materiali avanzati Marco Gribaudo marcog@di.unito.it Molti degli oggetti modellabili sono costituiti da superfici trasparenti o riflettenti. I materiali Raytrace permettono di impostare

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Image-based rendering Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Image-based Rendering L idea base è utilizzare

Dettagli

Fogli Elettronici: MS Excel

Fogli Elettronici: MS Excel Fogli Elettronici: MS Excel Foglio Elettronico Un foglio elettronico (o spreadsheet) è un software applicativo nato dall esigenza di: organizzare insiemi di dati tramite tabelle, schemi, grafici, etc.

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Effetti avanzati con le texture

Effetti avanzati con le texture Informatica Grafica per le arti Effetti avanzati con le texture Usi avanzati delle texture La ricerca nella grafica 3D in tempo reale, ha prodotto numerose tecniche che sfruttano speciali texture per accelerare

Dettagli

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico

Caveat. 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

Dettagli

Caveat. Object e viewer, come tutte le metafore, sono entità non definite rigidamente. La luce fa parte del viewer? Il viewer è anch esso un object?

Caveat. 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

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Image-based rendering Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Image-based Rendering L idea base è utilizzare

Dettagli

FIL I Puntatori. Michele Nappi biplab.unisa.it. 15/12/2014 M. Nappi/FIL 1

FIL I Puntatori. Michele Nappi biplab.unisa.it. 15/12/2014 M. Nappi/FIL 1 FIL I Puntatori Michele Nappi mnappi@unisa.it biplab.unisa.it 15/12/2014 M. Nappi/FIL 1 Introduzione I puntatori Una delle caratteristiche più potenti del C, ma difficile da padroneggiare Si usano per

Dettagli

Il linguaggio C. Istruzioni, funzioni, dati strutturati

Il linguaggio C. Istruzioni, funzioni, dati strutturati Il linguaggio C Istruzioni, funzioni, dati strutturati Istruzioni Servono a dirigere il flusso di esecuzione di un programma controllano l ordine di esecuzione delle espressioni, quindi dei loro side effects

Dettagli

Linguaggi di Programmazione I Lezione 10

Linguaggi di Programmazione I Lezione 10 Linguaggi di Programmazione I Lezione 10 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 8 maggio 2008 Array 3 Dichiarazione...........................................................

Dettagli

Il TDA Map. Tabelle hash

Il TDA Map. Tabelle hash Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale

Dettagli

Definizione informale. Il TDA Map memorizza coppie formate da una chiave k e da un valore v. La coppia è chiamata entry. Ogni chiave deve essere unica

Definizione informale. Il TDA Map memorizza coppie formate da una chiave k e da un valore v. La coppia è chiamata entry. Ogni chiave deve essere unica Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale

Dettagli

Il TDA Map. Definizione informale. I metodi del TDA Map 2. I metodi del TDA Map 1. Interfaccia Map 1 NO_SUCH_KEY. Tabelle hash

Il TDA Map. Definizione informale. I metodi del TDA Map 2. I metodi del TDA Map 1. Interfaccia Map 1 NO_SUCH_KEY. Tabelle hash Il TDA Map Tabelle hash Definizione informale Il TDA Map memorizza coppie formate da una chiave k e da un valore v La coppia è chiamata entry Ogni chiave deve essere unica Questa è la differenza principale

Dettagli

Esercitazione Google Maps

Esercitazione Google Maps Esercitazione Google Maps Esercizio 1 Visualizzare i risultati della API comuni.php su una mappa geografica. Soluzione Come prima cosa, occorre creare una chiave di utilizzo della libreria Google Maps.

Dettagli

Codifica delle immagini

Codifica delle immagini Codifica delle immagini Pixel = picture element Codifica delle immagini 1 1 1 1 1 1 1 1 2 3 4 5 6 7 22 23 24 25 26 27 28 15 16 17 18 19 2 21 8 9 1 11 12 13 14 Codifica delle immagini 1111111 zz Codifica

Dettagli

INFORMATICA GRAFICA. 28 Aprile Trasformazioni - Illuminazione. Michele Antolini

INFORMATICA 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

Dettagli

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base Texture mapping Davide Gadia, Daniele Marini Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Livello di approfondimento della lezione

Dettagli

Normal maps: come si ottengono (2/4)

Normal maps: come si ottengono (2/4) Normal maps: come si ottengono (2/4) Photometric Stereo (una forma di inverse lighting ) da: N immagini (N>=4) reali Stesso punto di vista Illuminazione diversa (possibilmente, controllata e nota) a Normal

Dettagli

Le strutture. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA

Le strutture. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I" Prof. Franco FRATTOLILLO Dipartimento di Ingegneria Università degli Studi del Sannio Le strutture

Dettagli

Grafica al calcolatore Computer Graphics

Grafica al calcolatore Computer Graphics Grafica al calcolatore Computer Graphics 8 Tecniche di Mapping 1 Introduzione Il modello di illuminazione di Phong è abbastanza versatile: con una scelta opportuna dei vari parametri si possono imitare

Dettagli

Le texture. Le texture. Le texture. Le texture. Le texture

Le texture. Le texture. Le texture. Le texture. Le texture Le texture Per rendere realistici gli oggetti modellati occorre definire accuratamente l'aspetto delle loro superfici. Il modo piu' semplice consiste nel sovrapporre immagini alle superfici. Queste immagini

Dettagli

Materiali avanzati. Informatica Grafica per le arti. Raytracing. Raytracing. Raytracing. Raytracing. Raytracing

Materiali avanzati. Informatica Grafica per le arti. Raytracing. Raytracing. Raytracing. Raytracing. Raytracing Informatica Grafica per le arti Materiali avanzati Marco Gribaudo marcog@di.unito.it Molti degli oggetti modellabili sono costituiti da superfici trasparenti o riflettenti. I materiali Raytrace permettono

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

OpenGL: Textures & Models collection di Federico NinjaCross Coletto

OpenGL: Textures & Models collection di Federico NinjaCross Coletto OpenGL: Textures & Models collection di Federico NinjaCross Coletto Il periodico appuntamento con le OGL prosegue, e a passi decisi l obiettivo finale di realizzare un engine 3D completo si avvicina sempre

Dettagli

GY-LS300 File 3D-LUT per J-Log1 Manuale di istruzioni Per Premiere Pro CC. Versione 1.01

GY-LS300 File 3D-LUT per J-Log1 Manuale di istruzioni Per Premiere Pro CC. Versione 1.01 GY-LS300 File 3D-LUT per J-Log1 Manuale di istruzioni Per Premiere Pro CC Versione 1.01 Gennaio 15, 2015 1 Indice 1. File JVC 3D LUT per GY-LS300 2. Come usare 3D-LUT con Premiere Pro CC 3. Esempio di

Dettagli

Computer Graphics. Realtà Virtuale: il presente, il passato, 3D il Graphics futuro

Computer Graphics. Realtà Virtuale: il presente, il passato, 3D il Graphics futuro 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 Un unico frame buffer porterebbe

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Sempre piu difficile. Pallina che ruota sull anello. Doppio Anello. Rotolamento pallina 2. Rotolamento pallina 1. Aggiungiamo nell ordine

Sempre 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

Dettagli

Il linguaggio C. Notate che...

Il linguaggio C. Notate che... Il linguaggio C Notate che... 1 Il C è un linguaggio a blocchi int main (void) { blocco } 2 Il C è un linguaggio a blocchi (2) Non è possibile mischiare dichiarazioni e comandi! int main (void) { } Dichiarazione

Dettagli

Variabili e Funzioni. Informatica 1 / 19

Variabili e Funzioni. Informatica 1 / 19 Variabili e Funzioni Informatica 1 / 19 Programmi C e Un programma C e composto da funzioni e variabili Variabile: memorizza valori appartenenti ad un insieme di definizione (dipendente dal tipo) Funzione:

Dettagli

PROVA SCRITTA 23 MARZO 2010

PROVA SCRITTA 23 MARZO 2010 PROVA SCRITTA 23 MARZO 2010 In un file binario, MY_FILE.DAT, si memorizzano per ciascuno studente universitario: nome e cognome (stringhe, 20 char), matricola (intero), codice del corso di laurea (stringa

Dettagli

Computer 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. 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

Dettagli

Grafica computazionale

Grafica computazionale Grafica computazionale Lezione 4 (slide parzialmente basate su Computer Graphics - MIT Opencourseware Grafica Computazionale - Massimiliano Corsini Università di Siena) 1 Textures Riviste Abbiamo visto

Dettagli

Introduzione alle stringhe e algoritmi collegati

Introduzione alle stringhe e algoritmi collegati Introduzione alle stringhe e algoritmi collegati Algoritmicamente August 15, 2009 1 Introduzione 1.1 Introduzione ai caratteri In informatica o più generalmente in una terminologia scientifica, il carattere

Dettagli

Passare argomenti al programma

Passare argomenti al programma Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di

Dettagli

Elementi Finiti: Analisi Strutturale.

Elementi Finiti: Analisi Strutturale. Elementi Finiti: Analisi Strutturale carmelo.demaria@centropiaggio.unipi.it Obie4vi Introduzione elementare al metodo degli elemen8 fini8 Analisi Termica Analisi Stru>urale Analisi Fluidodinamica U8lizzo

Dettagli

Formati e compressioni

Formati e compressioni Sistemi Multimediali Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Formati e compressioni Anche se in memoria le immagini vengono quasi sempre memorizzate come una sequenza di colori RGB,

Dettagli

Capitolo 10 - Strutture

Capitolo 10 - Strutture 1 Capitolo 10 - Strutture Strutture In molte situazioni, una variabile non è sufficiente per descrivere un oggetto. Ad esempio, una posizione sul piano cartesiano è identificata da due coordinate, e la

Dettagli

Guida a Getrix: Indice Multimedia Planimetria

Guida a Getrix: Indice Multimedia Planimetria Guida a Getrix: Indice Multimedia Planimetria Multimedia - PLANIMETRIA: Crea Modifica Cancella Ottieni URL (Multimedia Planimetria) pag. 2 - Creare una Planimetria: Costruzione (Multimedia Planimetria

Dettagli

Autodesk Map parte II topologie

Autodesk Map parte II topologie Autodesk Map parte II topologie Marco Negretti e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it V 5.1 15/10/2008 Definizione delle Topologie La topologia descrive le modalità di connessione

Dettagli

Metodologie Informatiche Applicate al Turismo

Metodologie Informatiche Applicate al Turismo Metodologie Informatiche Applicate al Turismo Esercitazione con HTML 5 - Video e Grafica Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.

Strutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami. Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Caratteri Dato che un computer può memorizzare esclusivamente sequenze di bit, per memorizzare un carattere (e quindi testi) è necessario stabilire una convenzione che associa a un

Dettagli

Il linguaggio C. Puntatori e dintorni

Il linguaggio C. Puntatori e dintorni Il linguaggio C Puntatori e dintorni 1 Puntatori : idea di base In C è possibile conoscere e denotare l indirizzo della cella di memoria in cui è memorizzata una variabile (il puntatore) es : int a = 50;

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

HTML 3. Liste puntate ed ordinate Immagini

HTML 3. Liste puntate ed ordinate Immagini HTML 3 Liste puntate ed ordinate Immagini Creazione di elenchi Elenchi puntati (elenchi non ordinati) Elenchi numerati (elenchi ordinati) Elenchi annidati Elenchi menu Elenchi glossario Tecnologie di Sviluppo

Dettagli