new computer graphics - cnrvcg.isti.cnr.it/~tarini/teaching/cg09/lez01.intro.pdf · 2010. 3. 4. ·...

11
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/?5B oppure: 1. google for: “Marco Tarini” 2. primo link 3. “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 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 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) tridimensionali 2. 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

Upload: others

Post on 17-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 2: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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)

Page 3: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 4: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 5: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 6: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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)

Page 7: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 8: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 9: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 10: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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

Page 11: New Computer Graphics - CNRvcg.isti.cnr.it/~tarini/teaching/cg09/Lez01.Intro.pdf · 2010. 3. 4. · 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

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