new computer graphics - cnrvcg.isti.cnr.it/~tarini/teaching/cg09/lez01.intro.pdf · 2010. 3. 4. ·...
TRANSCRIPT
1
Computer Graphics
• docente: Marco Tarini e-mail: [email protected]
• ricevimento: dopo ogni lezione!o anche su appuntamento
• pagina del corso: http://vcg.isti.cnr.it/~tarini/?5Boppure:1. google for: “Marco Tarini”2. � primo link3. � “teaching”4. � “computer graphics 09/10”
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 0 9 / 1 0 ‧ 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 SoftwareWindows, C/C++, leggero, piccolo, gratuito, giocattolo, discontinued
• QT Creatorby Nokiacross-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 / etcWindows, 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 2009/10
Lezione I: intro e applicazioni
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
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 0 9 / 1 0 ‧ 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) tridimensionali2. Sintesi di immagini a partire da queste
• Campo molto vasto– Questo corso è introduttivo e copre solo una piccola parte
(v. dopo)
• Campo in rapido progresso– Specie nell'ultima trentina d'anni– Ha subito alcune importanti rivoluzioni di paradigma– Questo corso da 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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
2
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
UTI
LIZZ
ATE
DAL
LAC
GLI
MIT
RO
FEAL
LAC
GU
TILI
ZZAN
OLA
CG
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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• sono statici (di solito)• sono tanti (di solito)
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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)
3
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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– Visualizz. of dei
risultati della simulazione– Light Simulation...
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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
4
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 0 9 / 1 0 ‧ 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 2004vari
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 1993Star 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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
5
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 0 9 / 1 0 ‧ 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 valleyComputer 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
6
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
15 degrees5 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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
foresta di Dunarobbahttp://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 0 9 / 1 0 ‧ 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
processingdei 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 0 9 / 1 0 ‧ 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)
7
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a Brazil – SputterFishStrata Renderer– (Strata)Area3D (with VRay)
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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
applicazione interattiva
informazionemodellazione
rappresentazioneadeguata
(per...)
Immagine/i
rendering/visualizzazione
preprocessing
modelling
8
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 0 9 / 1 0 ‧ 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…
e.g. applicazione beni culturali
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
videogame
Artistaconent creator modellazione manuale
(e.g. 3Dstudio max, Maya)
Mesh low-poly+ textures
Immagine/i
rendering/visualizzazione
Semplificazione,u-v mappingrigging…
e.g. applicazione beni culturali
esempio: sci-vis
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
applicaz interattiva
Modellomatematicodi un terremoto Simulazione fisica
Campo di altezza(time-varying)
Immagine/i
rendering/visualizzazione
Processing vari…(es color-coding)
e.g. applicazione beni culturali
Rendering
• Parola molto generale:
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
Modello Immaginerendering
composto da varie 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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
la paginacome 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 0 9 / 1 0 ‧ 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
9
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
ImmagineScena 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
• Diversissimi:– nelle applicazioni– nei vincoli– nella qualita' (e.g. fotorealismo)– negli algoritmi– 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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
10
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 0 9 / 1 0 ‧ 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 memoriadedicata alla memorizzazionedell’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 0 9 / 1 0 ‧ 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 0 9 / 1 0 ‧ 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 RenderingReal Time 3D RenderingReal Time 3D RenderingReal Time 3D Rendering
Scena 3D rendering Immagine
screen bufferscreen bufferscreen bufferscreen buffer( array 2D di pixel )
N volte al secN volte al secN volte al secN volte al sec( e.g. N=60 )
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 0 9 / 1 0 ‧ 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:
• pixelpixelpixelpixel = 32 bit = 4 bytes ("pixel depth")
• screen bufferscreen bufferscreen bufferscreen buffer = 1024 x 768 pixels ("screen resolution")
• frame rateframe rateframe rateframe rate = 60 Hrz ("fps")
188 MegaBytes 188 MegaBytes 188 MegaBytes 188 MegaBytes / / / / secsecsecsec(in questo esempio)(in questo esempio)(in questo esempio)(in questo esempio)
• totaltotaltotaltotal = 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 0 9 / 1 0 ‧ 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 quella e' 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 0 9 / 1 0 ‧ 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 specializzatohardware specializzatohardware specializzatohardware specializzato
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a
dunque, in questo corso...
...è un corso (introduttivo) di:
RealRealRealReal----Time Time Time Time HardwareHardwareHardwareHardware----BasedBasedBasedBased
3D Rendering3D Rendering3D Rendering3D Rendering
Non ci occuperemo di altri aspetti della CG: (sono solo 6 CFU � )• Altre techiche di rendering
– es. offline rendering, radiosity, global illumination, raytracing…• Data representation
– es. polygonal meshes, NURBS, splines, subdivision surfaces, LODs, multiresolution structures…
• Acquisition– es. “shape from shading (silhouettes)”, range scanning,
BRDF acquisition…• Modellazione
– 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…• GPGPU, or CUDA
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 0 9 / 1 0 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a