La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

INTRODUZIONE ALLA COMPUTER GRAPHICS. Sommario Cosè la Computer Graphics (CG) – Ambiti di applicazione Breve Storia della Computer Graphics Tecnologie.

Presentazioni simili


Presentazione sul tema: "INTRODUZIONE ALLA COMPUTER GRAPHICS. Sommario Cosè la Computer Graphics (CG) – Ambiti di applicazione Breve Storia della Computer Graphics Tecnologie."— Transcript della presentazione:

1 INTRODUZIONE ALLA COMPUTER GRAPHICS

2 Sommario Cosè la Computer Graphics (CG) – Ambiti di applicazione Breve Storia della Computer Graphics Tecnologie dei display Grafica Raster e Grafica Vettoriale

3 Cosè la CG La Computer Graphics (CG) si occupa di sintesi di immagini, cioè delle tecniche di produzione di scene rappresentanti oggetti del mondo reale o contenuti astratti. Nel primo caso, entrano a far parte della CG anche tutte le tecniche volte a fornire una visualizzazione realistica del contenuto dellimmagine. – Rendering foto-realistico – Rendering non foto-realistico

4 Cosè la CG Per contro, la disciplina che si occupa di analisi di immagini è denominata Image Processing. In questo caso gli obiettivi dellelaborazione possono essere quelli di aumentare il contenuto informativo, ridurre il rumore, restaurare una immagine e così via. – Image enhancement – Image restoration – Image analysis – …

5 Cosè la CG In ogni caso in Image Processing si assume di partire da unimmagine digitale già acquisita e la si elabora, mentre in CG limmagine digitale è lobiettivo ultimo dellelaborazione. Altri ambiti che si occupano di immagini digitali sono la Computer Vision e la Pattern Recognition.

6 Cosè la CG La Computer Vision tenta di riprodurre i processi percettivi propri della visione basandosi su sistemi artificiali di acquisizione/elaborazione dei dati. Nellambito della Pattern Recognition si cerca di individuare la presenza di strutture più o meno complesse in unimmagine al fine di svolgere compiti di riconoscimento, sorveglianza, ispezione di manufatti per individuazione di guasti e così via.

7 Cosè la CG Alcune tecniche di elaborazione sono ormai patrimonio della CG – Fotoritocco: effetti speciali che sono trasformazioni operate sul contenuto informativo delle immagini di partenza. – Image warping: trasformazioni delle strutture presenti in unimmagine a fini ludici o di correzione di deformazioni introdotte dai dispositivi di acquisizione.

8 Ambiti di applicazione della CG Disegno delle interfacce utente – Graphical User Interfaces (GUI) – Interfacce Web (grafica bidimensionale abilitata da opportuni linguaggi di scripting e descrizione delle forme con formalismi XML)

9 Simulazioni – Scientifiche (processi fisici, chimici...) – Professionali (simulazioni di dispositivi, CAD) Simulazione tridimensionale di onde e campi elettromagnetici

10 Simulazione metereologica

11

12

13 Il ciclo di vita di un film alla Pixar Story department L'evoluzione degli storyboard da carta e matita a Photoshop e After Effects.

14 Art Department Sviluppo dei personaggi, delle ambientazioni e del "look" del film attraverso creta, photoshop, illustrator, sketchup e Maya.

15 Dare forma ai disegni La modellazione tridmensionale attraverso Maya.

16 Shading Shading dei modelli attraverso Maya, Photoshop e Illustrator e RenderMan usati attraverso il sistema proprietario di paint3D.

17 Elementi in Grafica 2D Elementi di grafica 2D attraverso Illustrator. Pipeline custom per la gestione degli elementi grafici.

18 Animazione Dare vita ai personaggi è una delle fasi sicuramente più affascinanti…

19 Animation Studios Dreamwork 1998, Z la formicaZ la formica

20 Animation Studios Dreamwork 2001, ShrekShrek

21 2004 Shrek 2

22 2005 Magadascar (MAYA)

23 2006 Giù per il tubo

24 2008 Kung fu Panda(MAYA)

25 2010 Shrek e vissero felici e contenti

26 2011 Il gatto con gli stivali

27 Film in produzione 2012, Madagascar 3Madagascar , The CroodsThe Croods 2012, The GuardiansThe Guardians 2013, Dragon Trainer 2Dragon Trainer 2

28 Avatar (MAYA) 2009

29 King Kong 2005

30 Blue Sky Studios Lera Glaciale

31 Pixar studio Animation 1995 Toy Story – Il mondo dei giocattoli

32 A Bug's Life - MegaminimondoA Bug's Life - Megaminimondo

33 Toy Story 2 - Woody e Buzz alla riscossaToy Story 2 - Woody e Buzz alla riscossa

34 Monsters & Co.Monsters & Co.

35 Alla ricerca di NemoAlla ricerca di Nemo

36 Gli Incredibili - Una "normale" famiglia di supereroiGli Incredibili - Una "normale" famiglia di supereroi

37 Cars - Motori ruggentiCars - Motori ruggenti

38 RatatouilleRatatouille

39 UpUp

40 Toy Story 3 - La grande fugaToy Story 3 - La grande fuga

41 Cars 2Cars 2

42 In produzione Monsters UniversityMonsters University About DinosaursAbout Dinosaurs That Takes You Inside the MindThat Takes You Inside the Mind Toy Story 4Toy Story 4

43 Grafica Pubblicitaria Lavatrici Ariston Aqualtis Ariston Hot Quadro Parmareggio Gocciole Pavesi

44 Intrattenimento – Videogames

45

46 God of War III

47 Rayman Raving Rabbids

48 Realtà aumentata La Realtà Aumentata (dall'inglese Augmented Reality) è un sistema di grafica interattiva che permette di intervenire su un flusso di immagini video live, modificando la realtà con laggiunta, in tempo reale, di contenuti ed animazioni virtuali.

49 Realtà aumentata Realtà virtuale: si osserva su uno schermo la proiezione di un mondo totalmente fittizio e costituito interamente da oggetti virtuali. Realtà aumentata: non si è vincolati ad una visualizzazione su schermo, ma qualsiasi superficie può diventare un supporto per visualizzare il flusso video in Realtà Aumentata; ciò che viene ripreso, inoltre, è unintegrazione fra immagini reali ed oggetti virtuali. Per cui: realtà virtuale = mondo virtuale Realtà Aumentata = mondo reale + oggetti virtuali

50 Sistema di realtà aumentata Schema di un sistema di realtà aumentata: 1.meccanismo di riconoscimento di un particolare elemento grafico detto marker (una sorta di codice a barre bidimensionale ), 2.un sistema di tracciamento dei movimenti (della webcam o del marker) e un engine per la creazione e lanimazione di oggetti tridimensionali. I marker sono degli elementi grafici, su cui è stampato un simbolo facilmente riconoscibile (anche quando ruotato), che vengono individuati e tracciati attraverso una videocamera.

51 Esempio di sistema di realtà aumentata 3VFo 3VFo ta-aumentata/applicazioni ta-aumentata/applicazioni

52 Navigatore con la realtà Aumentata

53 Applicazioni in Medicina – Ricostruzioni di parti anatomiche da TAC/RM/PET a fini diagnostici

54 Altre applicazioni Simulatori di volo: per laddestramento di piloti civili e militari basati su realtà virtuale e realtà aumentata In cartografia: lutilizzo di sistemi informativi territoriali consente la produzione di carte topografiche, schematiche e tematiche con facilità maggiore rispetto alle modalità manuali.

55 Interattività vs Non Interattività La grafica generata con un calcolatore può o meno essere interattiva, ovvero può o meno permettere ad un operatore esterno di interagire in tempo reale con uno qualsiasi (o tutti) dei parametri della rappresentazione grafica Nel caso di grafica interattiva si richiede una risposta in tempo reale ai comandi delloperatore; questo implica – necessità di hardware particolari (schede grafiche acceleratrici, processori potenti,molta memoria) – un modello semplificato di resa grafica (in genere le applicazioni interattive non sono fotorealistiche) Con la grafica non interattiva si possono raggiungere qualità dellimmagine elevate a piacere, è solo questione di quanto tempo si è disposti ad aspettare per generarle Entrambi i tipi di grafica sono interessanti ed hanno diverse applicazioni, a volte complementari;

56 Interattività vs Non Interattività

57 Schema di una applicazione grafica In genere le applicazioni grafiche di cui discuteremo (e che implementeremo) si possono inquadrare, piu o meno, nel seguente schema: Vi è una descrizione di qualche tipo (procedurale o meno) del mondo che deve essere rappresentato. La produzione di tale descrizione (modello) prende il nome di modellazione. Da tale descrizione si ottiene una immagine bidimensionale; tale processo è chiamato globalmente rendering La sequenza di procedure ed algoritmi che implementano il rendering prende il nome di pipeline grafica; Limmagine ottenuta viene quindi visualizzata sullo schermo (in applicazioni interattive, per esempio) o salvata su file

58 Schema di una applicazione grafica La descrizione del mondo che viene utilizzata dalla pipeline grafica comprende in genere tre elementi: 1. Gli oggetti che popolano il mondo; possono essere oggetti veri e propri (cubi, robot, mele..) oppure dati (punti nello spazio 3D, iso-superfici..). Gli oggetti hanno proprietà posizionali (dove sono, come sono orientati etc) e di apparenza (di che colore, comè fatta la superficie, se sono riflettenti etc) 2. Le luci che determinano le proprietà di illuminazione del mondo; hanno anchesse proprietà posizionali, ma non di apparenza (tipicamente le luci non si vedono, al più si vedono degli oggetti che rappresentano lemettitore di luce). 3. Losservatore che descrive gli algoritmi che servono a generare una immagine 2D (lo schermo) dalla descrizione 3D del mondo, ovvero implementa una telecamera virtuale; anchesso possiede proprietà posizionali, ma non di apparenza

59 Processo di modellazione Il modello di un oggetto da rappresentare può essere ottenuto essenzialmente in tre modi: Manuale, ovvero viene disegnato tramite un opportuno strumento grafico. In genere si ottengono oggetti complessi assemblando assieme oggetti semplici; es sfera, questa spesso viene disegnata tramite il mouse, selezionando il centro e trascinando il puntatore fino ad ottenere il raggio desiderato. Automatica da strumenti che consentono lacquisizione di un modello digitale di un oggetto reale. Per esempio le tecniche basate sulle immagini delloggetto sono molto studiate in Visione Computazionale, ed ultimamente anche in grafica. Spesso vengono indicare come Image based modeling Procedurale, ovvero viene generato tramite una procedura opportuna. Un esempio tipico sono gli oggetti frattali, che hanno varie applicazioni nella grafica al calcolatore, o gli oggetti geometrici, come sfere, cubi, poliedri regolari o altro. Ad esempio una sfera è ottenuta specificando il raggio e la posizione del centro, poi ci pensa una procedura basata sullequazione analitica della sfera a disegnarla. Le tecniche si possono mescolare tra di loro.

60 Processo di modellazione 3d scanners Editor 3d modeler

61 3d scanners Modello: battistero di Cremona Hardware: laser scanner + camera

62 3d scanners

63 Processo di rendering In base a tutte queste informazioni, dobbiamo effettuare un certo numero di passi per ottenere limmagine desiderata: Proiezione: proiettare (geometricamente) la scena dallo spazio 3D allo spazio 2D dello schermo della telecamera virtuale. Shading: per ogni punto dellimmagine dobbiamo determinare il suo colore, che è funzione del colore della superficie delloggetto e della sua orientazione, della posizione delle luci e (nei modelli cosiddetti globali) della riflessione indiretta della luce da parte di altre superfici. Rimozione delle superfici nascoste: gli elementi più vicini alla telecamera coprono quelli più lontani: dobbiamo determinare quali superfici sono visibili e quali no. Rasterizzazione: quando sappiamo che colore assegnare a ciascun punto della immagine, il passo finale è mappare questa informazione sul display (ovvero: accendere i pixel).

64 Modellazione vs Rendering In un immagine generata al calcolatore (3D o 2D, interattiva o meno) concorrono essenzialmente due elementi: I modelli geometrici degli oggetti (o dati) rappresentati Le loro caratteristiche di colore, ombreggiatura, tessitura, etc.; queste ultime vanno sotto il nome di shading Alle volte è praticamente impossibile ottenere un modello di un oggetto con i dettagli desiderati; in tal caso si aggiungono i dettagli nella fase di rendering (alterando lo shading). In genere è uno spreco di risorse costruire un modello complicato quando è possibile ottenere lo stesso effetto con un modello semplice ed un suo opportuno shading.

65 Shading Distance falloff Add Lines Add colors Real world shading

66 Breve storia della CG La CG nasce insieme ai calcolatori, ma si mantiene fuori dal mercato del grande consumo per effetto dei costi elevati dei dispositivi grafici. Il suo sviluppo nasce dalla necessità di rappresentare in maniera semplice e altamente flessibile i dati elaborati dal calcolatore; è il caso di applicazioni scientifiche e di simulazione di processi.

67 Breve storia della CG Problemi connessi con la larga diffusione delle applicazioni di CG: – costo HW grafico – necessità di elevate risorse computazionali – difficoltà di scrivere programmi interattivi (epoca del FORTRAN) – SW dedicato per lHW grafico.

68 Breve storia della CG La diffusione, negli anni '80, dei primi calcolatori (ad esempio Apple Macintosh) che usano monitor con display di concezione moderna favorisce lo sviluppo di applicazioni grafiche per uso diffuso Prime fra tutte si sviluppano le interfacce grafiche che consentono agli utenti inesperti di interagire con sistema operativo e le applicazioni presenti su un calcolatore.

69 Breve storia della CG I primi display per la visualizzazione grafica sono basati sulluso di monitor del tipo televisivo in cui un Tubo a Raggi Catodici (Cathode Ray Tube: CRT) forma le immagini comandando la deflessione di un fascio focalizzato di elettroni (pennello elettronico). Il fascio è in grado di colpire qualunque punto del fondo del tubo sul quale è disposto uno strato di materiale fotosensibile (fosfori) che reagisce allimpatto emettendo luce.

70 Tubo a raggi catodici

71

72 Architettura del sistema

73 Il Video controller Il componente hardware che, allinterno dellambiente computer-monitor è responsabile di guidare il fascio elettronico è il video controller che trasforma informazioni grafiche(digitali) in impulsi elettrici (analogici). La tecnologia del video controller può essere di due tipi: raster o vettoriale.

74 I primi dispositivi di output grafico basati sulluso del CRT, erano detti vettoriali (dove il termine vettoriale è da intendersi come sinonimo di lineare). In questi dispositivi, il fascio di elettroni può muoversi direttamente da una posizione allaltra, guidato dal computer, secondo lordine arbitrario dei comandi di display, e durante il moto traccia una linea. Chiaramente, annullando lintensità del fascio, questo può essere spostato in una nuova posizione, senza modificare limmagine visibile sullo schermo. Questa tecnica, chiamata random scan (scansione casuale), è rimasta in uso fino agli anni settanta, quando hanno cominciato a diffondersi i sistemi di grafica raster, basati sulle tecnologia televisiva.

75

76

77 Il termine raster (o percorso di scansione) è sinonimo di matrice. Nella grafica raster, ogni immagine viene infatti rappresentata tramite una matrice di elementi, i cosiddetti pixel, ciascuno dei quali corrisponde ad una precisa porzione dellimmagine. Lelaborazione delle immagini è dunque basata su matrici di pixel, che vengono memorizzate in unapposita area di memoria, il frame buffer, localizzata nella memoria della CPU, o in una memoria separata. Il contenuto del frame buffer, ovvero la rappresentazione in memoria delle matrici di pixel, è chiamato pixmap (da pixel map) o bitmap. La risoluzione del frame buffer, definita dal numero di pixel che può memorizzare, determina la qualità dellimmagine visualizzata.

78

79

80 Limmagine complessiva su un display di tipo raster si ottiene effettuando una scansione sistematica, raster scan, della matrice di pixel attraverso il fascio di elettroni, ovvero scorrendo sequenzialmente le linee di scansione orizzontali, composte da righe di pixel, una alla volta, e regolando lintensità del fascio in modo da riflettere lintensità di ciascun pixel. Ogni volta che il fascio di elettroni completa un ciclo di scansione, si dice che il CRT è refreshed.

81 I principali vantaggi della grafica raster rispetto a quella vettoriale includono costi più bassi (grazie allo sviluppo tecnologico che ha reso disponibili memorie di capacità elevata a basso costo) e la possibilità di visualizzare aree piene di colore, e disegni. Uno dei principali svantaggi consiste invece nella natura intrinsecamente discreta della rappresentazione tramite pixel: le primitive grafiche (quali linee, cerchi, poligoni), devono essere convertite nelle matrici di pixel che meglio le rappresentano, per poter essere visualizzate su un display di tipo raster. Questa operazione è chiamata scan conversion. Inoltre, mentre nella grafica vettoriale è possibile disegnare curve continue tra una qualsiasi coppia di punti del CRT, la riduzione a matrici di pixel può comportare problemi di frastagliamento delle immagini.

82 Monitor LCD Cristalli liquidi: determinate sostanze cristalline con struttura tipica di un solido, che se opportunamente riscaldate assumono una consistenza semiliquida, pur mantenendo una struttura cristallina al loro interno. I cristalli liquidi al microscopio appaiono come dei piccoli filamenti. I filamenti cristallini facendo parte di una sostanza semifluida sono caratterizzati da una certa libertà di movimento ed inoltre rifrangono i fasci di luce su di essi emessi. La rifrazione dipenderà dal loro orientamento. Questi filamenti, sotto lo stimolo di un opportuno campo elettrico possono modificare il proprio orientamento e di conseguenza modificare le caratteristiche del fascio di luce che li attraversa. I display a cristalli liquidi (LCD) dipendono da una sorgente di luce esterna. Essi funzionano polarizzando la luce dellambiente esterno. Alla base del funzionamento dei monitor LCD troviamo lutilizzo della luce polarizzata.

83 La luce è unonda elettromagnetica che viaggia nel vuoto. E' di solito non polarizzata in quanto prodotta da cariche elettriche che vibrano in tutte le direzioni. E' possibile trasformare la luce non polarizzata in luce che vibra in una sola direzione (luce polarizzata linearmente).Il processo si dice di polarizzazione. La luce viene polarizzata facendole attraversare un filtro che permette il passaggio solo di vettori luminosi posti su piani paralleli (es: solo orizzontali o solo verticali etc..).

84 Se polarizzassimo la luce per piani orizzontali e questa incontrasse poi un filtro che polarizza per piani verticali, essa non potrebbe passare e verrebbe quindi bloccata totalmente. Per passare attraverso un filtro polarizzante per piani verticali la luce polarizzata orizzontalmente necessita di essere ruotata di 90°.

85 I monitor LCD sono composti da ben sette strati. Internamente abbiamo delle lampade a fluorescenza che producono la luce. Poi un pannello che polarizza la luce per orizzontali e due pannelli centrali che racchiudono uno strato di celle contenenti i cristalli liquidi. Più esternamente abbiamo un altro pannello che polarizza la luce per piani orizzontali. E infine il cristallo esterno del display LCD.

86 Non viene applicato nessun campo elettrico. I cristalli presentano la tipica disposizione a elica. La luce, che entra polarizzata orizzontalmente, ruota di 90° seguendo i cristalli e può così attraversare il filtro di polarizzazione verticale Viene applicato un campo elettrico. I cristalli vengono attivati e perdono la loro disposizione a elica. La luce, polarizzata orizzontalmente, non può più seguire i cristalli e non viene quindi ruotata. Arrivando ancora polarizzata orizzontalmente contro il filtro di polarizzazione verticale, la luce viene quindi bloccata.

87 Retroilluminazione a LED Quando si parla di schermi a LED non si intende una nuova tecnologia di generazione dell'immagine. Un termine più appropriato sarebbe "schermo LCD basato su retroilluminazione a LED" in quanto il pannello che produce le immagini resta quello di uno schermo piatto tradizionale. All'interno dello schermo a LED la luce emessa da 2160 piccoli LED rossi, verdi e blu, si combina per formare una luce bianca. Il fascio di luce attraversa una piastra di diffusione che la rende omogenea. Il vantaggio più evidente rispetto alla lampada tradizionale è la migliore qualità dei colori: il neon degli schermi LCD tradizionali, non restituisce infatti un bianco perfetto e la luce deve essere corretta utilizzando filtri di colore che non garantiscono risultati sorprendenti.La luce bianca illumina quindi il pannello a cristalli liquidi per formare l'immagine finale. La durata dello schermo LCD basato su tecnologia a LED è nell'ordine delle 100 mila ore mentre quella di uno schermo tradizionale è di 50 mila ore. Grazie alla tecnologia a LED è possibile costruire degli schermi sottilissimi spessi anche un paio di millimetri.

88 Evoluzione dei controllori grafici Pipeline di rendering Cenni storici sui controllori grafici Implementazione della pipeline di rendering – Pipeline logica programmabile – Pipeline mappata sul processore Architetture dei sistemi GPU Cenni alla programmazione delle GPU

89 Pipeline di rendering

90 Cenni storici sui controllori grafici Video and Graphics Array controller - VGA (<1990) – Controllore di una memoria DRAM chiamata framebuffer e generatore di segnali (RAMDAC) collegato direttamente al video – Basato sul principio della grafica vettoriale – Implementa laritmetica intera indicizzata 1990 – 1997 circa – Si aggiungono funzioni al controllore VGA Gestione triangoli Rasterizzazione triangoli Shading

91 Cenni storici sui controllori grafici Anni 2000 – Chip integrato che incorpora praticamente tutti gli elementi di una pipeline di rendering – Nasce la Graphics Processing Unit (GPU) > 2005 – GPU con implementazione dellaritmetica in virgola fissa e mobile – GPU programmabili API di alto livello (OpenGL, Direct3D) shaders delle geometrie, dei vertici e dei pixel

92 Architettura GPU Unificata di base Adesso (>2008 circa) – I processori sono massicciamente paralleli e multithread Streaming Processors (SP) a flusso continuo Gli SP sono organizzati in Streaming Multiprocessors (SM) La memoria è condivisa due livelli – Dentro lo SM tra gli SP – Tramite rete di interconnessione tra gli SM Soluzione scalabile

93 Pipeline mappata su schiera di processori Adesso (>2008 circa) Lesecuzione degli shaders viene mappata sulla schiera di processori unificati

94 Architettura di una GPU unificata NVIDIA GeForce 8800 Arch. TESLA 112 SP 14 SM 1 SP 96 thread DRAM 64 bit

95 Programmazione Grafica Tre livelli – API grafiche OpenGL Direct3D – Linguaggi di shading GLSL HLSL Cg – API di programmazione diretta dei core SP CUDA OpenCL

96 API grafiche Sono API di alto livello che definiscono logicamente la pipeline di rendering – Lapplicazione si sviluppa definendo i vari stadi con primitive di alto livello – I dettagli sono nascosti allo sviluppatore e gestiti dalle API

97 Linguaggi di shading Gestiscono i tre tipi di shader – Shader dei vertici Mappano la posizione dei vertici dei triangoli nello schermo, modificando posizione, colore e orientamento – Shader delle geometrie Lavorano sulla base di primitive geometriche (ad es. interi triangoli) definite come insiemi di vertici; le modificano ovvero ne aggiungono di nuove – Shader dei pixel (o dei frammenti) Dipingono il pixel sullo schermo e gestiscono gli artefatti visivi

98 Linguaggi di shading Gli shader sono programmati a a flusso continuo cioè su sequenze ininterrotte di dati; lI/O è implicito Le strutture di dati su cui operano consentono un elevato parallelismo e quindi possono essere lanciati più thread dello stesso shader Hanno primitive per operazioni trigonometriche e su matrice, interpolazione, filtraggio …

99 Programmazione dei core SP Sono API per programmazione general purpose su GPU – GPGPU: General Purpose computing on GPU Il problema viene parallelizzato mappandolo sullarchitettura Il programmatore CUDA scrive una procedura detta kernel che istanzia tante esecuzioni di thread paralleli

100 Programmazione CUDA I thread sono organizzati gerarchicamente in blocchi 1D, 2D o 3D i quali sono organizzati in griglie 1D, 2D o 3D Il mapping dipende dai core SP disponibili ed è scelto dal programmatore


Scaricare ppt "INTRODUZIONE ALLA COMPUTER GRAPHICS. Sommario Cosè la Computer Graphics (CG) – Ambiti di applicazione Breve Storia della Computer Graphics Tecnologie."

Presentazioni simili


Annunci Google