Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
21/02/2008
Rendering
Visione Artificiale - 11 dicembre 2008
11/12/08 Visione Artificiale2
Agenda (1 di 2)
- Rendering Real-Time e non Real Time
- Ambienti di moodellazione non Real Time
• 3D Studio MAX
•Maya
• Ambienti OpenSource: Blender e Wings 3D
- Principali vantaggi del rendering non Real Time
• Mesh Smooth
• Rich Internet Applications
• Interactive
- L’approccio al rendering non Real Time
- Svantaggi del rendering non Real Time
11/12/08 Visione Artificiale3
Agenda (2 di 2)
21/02/2008 Visione Artificiale
Rendering RT e non RT (1 di 3)
4
Storicamente la CG è un ambito in cui per ottenere effetti tridimensionali notevoli
era imperativo operare in un contesto non RT.
Nel mondo della CG, la conquista dell’elaborazione RT è estremamente recente e
non ancora del tutto ultimata.
Solo da un decennio (circa) si sperimenta la possibilità di renderizzare ambienti 3D
in tempo reale, o quantomeno in intervalli di tempo inferiori al minuto.
21/02/2008 Visione Artificiale
Rendering RT e non RT (2 di 3)
5
La prima elaborazione 3D invece risale al 1967:
simulazione della cabina di pilotaggio di un Boeing.
Le simulazioni di sistemi sono state l’unica applicazione della grafica 3D per circa
un decennio.
La LucasArt segna l’ingresso della grafica 3D nel cinema nel 1980 con “L’impero
colpisce ancora”. Si tratta però di brevi rendering di oggetti ed esplosioni, la
maggior parte degli effetti speciali è ancora realizzata con tecniche classiche.
21/02/2008 Visione Artificiale
Rendering RT e non RT (3 di 3)
6
Nello stesso periodo anche l’industria dei videogames scopre la grafica 3D, con
MS Flight Simulator (1982) e Dragon’s Lair (1983).
Il primo film con apprezzabili effetti 3D è “Chi ha incastrato Roger Rabbit” nel 1988
Doom è rilasciato per PC nel 1993
Il primo film interamente in 3D è “Toy Story” del 1995 OpenGL risale al 1993. Il
primo HW dedicato per rendering 3D RT è la PlayStation nel 1994 uscita insieme
ai primi giochi full 3D: Resident Evil e SoulEdge.
21/02/2008 Visione Artificiale
Ambienti di sviluppo non Real Time
7
Lo stato dell’arte per i prodotti commerciali è pressoché identico.
Discreet 3D Studio Max (Autodesk)
Alias/WaveFront Maya (Autodesk)
SoftImage XSI
NewTek LightWave
Maxxon Cinema 4D
- Esistono anche soluzioni OpenSource.?
Blender (http://www.blender.it/)
Wings 3D (http://www.wings3d.com/)
21/02/2008 Visione Artificiale
Vediamo alcuni esempi...
8
21/02/2008 Visione Artificiale
Approccio allo sviluppo non Real Time
9
Due contesti applicativi:
- Rendering fotorealistici
- Rendering di elementi non fotorealistici
Non essendo presenti vincoli temporali, spesso si suddivide il lavoro in:
- Redazione di uno storyboard
- Suddivisione del progetto in elementi
- Modellazione di elementi 3D
- Post-produzione
21/02/2008 Visione Artificiale
Vantaggi del rendering non Real Time (1 di 2)
10
MeshSmooth
conferisce un aspetto più “dolce” ai modelli.
21/02/2008 Visione Artificiale
Vantaggi del rendering non Real Time (1 di 2)
11
MeshSmooth
conferisce un aspetto più “dolce” ai modelli.
Particle Systems
simulazione di effetti ambientali
21/02/2008 Visione Artificiale
Vantaggi del rendering non Real Time (1 di 2)
12
MeshSmooth
conferisce un aspetto più “dolce” ai modelli.
Particle Systems
simulazione di effetti ambientali
Radiosity
gestione avanzata di luci ed ombre
21/02/2008 Visione Artificiale
Vantaggi del rendering non Real Time (1 di 2)
13
MeshSmooth
conferisce un aspetto più “dolce” ai modelli.
Particle Systems
simulazione di effetti ambientali
Radiosity
gestione avanzata di luci ed ombre
Complex Materials and Chaustics
definizione di effetti di rifrazione/riflessione
con materiali complessi quali vetro, metallo,
plastica, ecc.
21/02/2008 Visione Artificiale
Vantaggi del rendering non Real Time (2 di 2)
14
HDRI e Raytracing
util izzo di modelli accurati della luca
ambientale, mediante rappresentazione a
particelle di fotoni.
21/02/2008 Visione Artificiale
Vantaggi del rendering non Real Time (2 di 2)
15
21/02/2008 Visione Artificiale
Vantaggi del rendering non Real Time (2 di 2)
16
HDRI e Raytracing
util izzo di modelli accurati della luca
ambientale, mediante rappresentazione a
particelle di fotoni.
Dynamics
simulazioni di effetti fisici quali caduta di
oggetti, ma anche peli e capelli
21/02/2008 Visione Artificiale17
Vantaggi del rendering non Real Time (2 di 2)
21/02/2008 Visione Artificiale
Svantaggi del rendering non Real Time
18
Assenza di feedback
Non si può avere un feedback immediato sui cambiamenti apportati alla scena
o ai modelli. Si deve aspettare che il rendering termini oppure eseguire dei
rendering a bassa risoluzione solamente di parti della scena.
Interazione nulla
Non è possibile implementare un tipo di interazione con gli utenti che modifiche
l’ambiente renderizzato in base alle loro scelte, a meno di “barare”.
21/02/2008 Visione Artificiale
Quanto si vuole aspettare?
19
La condizione di bottleneck si verifica sotto due aspetti
Bottleneck dei tempi di calcolo
I calcoli richiesti per il rendering della scena, nonostante la presenza di CPU sempre più
veloci e processori grafici integrati, non risulta accettabile. In alcuni casi si parla
addirittura di giorni oppure settimane.
Bottleneck della memoria
Spesso la RAM e la memoria virtuale non sono sufficienti a contenere l’esplosione di
poligoni derivante dalla conversione delle scene in triangoli per il rendering. Anche il
calcolo delle interazioni tra le varie particelle (collisioni) o di queste con deflettori e forze,
può creare una situazione di questo tipo.
21/02/2008 Visione Artificiale
Break!!
20
21/02/2008 Visione Artificiale
Come funzionano i videogames?
21
L’approccio adottato dalle tecniche di rendering non Real Time è troppo complesso e
computazionalmente intrattabile per prodotti che hanno forti requisiti in termini di
interattività.
Videogames
in 1/25 di secondo il PC deve calcolare:
- Intelligenza artificiale del gioco
- Eventuali interazioni con la scheda di rete
- Caricamento di dati da disco
- Risultati di simulazioni fisiche
- Rendering del frame corrente
Come fare?
21/02/2008 Visione Artificiale
Graphic Processor Unit
22
Unità dedicata alle operazioni di rendering, presente sulla scheda grafica.
Architettura fortemente dedicata, studiata per le elaborazioni 3D.
Implementa la cosiddetta “pipeline di rendering”.
Sviluppata per garantire flessibilità
21/02/2008 Visione Artificiale
Graphic Processor Unit
23
Vertici ed
Attributi
Vertex
OperationsRasterization
Fragment OperationsFrame Buffer
GPU
21/02/2008 Visione Artificiale
GPGPU
24
L’introduzione di moduli programmabili (gli shader) nell’architettura era motivata dalla
necessità di implementare modelli di illuminazione avanzati.
I moduli di shader sono unità SIMD
Si tratta di unità estremamente flessibili, talmente flessibili che è possibile
sfruttare dei “trucchi” per effettuare elaborazioni di carattere generale
Questa tecnica nasce come un “hack” nel 2001, ma si è consolidata negli anni...
21/02/2008 Visione Artificiale
nVidia CUDA
25
Computer Unified Device Architecture, sviluppata da nVidia per supportare le elaborazioni
di tipo General Purpose su scheda grafica.
Un’unico device di accelerazione a supporto del processore, ma...
..rimane una soluzione nata per la grafica 3D, quindi lo speedup è tanto maggiore quanto
gli algoritmi rispettano certi requisiti:
- Località dei dati
- Assenza di Branching
- Trasferimenti da e per la memoria limitati
qualche idea di algoritmi di Visione Artificiale che si prestano bene?
21/02/2008 Visione Artificiale
CUDA per Computer Vision
26
- Operazioni Puntuali?
- Filtri di smoothing?
- Filtri di de-noising?
- Trasformata di Hough?
- Flusso Ottico?
21/02/2008 Visione Artificiale
Conclusioni
27
Di fatto si dispone di un sistema di calcolo parallelo estremamente low cost...
.. a fronte di una curva di apprendimento non banale..
CUDA rimuove la necessità di conoscere l’architettura della pipeline di rendering,
ma è sempre necessario imparare un nuovo linguaggio di programmazione..
..anche se è un derivato del C.
Fortunatamente il 9 dicembre sono state rilasciate le specifiche OpenCL 1.0
...forse le cose stanno migliorando.
21/02/2008 Visione Artificiale
Domande?
28
21/02/2008 Visione Artificiale
Proposte di Tesi
29
..maggiori informazioni su http://vision.unipv.it