Computer Graphics. 188 MegaBytes / sec. Riassunto puntata precedente 1/3. Computer Graphics ( CG ): Lezione 2: hardware ergo triangoli

Documenti analoghi
Corso di Grafica Computazionale

ma... Computer Graphics Rasterization-based HW-supported rendering Lezione 3: modellare con triangoli Tutto sia composto da triangoli (3D)

ma... Computer Graphics Rasterization-based HW-supported rendering Lezione 3: modellare con triangoli Tutto sia composto da triangoli (3D)

Fondamenti di Grafica Tridimensionale

Grafica Computazionale

Fondamenti di Grafica Tridimensionale

Computer Graphics. Visione di insieme: Visione di insieme: Hardware specializzato per il rendering. Lezione 2: hardware ergo triangoli

Fondamenti di Grafica Tridimensionale

Computer Graphics. Visione di insieme: Visione di insieme: Hardware specializzato per il rendering. Lezione 2: hardware ergo triangoli

Grafica 3D per i beni culturali: 3D and rendering

Computer Graphics. Visione di insieme: Visione di insieme: Hardware specializzato per il rendering. Lezione 2: hardware ergo triangoli

Computer Graphics. Digital representation of 3D objects. 3D Rendering. Scena 3D rendering image. Marco Tarini - univ insubria AA 2016/2017

Computer Graphics. es: 3D Scanning. Riassunto puntata precedente 1/3. Computer Graphics ( CG ): Lezione 2: hardware ergo triangoli

Grafica 3D per i beni culturali: 3D and rendering. Lezione 2: 20 Febbraio 2014

Grafica 3D per i beni culturali: 3D e rendering. Lezione 2: 25 Febbraio 2016

Grafica 3D per i beni culturali: 3D and rendering. Lezione 2: 23 Febbraio 2011

Grafica Computazionale

Grafica Computazionale

Computer Graphics. Visione di insieme: Visione di insieme: Hardware specializzato per il rendering GRAPHIC HARDWARE

Non solo mesh. Height Map. Or: Height Field Or: 2.5 Dataset. Non di sole mesh vive la CG. Curisosità: physical height maps.

Rendering 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico

Caveat. Object e viewer, come tutte le metafore, sono entità non definite rigidamente. La luce fa parte del viewer? Il viewer è anch esso un object?

Computer Graphics. Computer Graphics. Lezione I: intro e applicazioni. docente: Marco Tarini

Obiettivi. Costruzione di interfacce. Esame. Programma. Strumenti. Concetti di base

Cenni al rendering di ombre

Cenni al rendering di ombre

Computer Graphics. Computer Graphics. me: Marco Tarini. Consulting hours : course web page: Lez 0: Intro and applications

I Modelli 3D più comuni: Mesh poligonali

Computer Graphics. Superfici di suddivisione. Modo molto diffuso per costruire mesh. modelling: superfici di suddivisione

Computer Graphics. Strumenti che servono. Computer Graphics. docente: Marco Tarini. ricevimento: pagina del corso: Strumenti che servono

Computer Graphics. Alcuni meccanismi propri del rasterization based rendering che non abbiamo visto Nuovi stage nel pipeline HW:

Computer Graphics. Semitrasparenze: come? Un vecchio trucco di imaging 2D: Quando scrivo un colore nello screen buffer, invece di: eseguo:

Fondamenti di Grafica al calcolatore

Computer Graphics. Se non si vede, che non ci sia CULLING. Notazione. Lo chiamiamo culling se si scartano primitive intere.

Computer Graphics. Se non si vede, che non ci sia CULLING. Tipi di Culling. Notazione. Occlusion culling

Computer Graphics. Marco Tarini - Computer Graphics - Lez 1. Univ Insubria 2014/ Computer Graphics. Strumenti necessari

Normal maps: come si ottengono (2/4)

Rendering. Visione Artificiale - 11 dicembre Agenda (1 di 2) - Rendering Real-Time e non Real Time. - Ambienti di moodellazione non Real Time

Computer Graphics. 3D Rendering. Digital representation of 3D objects. Scena 3D rendering image. Geometry of a 3D object. 3D Model

Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient

Sistemi di Visione Industriale

Applicazioni 3D avanzate

3DMark 2001 SE. Radeon 9600XT. Radeon 9200SE. 3DMark. Radeon 7500LE. GeForce2 MX

Scuola Politecnica - DICGIM ANNO ACCADEMICO CORSO DI LAUREA MAGISTRALE Ingegneria Informatica INSEGNAMENTO

Corso di Tecniche Avanzate per la Grafica Texturing

Modellizzazione di dati geografici

Introduzione alla modellazione 3d

Mesh triangolari i Modelli 3D universali dei games

Grafica al calcolatore - Computer Graphics

Grafica Computazionale. Texturing. Fabio Ganovelli a.a

Introduzione alla Modellazione Solida

Pipeline di rendering. Pipeline di rendering. Outline. Grafica off-line vs Grafica real-time

Grafica al Calcolatore Rasterizzazione - 1. Introduzione

Corso di Grafica Computazionale

Il disegno nel ciclo di vita del prodotto

Lighting. Realtà Virtuale: il presente, il passato, Lighting e il Shading futuro

Calendario delle lezioni

Informatica e Produzione Multimediale. Introduzione

Realtà Virtuale: il presente, il passato, il Shading futuro

Elaborazione e Visualizzazione di Modelli di Grandi Dimensioni di Terreni

Progettazione di circuiti integrati

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Mobile Virtual Reality (MVR): un nuovo modello di realtà virtuale A. Sanna C. Zunino F.Lamberti

Grafica al Calcolatore Introduzione - 1. La grafica al calcolatore

Local Lighting 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine

Corso di Grafica Computazionale Texturing

3DS MAX VRAY + VIRTUAL REALITY. Dalla configurazione del software al rendering finale in 360

Aggiungiamo attributi (per vertice!)

Registro dell'insegnamento

Texture mapping. Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica a.a. 2014/2015

Modelli 3D: come ottenerli

Superfici Parametriche

Introduzione alla Computer Graphics

Rendering Paradigms. FGT 2015/2016 Paolo Cignoni. (thx to Marco Tarini for part of the slides)

Rendering Paradigms. FGT 2015/2016 Paolo Cignoni. (thx to Marco Tarini for part of the slides)

La Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica.

Sistemi di Visione Industriale

Architettura degli elaboratori - 2 -

Stadio di Applicazione

Modellazione poligonale in Maya

Rendering Paradigms. SciViz 2018/2019 Paolo Cignoni. (thx to Marco Tarini for part of the slides)

Modelli 3D: come ottenerli

Corso Autodesk Maya. consulteklab.com CELL. 349/8/ web: (Effetti speciali 3d per film e animazioni)

Computer Graphics. Memoria RAM nelle schede grafiche. Texture Mapping: paradigma di memoria. Concetto. Tessiture: Caso più comune.

Introduzione Computer Graphics

Grafica al calcolatore - Computer Graphics

Sistema di Pianificazione Missione SDK

Fotorealismo. Dove si elencano trucchi sagaci ed effetti speciali che servono ad aumentare il fotorealismo nella rasterizzazione.

XCModel 3.0. An academic modeling/rendering. system. Università di Bologna. Giulio Casciola. Roberto Sottile. Eurographics Italian Chapter

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Introduzione al Many/Multi-core Computing

Grafica al calcolatore Computer Graphics

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics

Transcript:

Computer Graphics Lezione 2: hardware ergo triangoli Universit dell Insubria Facolt di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Marco Tarini Riassunto puntata precedente 1/3 Computer Graphics ( CG ): molteplici applicazioni medicali industriali beni culturali militari L telecomunicazioni commerciali ricerca scientifica (scivis) intrattenimento: games intrattenimento: movies e altro (realta' virtuale...) campo in forte progresso 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 2/40 Riassunto puntata precedente 2/3 Riassunto puntata precedente 3/3 mondo reale / modello matematico / artista 3D... acquisizione 3D / simulazione / modellazione (e.g. 3Dstudio max, Maya) Ci occuperemo principalmente di: Real Time 3D Rendering Geometria Scena 3D Immagine preprocessing (modelling) Immagine/i applicazione interattiva 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 3/40 resto dell' applicazione N volte al sec ( e.g. N=60 ) screen buffer ( array 2D di pixel ) 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 4/40 Real Time 3D Rendering Problema challanging! per esempio: pixel = 32 bit = 4 bytes ("pixel depth") screen buffer = 1024 x 768 pixels ("screen resolution") frame rate = 60 Hrz ("fps") total = 4 x 1024 x 768 x 60 byte al sec ("fill-rate", in bytes) 188 MegaBytes / sec 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 5/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 6/40 1

Real Time 3D Rendering Problema difficile fortunatamente, processo massicciamente parallelizzabile Ingrediente base della soluzione: hardware specializzato Sistemi Multimediali II Ci occuperemo principalmente di: Real-Time Hardware-Based 3D 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 7/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 8/40 Hardware specializzato per il Vantaggio: efficienza computazioni pi ripetute hard-wired nel chipset parallelismo /resto-dell-applicazione: nella scheda grafica resto dell'applicazione libera di utilizzare la CPU e RAM base MA SOPRATTUTTO: sfruttamento del parallelismo implicito nel problema di sotto forma di parallelismo di pipeline sotto forma di parallelismo in ogni fase del pipeline Svantaggio: rigidit vincola l'approccio usato per fare... Paradigmi di Raytracing Rasterization based Image based (per es. light filed) Radiosity Point-splatting... 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 9/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 10/40 Hardware dedicato alla grafica storia ~20 anni: dalla met degli '80 (e.g.: Iris - 1986) dalla met dei '90, il fiaccola passa dai mainframes ai PC progressi enormi nella efficienza piu' che "Moore s Law": ~2.4x / year invece di ~1.6 / year nella funzionalit i dettagli storici saltiamoli per ora» a mano a mano che vedremo le tecniche diremo quando sono state introdotte filosofia di fondo rimasta la stessa paradigma di : basato principalmente su rasterizzazione di triangoli 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 11/40 Hardware dedicato alla grafica storia Peak Perf. 10 9 10 8 10 7 ( 's/sec) 10 6 HP VRX Flat 10 5 shading UNC Pxpl4 GT HP CRX Iris 10 4 UNC Pxpl5 SkyWriter VGX HP TVRX Stellar GS1000 Gouraud shading One-pixel polygons (~10M polygons @ 30Hz) RE1 E&S F300 86 88 90 92 94 96 98 00 Year 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 12/40 RE2 Antialiasing UNC/HP PixelFlow Division Pxpl6 Megatek Textures IR Accel/VSIS E&S Freedom Division VPX E&S Harmony Voodoo R-Monster Nvidia TNT 3DLabs Glint Cobalt PC Graphics GeForce 3 & Radeon 2

Progresso congiunto HW e Algoritmi Un po come ruota e strada tecniche algoritmiche tecnologia ruota tecnologia strada 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 13/40 sviluppi hardware Rasterization-based HW-supported anche riferito come Transform and Lighting (T&L) paradigm Scena 3D composta da primitive di pochissimi tipi: punti linee MA SOPRATUTTO triangoli primitive di screen buffer 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 14/40 Rasterization-based HW-supported punto primo: tutto sia composto da triangoli (3D) o al limite da punti, o segmenti x v0 =( x0, y0, z0 ) Rasterization-based HW-supported tutto sia composto da triangoli (3D) o al limite da punti, o segmenti non tutto nasce composto di triangoli... y v1 =( x1, y1, z1 ) v2 =( x2, y2, z2 ) z 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 15/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 16/40 un quadrilatero? due un poligono a n lati? (n-2) "quad" "diagonal split" 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 17/40 triangolarizzazione di poligono: (non un problema del tutto banale...) 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 18/40 3

la superficie di un solido geometrico, per es. una sfera? la superficie di un solido geometrico, per es. una cono? 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 19/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 20/40 Esempio di campo di altezza triangolato "height field" un esempio tipico: campo d'altezza per modellare un terreno... un campo d'altezza? (array 2D di altezze, e.g. per modellare un terreno?) 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 21/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 22/40 x x una superficie curva parametrica? per es. NURBS *, b-splines *... questo ƒ facile. Il contrario, che qualche volta ƒ utile, MOLTO meno y z nuvola di punti? (point clouds) problema molto studiato, e (nel caso generale) difficile y z * verdemo M a r c o pi T a avanti r i n i nel C o corso, m p u t se e r c'ƒ G r tempo a p h i c s 2 0 0 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 23/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 24/40 4

da nuvola di punti a triangoli: esempio triangoli che definiscono una iso-superficie volume? algoritmi di segmentation (e.g. "marching cubes" * ) 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 25/40 * verdemo M a r c o pi T a avanti r i n i nel C o corso, m p u t se e r c'ƒ G r tempo a p h i c s 2 0 0 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 26/40 Da dataset volumetrico a triangoli: esempio triangoli che definiscono la superficie esplicitamente superfici implicite? nb: non c'e' un modo solo per farlo. Modo + semplice (non ottimo): campionare volume e estrarre isosuperfice a valore 0 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 27/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 28/40 Tornando allo schema generale... mondo reale / modello matematico / artista 3D... acquisizione 3D / simulazione / modellazione (e.g. 3Dstudio max, Maya) Tipica fase di preporsessing Geometria diagonal split (da quad a 2 tri) puˆ venire fatto anche qui, al volo preprocessing (modelling) Geometria Immagine/i applicazione interattiva 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 29/40 preprocessing (modelling) Tutto il resto che abbiamo visto nei lucidi precedenti (trasformazione in triangoli) tipicamente qui Immagine/i 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 30/40 5

Riassuntino Modellare direttamente con triangoli Quads Campi d'altezza rappresentare gli oggetti con triangoli "al volo" o al limite da punti, o linee Triangoli Forme geo. di base Superfici parametriche n-agoni Dati Volumetrici Superfici implicite r e n d e r i n g un coniglio di porcellana? una teiera? Nuvole di punti triangoli, triangoli, triangoli 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 31/40 Modellare direttamente con triangoli 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 32/40 Modellare direttamente con triangoli rappresentare gli oggetti con triangoli o anche quads o al limite da punti, o linee 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 33/40 modeller) 1994 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 5 / 0 6 U n i v e r s i t by d ephillip l l I nheckinger s u b r i a (3D - 34/40 Un limite di questo approccio Per dirla tutta sulle primitive di Non sempre e' semplice modellare le entit da rappresentare con triangoli... Triangoli ok, abbiamo capito esempi: Tutto l'hardware ƒ progettato e ottimizzato principalmente per questo caso Quads nuvole fuoco pelliccia in un certo senso, perchƒ diventano triangoli al volo Segmenti Punti by Niniane Wang (non real time) by N. Adabala uni florida (non real time) by M. Turitzin and J. Jacobs Stanford Uni (real time!) 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 35/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 36/40 6

Per dirla tutta sulle primitive di Per dirla tutta sulle primitive di Triangoli ok, abbiamo capito Quads in un certo senso, perchƒ diventano triangoli al volo Segmenti utili ad esempio per particle systems Triangoli ok, abbiamo capito Quads in un certo senso, perchƒ diventano triangoli al volo Segmenti utile ad esempio per fare di capelli peli etc (ma non ƒ l'unico sistema e non ƒ detto che sia il migliore) Punti Punti nvidia tech demo at SIGGRAPH 2001 nvidia quadro 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 37/40 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 38/40 nvidia technology demo at SIGGRAPH 2004 =REAL M a TIME!= 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 5 / 0 6 U n i v e r s i t d e l l I n s u b r i a - 39/40 7