I formati nella Computer Grafica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I formati nella Computer Grafica"

Transcript

1 I formati nella Computer Grafica Daniele Marini, Maurizio Rossi Marco Ronchetti, Davide Selmo, Davide Gadia Struttura di ambiente 3D Abbiamo una struttura in cui gli oggetti possono essere classificati in: - Ambiente della scena - Oggetti nella scena - Luci - Camere 1

2 Problema della descrizione Come visualizziamo e memorizziamo gli oggetti presenti in una scena? Dobbiamo analizzare la struttura delle varie componenti presenti nella scena 3D, e capire quale migliore rappresentazione si adatta alla loro descrizione. Approcci differenti -Scrittura a mano della struttura -Uso di modellatori 3D -Uso di Linguaggi dedicati 2

3 Cosa devo salvare o memorizzare? Cosa e come devo salvare? Quale tipo di informazioni mi servono per ricostruire una scena 3D E per archiviare una immagine? Sintassi e Semantica per: -descrizione delle scene 3D -memorizzazione delle immagini di rendering Problema della compatibilità Diversi programmi Diversi parser di lettura Diversi approci alla memorizzione -Faccio un formato unico, standard? Ogni modifica deve essere concordata -Oppure lascio la libertà a formati proprietari Facili cambiamenti, problemi di compatibilità. 3

4 La filosofia Opensource Formato leggibile e comune a tutti e quindi Standard In questo genere di file la caratteristica principale è l interscambiabilità delle informazioni, infatti avendo un codice aperto, tipicamente sono stringhe ascii facilmente interpretabili, è possibile scrivere e leggere sullo stesso file. Come devo costruire un ambiente 3D? -Uso di Linguaggio di Programmazione. Essi mettono a disposizione un linguaggio semplice e potente in modo da poter ricostruire situazione complesse in scenari 3D. -Uso di modellatori 3D. 4

5 Linguaggi di programmazione volti alla costruzione di scene 3D -VRML -X3D (xml + vrml+ altro...) Memorizzazione delle informazioni Differenti formati commerciali: 3ds (3d studio format) Obj (AliasWavefront) 3DS (3D StudioMax format) Iges (Initial Graphics Exchange Specification ) DXF (Drawing Interchange file format) 5

6 Formati di interscambio Seguono generalmente la filosofia OpenSource Usati per far comunicare differenti programmi di modellazione. Utilissimi nel caso di grosse produzioni e cooperazione in un team di persone. Formati usati: Obj-3ds-rib-dxf VRML 1.0 L idea primordiale del VRML arriva da Tim Berners-Lee e Dave Raggett per discutere l interfaccia di realtà virtuale per il WWW, durante la prima conferenza annuale sul World Wide Web tenutasi a Ginevra nella primavera del

7 VRML97 - Feature È un Linguaggio che consente la simulazione di mondi virtuali tridimensionali. Descrizione: -Ambienti virtuali contenenti oggetti, sorgenti luminose, immagini, suoni, filmati. -Animazioni e interattività -Impiego di link a URL remoti e naturalmente a qualunque altro file di tipo.wrl (formato files VRML ). VRML97 - Il formato File di testo che utilizza caratteri ASCII (come l HTML ad esempio) *.wrl. Eventualmente compresso con Gzip *.wrz. - Pro: VRML comparabile a quello che fanno i numerosi programmi di modellazione tridimensionale. Linguaggio di scripting. - Contro: gli esiti raggiungibili da un programma di rendering sono in confronto decisamente superiori sia a livello di qualità sia di velocità. Il file contiene:: - Nodes: il mondo è fatto di nodi che sono tipi di oggetti - Fields: descrivono le proprietà dei nodi 7

8 Esempio VRML97 #VRML V2.0 utf8 WorldInfo { title "Example 1" } Node Field DEF FBOX Shape { appearance Appearance { material Material { diffusecolor } } geometry Box { } } (uses default values) VRML97 - Strumenti per la creazione del file -Tools di authoring 3D (export in vrml) Maya, Blender, Caligari TrueSpace ecc -Tools di authoring VRML97 visuali Cosmo World 2.0, 3D Studio Max, Internet Space Builder, Internet Character Animator -Editors VRML97 testuali SitePad, VRMLPad, Vorlon, X3D-Edit 8

9 VRML - Come lo si usa Il file vrml, viene interpretato da dei player freeware disponibili su web come. Plug-in per Internet Explorer o Netscape: Cosmo Player 2.0 ( ) Cortona 4.2 ( Player autonomi: FreeWRL GLView Blaxxun Contact 3D ( ttp:// Quesi tool leggono il codice contenuto nel file wrl e lo traducono in ambienti 3D visualizzabili in real-time VRML - Specifiche e link VRML Consortium/Web3D VRML repository: VRML97 Specification / 9

10 Il formato Obj Creato da AliasWavefront SGI Le info sono organizzate in un file ASCII Posso definire all interno: -colore -3D -non posso comprimere -contiene la definizione di uno o più oggetti OBJ - La sua struttura Ecco la descrizione di un file obj Mtllib Definisco il meteriale (*.mtl) (optional) # a comment line V x y z Elenco dei vertici vt u v [w] Elenco delle coordinate u,v (texture) vn x y z Vettore normale G Gruppo di appartennenza dell oggetto (optional) F n0 n1 n2 n3 Elenco faccie Usemtl Colorazione (se esiste il materiale) V -> vertici F -> faccie G-> gruppi 10

11 OBJ - Esempi di file mtllib colors.mtl v v v v v v v v g cube usemtl Color1 f f f usemtl Color2 f f f Formato 3DS Costituito da una serie di chunks. Ognuno ha una struttura simile: short chunk_id; long chunk_len; Id indica un codice unico il quale identifica il tipo di dato in questo chunk e può indicare inoltre l esistenza di chunk subordinati. len indica la lunghezza dei dati associato allo chunk. I chunk subordinati possono anche essi stessi avere subordiati chunks. 11

12 Altri formati Formato IGES usato per memorizzazione di superfici parametriche Formato DXF usato per la struttura di modelli architettonici (CAD) RIB files Ideato dalla Pixar come supporto della RenderMan interface Modello per strutturare una scena 3D È quello usato per spiegare RenderMan Argomento di discussione durante la trattazione delle RenderMan interface 12

13 Formati di immagine Bitmap.bmp.tif.gif.jpg La grafica raster: fotografie e illustrazioni pittoriche. Vantaggi: si lavora sui pixel, effetti molto relalistici. simili a quelli della pittura e grafica tradizionale (pennello, aerografo, matita, carboncino). SW di Fotoritocco funzionano con immagini a punti. Operazioni sui punti. Contro: ingrandimento (su monitor o in stampa) solo ingrandendo la dimensione del pixel, che può diventare visibile, fino a creare effetti sgradevoili (pixelizzazione). Per Elaborare (spostare, modificare, cancellare) una parte dell immagine occorre letteralmente selezionare alcuni pixel e spostarli 13