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



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

Realizzazione di un semplice programma di Painting

Le ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale

Modelli per i materiali

SOMMARIO. Introduzione - OpenInventor. Introduzione - OpenInventor. OpenInventor

Punto Print Il programma per stampare. Documentazione Tecnica

3DE Modeling Color. E il modulo che si occupa della costruzione di modelli 3D con tessitura a colori.

Plate Locator Riconoscimento Automatico di Targhe

PROGRAMMAZIONE DELLE CONSEGNE DI GNL E DELLA RIGASSIFICAZIONE

Funzioni composte pag 1 Adolfo Scimone

2 - Modifica Annulla ANNULLA TOPOGRAFICO ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1

Il rendering fotorealistico. Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

IMMAGINE BITMAP E VETTORIALI

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

Open Source 3D Engine. OpenGL Rendering System. Il Framework

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

MANUALE PARCELLA FACILE PLUS INDICE

Le texture. Informatica Grafica I. Le texture. Le texture. Le texture. Le texture. Le texture

Immagini vettoriali. Immagini raster

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Visualizzazione con VTK

AddCAD per ZWCad. Passa alla progettazione 3D rimanendo sul tuo Cad famigliare

Elaborazione testi: immagini

Linguaggi di programmazione

Processo di rendering

La trasformata Zeta. Marco Marcon

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

Operazioni sulla Retta Algebrica e riflessione sulla loro definizione nell insieme dei Naturali

CAD 2D/3D E RENDERING

2 - Modifica Annulla Selezione finestra. S.C.S. - survey CAD system FIGURA 2.1

Dal foglio di carta alla multimedialità

Uso dei modelli/template

La struttura dati ad albero binario

SMART Ink. Sistema operativo Mac OS X. Manuale dell'utente

Immagini binarie. Binarizzazione di immagini a livelli di grigio

AutoCAD 3D. Lavorare nello spazio 3D

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Processo di rendering

VRay Map: VRayEdgesTex

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

la soluzione che ti aiuta a progettare più rapidamente, riducendo i costi di sviluppo e scongiurando il rischio di costosi errori

FIRESHOP.NET. Gestione della distinta base & della produzione.

GUIDA AL PRONTUARIO MOBILE

Dispensa di database Access

Capitolo V : Il colore nelle immagini digitali

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Introduzione a 3ds Max

SCENARIO. Personas ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

7.4 Estrazione di materiale dal web

Dovremmo a questo punto incominciare a vedere la suddivisione della nostra superficie.

Funzioni in C. Violetta Lonati

Dati testuali. Caratteri e stringhe. Tipi di dato testuali. Dati testuali. Il sistema dei tipi C. Rappresentazione dei testi

Demo. La palette allinea. La palette Anteprima conversione trasparenza. Adobe Illustrator CS2

Allocazione dinamica della memoria - riepilogo

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

Corso di Visione Artificiale. Filtri parte I. Samuel Rota Bulò

Applicazioni 3D avanzate

VETTOR DAL BITMAP AL VETTORIALE. Paolo Mantini TEORIA E PRATICA DELLA CONVERSIONE DELLE IMMAGINI DA RASTER A VETTORIALI

GNred Ver1.5 Manuale utenti - Modulo diashow

Introduzione al Linguaggio C

OpenGL: Textures & Models collection di Federico NinjaCross Coletto

Le texture. Le texture. Informatica Grafica per le arti. Le texture. Le texture. Le texture. Le texture

La nuova funzione di sezione direttamente in 3D, ci permette di mostrare uno spaccato assonometrico d effetto.

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

10 - CURVE DI LIVELLO

9. Architetture di Dominio

Scheda di approfondimento gioco I pixel

SPECIFICHE E LIMITI DI EXCEL

ARCHIVIO GRAFICO ESTESO

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

I puntatori e l allocazione dinamica di memoria

Alessia NOBILE. Geomatica per la Conservazione e la Comunicazione dei Beni Culturali. Università degli Studi di Firenze

RILIEVO LASER SCANNER PARETE MARMOREA XXXXXXXXXXXXX

3DCARTO: GESTIONE DEL MONDO VIRTUALE IN 3D

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

CORSI I principali programmi Adobe Photoshop/InDesign/Illustrator Nozioni di base

T*SOL è un software di simulazione dinamica professionale per il dimensionamento e l'ottimizzazione di impianti solari termici.

Modulo gestione Codici Ecografici

Richiesta pagina PHP (es: index.php)

Modulo GeoVIEWER. manuale di utilizzo

Uso di librerie preconfezionate. pezzi di programma già scritto da altri; di solito ben collaudati;

MAGAZZINO FISCALE (agg. alla rel )

ISTRUZIONI PER L INSTALLAZIONE DEL PROGRAMMA PER L INVIO AUTOMATICO DELLE FATTURE VIA

3DEverywhere S.r.l. sito web:

Corso CAD 2D/3D E FOTOINSERIMENTO PAESAGGISTICO OBIETTIVI DEL CORSO

Le Novità della versione rispetto alla 7.6.0

RILIEVO TRIDIMENSIONALE DEL «CONVENTO ROSSO», SOHAG (EGITTO)

Dati geografici. Lezione 2. Modelli di dati. Umberto Vesco. Corso di Elementi di ecologia applicata alla pianificazione faunistica.

MANUALE UTENTE Fiscali Free

Software standard Alpi Label Ver

Decorazione Piastrelle

Sistema G.U.S. Capitolato di Gara ALLEGATO A

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

Database. Si ringrazia Marco Bertini per le slides

Soluzione dell esercizio del 2 Febbraio 2004

Corso di disegno C.A.D. 3D. sull uso di SolidDEdge

TEST: Hardware e Software

Transcript:

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 applicazione: Animazione; Video-ame; Real-time renderin; Renderin fotorealistico texture

Texture mappin Bisona creare una funzione di mappatura tra la eometria e le dimensioni dell immaine usata come texture.

Texture mappin Le texture sono immaini (più o meno definite) che venono attaccate alla eometria texture

Texture mappin Qual è la relazione di mappatura tra un oetto 2D (un piano) è una eometria complessa? Bisona decidere una modalità di mappatura.

Mappatura planare onsidera l immaine come un piano bidimensionale che viene adattato alla eometria che incontra.

Mappatura ilindrica Le coordinate (x,y,z) sono trasformate in coordinate cilindriche. x = rcosθ r = x + y y 2 2 1 = rsinθ θ = tan z = z z = z y x

Mappatura sferica x= rcosθsinφ r = x + y + z y z rsinθsinφ θ tan 2 2 2 1 = = rcosθ cos y x z r 1 = = φ

Environment mappin La texture non serve solo a renderizare con maiore realismo una eometria, ma a miliorare anche li effetti indotti dall ambiente circostante (environment mappin).

ube mappin

ube mappin: esempio

ube mappin esempio:

Bump Mappin E quella tecnica che manipola una texture tale che una volta mappata sulla eometria le conferisce anche un aspetto 3D più realistico.

OpenGL: texture OpenGL è in rado di manipolare le texture sottoforma di informazioni che possono essere 1D, 2D, 3D. Tipicamente una texture è 2D perché le informazioni dei pixel sono distribuite su un piano. t Texture 2D La direzione u è costante t s Texture 1D

Openl: texture Una texture 1D è definita in termini di una dimensione. 1D ltexture1d( ) lenable(gl_texture_1d); Una texture 2D invece mantiene entrambe le dimensioni. ltexture2d( ) lenable(gl_texture_2d); Texture 3D invece sono volumi eneralmente acquisiti come TA, MRI ecc

OpenGL: texture La funzione che definisce una texture 2D: lteximae2d(glenum taret, GLint level, GLint components, GLsizei w, GLsizei h, GLint border, GLenum format, GLenum type, const GLvoid *pixels); taret:gl_texture_2d (per 1D avremo GL_TEXTURE_1D) level: indica il livello di dettalio (level-of-detail LOD) di plottin dell immaine tipicamente si mette a 0; w,h: dimensioni dell immaini (devono essere potenze di 2) border: 0 oppure 1, spessore del bordo; format: rappresentazione dei colori (GL_RGB, GL_OLOR_INDEX, GL_RED, GL_GREEN, GL_BLU, ); type: tipo di dato contenuto (GL_UNIGNED_BYTE, ) pixels: puntatore alla matrice che contiene i pixel.

OpenGL: texture Una volta memorizzata l immaine in OpenGL, bisona definire quelli che sono i texturin modes: definisce la modalità di renderin delle texture rispetto ad altre caratteristiche della scena (luci, shadin, ) ltexenvi{fv}(gl_texture_env, GLenum pname, const GLfloat *params ); pname: GL_MODULATE (modula l illuminazione e i colori con le informazioni dell immaine; GL_DEAL(considera solo la texture interferenze ); GL_BLEND(fonde tra loro 2 texture insieme). senza altre

OpenGL: texture i filtri ltexparametr{i,f}(glenum taret, GLenum pname, GLfloat param); taret: se si tratta di texture 1D o 2D (GL_TEXTURE_1D ); pname: tipo di filtro da applicare; param: un valore numerico relativo all applicazione del filtro (GL_NEARET, GL_LINEAR, ). E necessaria la definizione di filtraio perché l immaine che è un dominio discreto, viene mappata su un dominio continuo (s,t)=[0,1]. Di conseuenza è necessario realizzare una interpolazione dei pixel dell immaine per individuare la relativa posizione in coordinate [0,1].

I filtri: esempio

I filtri: esempio

I filtri: esempio Faccio la fusione con un altra texture. In questo caso con il colore del poliono stesso.

oordinate texture Una volta definite le caratteristiche di texturin bisona aanciare l immaine alla eometria: t Bisona associare una porzione di texture al poliono pazio 2D s

oordinate texture Le coordinate sono espresse in variabili s e t dove s e la larhezza e t l altezza. void ltexoord2d( GLdouble s, GLdouble t ); Permette di specificare una posizione in coordinate 2D all interno della texture e di associarla alla lvertex che seue: ltexoord2f(0.0f, 0.0f); lvertex3f(-1.0f, -1.0f, 1.0f); ltexoord2f(1.0f, 0.0f); lvertex3f( 1.0f, -1.0f, 1.0f); ltexoord2f(1.0f, 1.0f); lvertex3f( 1.0f, 1.0f, 1.0f); ltexoord2f(0.0f, 1.0f); lvertex3f(-1.0f, 1.0f, 1.0f);

oordinate texture - esempio

oordinate texture - esempio Risultato texturin t s pazio 2D texture

oordinate texture - esempio

Esempio: texturin di una teapot Il proramma realizza il renderin della primitiva eometrica teapot che è stata renderizzata con una texture pot.bmp.

funzione di renderin: Essendo caricata una sola immaine ed una sola eometria il bindin tra eometria e texture è automatico.

Librerie per leere immaini http://openil.sourcefore.net/ Le liberie DevIL sono adatte ad essere interate all interno di un proramma OpenGL. E possibile utilizzarle al posto di chiamate win32 (vedere msdn). Esercitazione: ostruire un ambiente di visualizzazione 3D in MF che visualizzi una eometria e permetta di attaccare una texture scelta dall utente tramite un opportuna Filedialo.

Texture multiple In una scena complessa esistono più texture associate ad una stessa eometria o a eometrie distinte. E necessario quindi elaborare le texture come oetti distinti in opengl.

Texture multiple Texture Objects di opengl sono miliori dal punto di vista delle prestazioni, della dichiarazione di oni sinola texture. Venono caricate e mantenute in memoria da OpenGL: lgentextures; lbindtexture; ldeletetextures

lgentexture( ) void lgentextures( GLsizei n, GLuint* textures ); Alloca la memoria necessaria per allocare n texture individuate dal vettore textures. Esempio di allocazione di 5 texture: GLuint texture_objects[5]; lgentexture(5,texture_objects);

lbindtexture( ) Una volta allocata la memoria OpenGL per le texture è necessario specificare per onuna che tipo di texture sono: void lbindtexture( GLenum taret, GLuint texture ); Esempio: lbindtexture(gl_texture_2d, texture_object[3]);

ldeletetextures( ) Una volta che la texture non è più utilizzata è possibile cancellarla con: void ldeletetextures( GLsizei n, const GLuint * textures ); he elimina l n-esima texture individuata da textures

Esempio arico la texture per un terreno pecifico come le coordinate texture sono mappate sul terreno

Generazione delle coordinate texture Le coordinate texture devono essere specificate dall utente.e permettono di mappare l immaine sulla eometria. ltexoord2f( ) OpenGL permette di enerare automaticamente le texture!

ltexgen( ) void ltexgen{fiv}( GLenum coord, GLenum pname, GLfloat param ); La funzione che enera automaticamente coordinate texture: coord := GL_, GL_T, GL_R, GL_Q. pname := può essere solo GL_TEXTURE_GEN_MODE param := GL_OBJET_LINEAR, GL_EYE_LINEAR, or GL_PHERE_MAP (oppure vettore che definisce il rane nel dominio dello spazio texture).

Esempio Renderizza la eometria utilizzando la ltexgen per enerare coordinate texture.

eminario: Approfondire le tecniche di texture mappin di OpenGL (ad esempio: mipmappin), effettuare una ricerca riuardante la mappatura (mappin) di eometrie complesse in spazi 2D per realizzare la minore distorsione di un eventuale texture.