Computer Graphics
• docente: Marco Tarini
e-mail: marco.tarini@isti.cnr.it
• ricevimento:
dopo ogni lezione, o su appuntamento
• pagina del corso:
1. google for: “Marco Tarini”
2. il primo link sono io 3. tab “teaching” (in basso!) 4. “Computer Graphics 10/11”
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Strumenti che servono
• Programmazione – Linguaggi
• C o C++ (OpenGL, DirectX) – IDE: uno qualunque, es:
• DevC++
by Bloodshed Software
Windows, C/C++, leggero, piccolo, gratuito, giocattolo, discontinued
• QT Creator
by Nokia
cross-platform, C++, specializzato per QT gui, molto completo
• Eclipse (adattato a C o C++)
cross-platform, plugins per C++, pesantuccio, completo, molto completo
• Microsoft dev studio / Visual Studio 2008 / etc
Windows, pesantuccio, molto completo, licenza gratuita per studenti
• Code-blocks?
Cross platform, C++, open source, gratuito
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Strumenti che servono
• Un po' di matematica
– Algebra lineare: calcolo matriciale
• (matrici 3x3 o 4x4)
• Un po' di algoritmica
– Es. saper valutare la complessità asintotica
• Un po' di voglia
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Computer Graphics
Marco Tarini Università dell’Insubria
Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2010/11
Lezione I: intro e applicazioni
Una definizione
Computer Graphics (CG)
it: grafica computazionale
la disciplina che studia
come modellare e visualizzare informazioni su un dispositivo di output video
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Computer Graphics: 3D
• In termini generali:
1. Modellazione di entità (tipicamente) tridimensionali 2. Sintesi di immagini a partire da queste
• Campo molto vasto
– questo è solo un corso introduttivo – copriremo solo una piccola parte
• Campo in rapido progresso – da una trentina d'anni!
– ha subito alcune importanti rivoluzioni di paradigma – questo corso dà un'infarinata dello stato attuale
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Computer Graphics: vicini di casa
• Algoritmi e strutture dati
• (chiaramente)
• Architetture HW
• perché CG ruota intorno all’HW specializzato
• Geometria Computazionale (“computational geometry”)
• algoritmi per problemi interpretabili “geometricamente”
• Computer Vision
• in un certo senso, il problema inverso della CG
• Image Processing
• sta sulla sponda 2D
• Video Processing
• come sopra + time
• Interfacce uomo macchina (HCI)
• GUI 3D: Graphics User Interfaces
• Scientific Visualization (and Data Visualization)
• che usano la CG come strumento per visualizzare dati
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
UTILIZZATEDALLACGLIMITROFEALLACGUTILIZZANOLACG
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
CG: gli strumenti tecnologici
• Interfacce – di input:
• tastiera, mouse
• gloves, trackballs, gamepads,
• tracked devices (es vedi nintendo Wii)
• … – di output:
• monitor, proiettore
• sistemi di proiettori multipli
• 3D video sistems
• ...
– di input + ouput:
• haptic interfaces
• caschetto VR
Computer Graphics: applicazioni
• Cultural heritage – musei virtuali – supporto al restauro – supporto all’analisi – monitoring
• Medicina
– supporto alla diagnosi – telechirurgia – simulazioni
• Architetturali – Supporto al design – Previews
• …
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
• Videogiochi
• Cinematografia – Visual effects – Film di animazione
• Scientific Visualization
• Manufacturing industry – e.g. Computer Aided Design
• Telecommunications – Personalized Avatars – E–commerce
• Virtual Reality – e augmented reality
Computer Graphics: applicazioni
• Visualizzazione Scientifica – aka: SciVis , visual data analysis ...
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a (TACC Scientific Visualization group)
(Pittsburg Supercomputing center) (NASA)
• Visualizzazione di dati scientifici
• I dati sono l’output di una simulazione..
• ..o acquisiti con qualche sistema di misura
Computer Graphics: applicazioni
• Visualizzazione Scientifica – aka: SciVis , visual data analysis ...
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a (TACC Scientific Visualization group)
(Pittsburg Supercomputing center) (NASA)
Computer Graphics: applicazioni
• Visualizzazione Scientifica – aka: SciVis , visual data analysis ...
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a (Pittsburg Supercomputing center) (NASA)
Computer Graphics: applicazioni
• E-commerce
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
• 3D personalized avatars
– e.g. teleconferencing...
Computer Graphics: applicazioni
• applicazioni medicali – supporto alla diagnosi
• e.g. visualizz. CAT scans – chirurgia virtuale – tele-chirurgia
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Computer Graphics: applicazioni
• Industria Manifatturiera – CAD
– Rapid Prototyping – Simulazioni
di funzionamento – Defect detection – …
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Computer Graphics: applicazioni
• Entertainment: giochi
– forza trainante del settore (crederci o no) ...
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Battlezone – Atari 1980 Tailgunner - Cinematronics 1979
Computer Graphics: applicazioni
• Entertainment: giochi
– forza trainante del settore (crederci o no) ...
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Doom – IDsoft 1993
Virtua Fighter - Sega 1993
Computer Graphics: applicazioni
• Entertainment: giochi
– forza trainante del settore (crederci o no) ...
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Doom 3- ID soft 2004
World of Warcraft, Blizzard Entertainment 2004
Computer Graphics: applicazioni
• Entertainment: giochi
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a World of Warcraft,
Blizzard Entertainment 2004 vari
Computer Graphics: applicazioni
• Entertainment: movie industry – CG shorts
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Luxo Jr - Pixar 1986 Geri's Game - Pixar 1997
Computer Graphics: applicazioni
• Entertainment: movie industry – CG shorts
– Feature movies
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Toy Story - Pixar 1995
Geri's Game - Pixar 1997
Computer Graphics: applicazioni
• Entertainment: movie industry – visual effects (non special fx)
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Jurassic Park - Universal Studios 1993 Star Wars: The Phantom Manace - Lucasart 1999
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
parentesi parentesi parentesi parentesi parentesi
parentesi parentesi parentesi parentesi parentesi
Effetti visuali & Effetti Speciali
• (in post-produzione) (sul set)
(es: stuntmen, corde, esplosioni, …)
Computer Graphics: applicazioni
• Entertainment:
movie industry – Feature movies
fotorealistici
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Final Fantasy – Squaresoft 2001
Final Flight Of the Osiris – Squaresoft 2003 Avatar – ILM 2009
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
parentesi parentesi parentesi parentesi parentesi
parentesi parentesi parentesi parentesi parentesi
Uncanny valley
Computer Graphics: applicazioni
• Beni Culturali – Presentazione
• musei virtuali
• cataloghi di musei reali
• supporto alla didattica
• documentaristica...
– Supporto al restauro
• Modello 3D come GIS
• Simulazioni...
– Studio
• Analisi dei dati
• vedi SciVis
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Beni Culturali
• Uso:
– fruizione (musei virtuali..) – documentaristica – didattica – monitoraggio
• Mezzi:
– acquisizione della forma ( 3DScanning ) – acquisizione del colore
– Tecniche di visualizzazione di grandi moli di dati (multiresolution, out of core rendering) 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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Visual Computing Lab – ISTI-CNR Pisa
Beni Culturali: Fruizione
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
• Chioschi: supporti multimediali ai musei tradizionali
– PC + video, l’utente esamina le opere, legge note informative – esempi: il Davide di Michelangelo alla Galleria dell’Accademia di Firenze – esempi: Il monumento funebre di Arrigo VII all’Arcivescovado• Diffusione via rete
– L’utente visita un museo (o una singola opera) dal PC di casa
Beni Culturali: Fruizione
• Beni Culturali
– musei virtuali
– supporto multimediale musei tradizionali
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Computer Graphics: applicazioni
• Beni Culturali
– presentazione in rete
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Beni Culturali: Restauro
• Il restauratore si faceva fare degli schizzi su carta dell’opera da restaurare per fare una mappa degli interventi: col il modello virtuale può gestire tutto su PC
• Acquisizione dell’opera prima e dopo il restauro e confronto geometrico delle differenze
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Computer Graphics: applicazioni
• Beni Culturali
– modello 3D come "GIS"
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Beni Culturali: Studio
• ES: Simulazione caduta contaminanti
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a 15 degrees 5 degrees
Beni Culturali: Monitoraggio
• es: monitorare nel tempo la variazioni sui materiali deformabili
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
foresta di Dunarobba
http://www.forestafossile.it/public/new/
Beni Culturali: i mezzi
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
oggetto reale Rappresentazione digitale
Strumento di acquisizione
processing dei dati
• Acquisizione della forma geometrica (3D scanning)
Beni Culturali: i mezzi
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Visual Computing Lab – Stanford Uni 2000
• Acquisizione della forma geometrica
(3D scanning)
Beni Culturali: i mezzi
• Acquisizione del colore – semplici fotografie
• approssimato, dipende dalla luce
– Tecniche di calcolo della BRDF
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Ci torniamo sopra con calma
Computer Graphics: applicazioni
• Cultural heritage related – virtual museums – restoration support – monitoring
• Medicine – Diagnosis support – Tele surgery – Simulations
• Virtual Reality
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
• Scientific Visualization
• Manufacturing industry – Computer Aided Design – Simulations
• Telecommunications – Personalized Avatars – E – Commerce
• Entertainment industry – Games
– Cinematography
Computer Graphics: applicazioni
• Architettura:
– supporto al design
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a ArchiCAD (Graphsoft)
Computer Graphics: applicazioni
• Architettura:
– preview:
• comunicazione
• assessment
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Strata Renderer– (Strata)Area3D (with VRay) Brazil – SputterFish
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Summary
• Computer Graphics ( CG ):
– molteplici applicazioni
– medicali – industriali – beni culturali – militari – telecomunicazioni – commerciali
– ricerca scientifica (scivis) – intrattenimento: games – intrattenimento: movies – e altro (realta' virtuale....)
Computer Graphics interattiva: schema ricorrente
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
applicazione interattiva informazione
modellazione
rappresentazione adeguata
(per...)
Immagine/i
rendering /visualizzazione
preprocessing
modelling
esempio: acquisizione 3D per beni culturali
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
chiosco museale Statua reale Range scanning
(scansione laser) Mesh poligonale 3D
Immagine/i
rendering
Semplificazione, flitering…
esempio: games
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
videogame Artista
conent creator modellazione manuale
(e.g. 3Dstudio max, Maya, Blender…)Mesh low-poly + textures
Immagine/i
rendering /visualizzazione
semplificazione, u-v mapping, rigging…
esempio: sci-vis analisi di un terremoto
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
applicaz interattiva Modello
matematico
del terremoto Simulazione fisica
Campo di altezza (time-varying)
Immagine/i
rendering /visualizzazione
processing vari…
(es color-coding)
Rendering
• Parola utilizzata in molti contesti
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Modello rendering Immagine
descritto da un insieme di primitive
Rendering
• Esempio: nei web browser
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
la pagina come un’immagine
rendering
...
testo in HTML
(+ immagini, ccs, etc)modello della pagina WEB
Rendering
• Rendering 3D
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Scena 3D rendering Immagine
Rendering
• Rendering 3D
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Immagine Scena 3D rendering
...
modello 3D
• punti 3D
• primitive...
Algoritmi di Rendering
• Due tipi:
– On-Line Rendering
• Interattivo: circa 1 – 10 frames per sec ("fps")
• Real-Time: circa 10-100 fps – Off-line Rendering
• Tipicamente: da minuti ad ore per fotogramma
• Molto differenti:
– nelle applicazioni – nei vincoli
– nella qualità visiva raggiunta (e.g. fotorealismo) – negli algoritmi e SD usate
insomma: approcci diversi, mondi diversi.
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Real Time VS Offline rendering
• Distanza si accorcia
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Jurassic Park - Universal Studios 1993
real time
1993
Virtua Fighter - Sega 1993
Jurassic Park - Universal Studios 1993
offline
Real Time VS Offline rendering
• Distanza si accorcia
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Jurassic Park - Universal Studios 1993
Final Fintasy – Squaresoft 2001 nVIDIA tech demo at SIGGRAPH 2001
nVIDIA quadro
2001
real time offline
Real Time VS Offline rendering
• Distanza si accorcia
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Jurassic Park - Universal Studios 1993
2007
GPUGems III, d'Eon & Luebke (NVidia), 2007
real time offline
Spiederman 3– Squaresoft 2007
Rendering
• Rendering 3D
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Scena 3D rendering Immagine
Immagine: su che display hardware ?
• Su un monitor, naturalmente!
• Il tubo catodico: un fascio di elettroni viene diretto su una superficie coperta di materiale fosforescente
– Display vettoriali:
il fascio veniva pilotato direttamente in maniera totalmente libera – Display CRT:
raster linea per linea, si spazza tutto lo schermo un certo numero di volte al secondo (refresh rate)
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Asteroids – Atari 1980
Bomb jack - Tehkan 1984
Frame buffer
• Una porzione di memoria dedicata alla memorizzazione dell’immagine
– come array 2D di pixel da mostrare a video.
• Caratteristiche:
– Risoluzione (numero di pixel)
• Range tipici 320x200 .. 1600x1200 – Profondità (bit per pixel)
• Range tipici 1 .. 32 (128)
• Divisi in tipicamente 4 (o 3) canali ( R, G, B e Alpha)
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Rendering…
• Ci occuperemo principalmente di:
Real Time 3D Rendering Real Time 3D Rendering Real Time 3D Rendering Real Time 3D Rendering
Scena 3D rendering Immagine
screen buffer screen buffer screen buffer screen buffer ( array 2D di pixel ) N volte al sec
N volte al sec N volte al sec N volte al sec ( es N=60 )
dal resto dell' applicazione
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Real Time 3D Rendering
Problema challanging! per esempio:
• pixel pixel pixel pixel = 32 bit = 4 bytes ("pixel depth")
• screen buffer screen buffer screen buffer screen buffer = 1024 x 768 pixels ("screen resolution")
• frame rate frame rate frame rate frame rate = 60 Hrz ("fps")
188 MegaBytes 188 MegaBytes 188 MegaBytes 188 MegaBytes / / / / sec sec sec sec
(in questo esempio) (in questo esempio) (in questo esempio) (in questo esempio)
• total total total total = 4 x 1024 x 768 x 60 byte al sec ("fill-rate", in bytes )
(e mancano altri fattori moltiplicativi, come depth complexity, multipassate… vedremo) (e mancano altri fattori moltiplicativi, come depth complexity, multipassate… vedremo) (e mancano altri fattori moltiplicativi, come depth complexity, multipassate… vedremo) (e mancano altri fattori moltiplicativi, come depth complexity, multipassate… vedremo)
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Real Time 3D Rendering
• Fill-rates molto elevati – Anticipazione:
...e il fill-rate non è sempre il collo di bottiglia – Anticipazione 2:
...e questa è una sottostima del fill-rate.
• manca il fattore depth-complexity ~ x2.5 (come vedremo...)
• sono piu' di 32 bit x pixel
• C'è bisogno di muscoli potenza di calcolo
~
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Real Time 3D Rendering
• Problema difficile – fortunatamente,
processo massicciamente parallelizzabile – "embarrassingly parallel"
• Ingrediente base della soluzione:
hardware hardware hardware
hardware specializzato specializzato specializzato specializzato
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
dunque, questo corso...
...è un corso (introduttivo) di:
Real Real Real
Real----Time Time Time Time Hardware Hardware Hardware
Hardware----Based Based Based Based 3D Rendering 3D Rendering 3D Rendering 3D Rendering
Non ci occuperemo di altri aspetti della CG:
(sono solo 6 CFU )
• Altri paradigmi di rendering
– es. offline rendering, radiosity, global illumination, raytracing…
• Data representation
– es. volumetric data, polygonal meshes, NURBS, splines, subdivision surfaces, LODs, multiresolution structures…
• 3D acquisition (catturare modelli 3D dalla realtà) – es . “shape from shading (silhouettes)”, range scanning,
BRDF acquisition…
• Modellazione di superfici
– es. surface simplification, filtering, denoising, parametrization…
• Image-based rendering + modelling – es. light fields, mixed representations,
• Applicazioni specifiche della CG
– es. scientific or data visualization, beni culturali, games
• Animation techniques
– es. keyframing, cinematica diretta /inversa, skeletal animations, rigging…
• GP-GPU, o CUDA, o OpenCL
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 ‧ 2 0 1 0 / 1 1 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a