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

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

Fondamenti di Grafica Tridimensionale

Fondamenti di Grafica Tridimensionale

Grafica Computazionale

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

Fondamenti di Grafica Tridimensionale

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

Corso di Grafica Computazionale

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

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

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. Digital representation of 3D objects. 3D Rendering. Scena 3D rendering image. Marco Tarini - univ insubria AA 2016/2017

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

Cenni al rendering di ombre

Introduzione al Many/Multi-core Computing

Cenni al rendering di ombre

Materiali avanzati. Informatica Grafica per le arti. Raytracing. Raytracing. Raytracing. Raytracing. Raytracing

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

Rendering Locale. Rendering locale. Rendering locale. Rendering globale. Rendering globale

Grafica al Calcolatore Tecniche di mappatura - 1. Introduzione

Tecniche di image based relighting Esempi e applicazioni. Lezione 14: 19 Aprile 2011

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

Introduzione alla modellazione 3d

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

Materiali avanzati. Informatica Grafica I. Riflessioni e trasparenze. Raytracing. Raytracing. Raytracing. Raytracing

Modellazione poligonale in Maya

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

Corso di Tecniche Avanzate per la Grafica Lighting

È quel processo di creazione di un immagine bidimensionale a partire da un modello tridimensionale Tale immagine deve tendere a rappresentare ciò che

Laboratorio di Disegno

Lezione1. Cos è la computer grafica. Lezione del 10 Marzo Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano

Lezione 11: Solidi, superfici e proiezioni. Le proiezioni. Le proiezioni. Le proiezioni. Le proiezioni. Le proiezioni

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

Grafica al Calcolatore Fotorealismo - 1. Introduzione

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

Introduzione alla Computer Graphics

SKETCHUP INTERMEDIO + V-RAY. sintesiforma.it

Introduzione alla Grafica 3D

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

Grafica al calcolatore - Computer Graphics

Geometria Solida Costruttiva (CSG)

Corso di GraficaComputazionale Lighting

Grafica al calcolatore - Computer Graphics

MODULI DI MATEMATICA (PRIMO BIENNIO)

Grafica al calcolatore - Computer Graphics

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

Grafica al Calcolatore Modelli di illuminazione - 1. Introduzione

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

Corso di Grafica Computazionale

PROGRAMMAZIONE DI MATEMATICA 2016/2017

Prisma retto. Generatrice. Direttrice. Prisma obliquo. Nel caso le generatrici non siano parallele. Generatrice

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

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

Esercizi di Elementi di Matematica Corso di laurea in Farmacia

ITI M.FARADAY Programmazione Modulare a.s Matematica

ITI M.FARADAY PROGRAMMAZIONE DIDATTICA a.s CLASSI: TERZE Materia: MATEMATICA e COMPLEMENTI Ore settimanali previste: 4.

HIGH PERFORMANCE COMPUTING SU UNITA' GRAFICHE PROGRAMMABILI

La modellazione tridimensionale

POV-Ray. Introduzione all uso Proposte didattiche. Corso di perfezionamento

Grafica al calcolatore - Computer Graphics

BLENDER LEZIONI DI LABORATORIO

C = d x π (pi greco) 3,14. d = C : π (3,14) r = C : (π x 2)

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

Rappresentazione grafica delle ombre delle figure disegnate

CORSO COMPLETE. 25 ore

CLASSI: TerzeMateria: MATEMATICA e COMPLEMENTIOre settimanali previste: 4

LA STRUTTURA NARRATIVA. Prof. M.A. Alberti, A. Berolo, P. Pasteris

ScuolaSI computer grafica 3d

Modellizzazione di dati geografici

Test di Matematica di base

ISTITUTO TECNICO BUCCARI-MARCONI Cagliari. Programmazione di Matematica e complementi di Matematica a.s. 2019/20 MODULO 1: GEOMETRIA ANALITICA

ISTITUTO COMPRENSIVO SAN VENANZO PROGRAMMAZIONE ANNUALE MATEMATICA CLASSE III SECONDARIA I GRADO LIVELLI DI COMPETENZE I QUADRIMESTRE

CLASSI: TERZE Materia: MATEMATICA e COMPLEMENTI Ore settimanali previste: 4

Videogame e rendering 3D. Enrico Colombini (Erix) µhackademy 1 Marzo 2019

Capitolo 2. Cenni di geometria analitica nel piano

Novità di 3ds max 5. 3ds max 5.0 MIGLIORAMENTI IN ANIMAZIONE 3ds max 5

Texture Mapping Realtà Virtuale: il presente, il pass T a e t x o u, r i e l f M u a t p u pi ro ng

I Modelli 3D più comuni: Mesh poligonali

OTTICA (1) RIFLESSIONE E SPECCHI Lezione17, 4/12/2017, JW

Fondamenti e Applicazioni della Geometria Descrittiva Jessica Romor. Introduzione alla rappresentazione matematica

Grafica Computazionale. Texturing. Fabio Ganovelli a.a

Programmazione didattica annuale classi terze Disciplina Matematica

Proiezioni. La proiezione conica

INFORMATICA GRAFICA SSD ING-INF/05 Sistemi di elaborazione delle informazioni a.a. 2007/2008

esportati in formati diversi, di cui il più comune è il DXF (drawing exchange format) che è considerato uno degli standard di interscambio di dati

ISTITUTO COMPRENSIVO GIULIO BEVILACQUA DI CAZZAGO S. MARTINO (BS) ARTICOLAZIONE DELL UNITÀ DI APPRENDIMENTO

Grafica al Calcolatore Introduzione - 1. La grafica al calcolatore

Fondamenti di Grafica Tridimensionale

Il modello di Phong. Il modello di Phong. Il modello di Phong. Componente emissiva. Componente emissiva

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

SISTEMI DI RAPPRESENTAZIONE PROIEZIONI ORTOGONALI

Liceo Scientifico Statale Leonardo da Vinci Reggio Calabria. PROGRAMMA DI MATEMATICA Per la classe IV sez.d Anno scolastico 2012/13

Istituto di Istruzione Superiore L. da Vinci Civitanova Marche. Anno scolastico PROGRAMMA SVOLTO. Materia: Matematica

RUOLO DELLA MODELLAZIONE GEOMETRICA PARTE IN QUESTA LEZIONE E LIVELLI DI MODELLAZIONE. Prof. Daniele Regazzoni

OBIETTIVI DI APPRENDIMENTO

Transcript:

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

Modeling/Acquisition e Rendering Modeling/Acquisition creazione di un modello digitale che rappresenti una scena/oggetto di interesse (reale o non) Strumento di conoscenza Rendering tecniche che, a partire da un modello digitale, permettono di produrre delle immagini (statiche o animazioni dinamiche) Turning ideas into pictures Strumento di comunicazione 3D Geometric Models Rendering Image Storage and Display

Abbiamo la rappresentazione, vogliamo vederla! Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere da un object un immagine bidimensionale Rendering è il processo con cui un viewer genera un immagine a partire da una scene.

Insegnare al computer a disegnare Paradigma di Rendering: organizzazione di un processo di disegno in una sequenza di operazioni matematiche Esistono molti Paradigmi di Rendering Ray Tracing Raster-based (Transform & Lighting pipeline) Radiosity Ecc... Ogni approccio ha PRO e CONTRO Non sono algoritmi esclusivi, spesso si possono integrare insieme

Ray Tracing Centro di proiezione Piano immagine Griglia di Dührer: un raggio per ogni pixel Un raggio e : Un origine (corrisponde al centro di proiezione) Una direzione (determinata dall elemento della griglia) Geometric Optics: usare la metafora dei raggi per descrivere la luce. 5

Per approfondire: Image Plane Nelle macchine fotografiche il piano immagine (image plane) e situato dietro il centro di proiezione. Camera oscura: parete della scatola Macchine fotografiche: pellicola o sensore CCD Occhio umano: retina In questi casi l immagine si inverte! 6

Intersezione raggio-oggetto Come sapere se un raggio vede un oggetto? Matematicamente, avviene se quel raggio (semi-retta) interseca l oggetto! Facile per certe primitive geometriche: Sfera Cilindro Cubo Risolvere semplici sistemi di equazioni. y 2 + x 2 = r 2 7

E il colore? Dipende da: proprietà ottiche del materiale dell oggetto, e la sua geometria le fonti di luce che lo illuminano: le scene devono contere luci! posizione e orientamento del viewer Lighting: calcolare il colore di un oggetto cosi come appare ad un osservatore in una data scena. 8

Definire i materiali: Texturing Texture mapping: una o piu immagini sono associate ad un oggetto digitale. Per ogni punto della superficie dell oggetto sappiamo quale pixel della texture definisce il suo colore. Mapping: superficie -> texture Non un problema banale! 9

Ray Traced Lighting Soluzione: seguire il percorso della luce al contrario Ombre: Tra il punto di intersezione e la fonte di luce c e un altro oggetto? [facile: spara un altro raggio!] 10

Ray Traced Lighting Materiali riflettenti? Reflected Ray (specular) Invece di fermarci, cambiamo direzione al raggio e proseguiamo Continuamo a rimbalzare i raggi finché non troviamo un oggetto opaco! Refracted Ray 11

Ray-tracing (Turner Whitted) Rifrazione Riflessione Speculare Ombra 12

Caveat: Riflessione diffusiva Il colore del pavimento si tinge di rosso a causa della parete vicina In realtà TUTTO è una fonte di luce! 13

Ray Tracing: Caratteristiche È un paradigma di rendering globale: tiene conto delle interazioni tra oggetti diversi Modella facilmente le ombre portate Modella bene le riflessioni speculari e rifrattive Può calcolare la riflessione diffusiva ma a costo di tempo elevatissimo

Ray Tracing: Problemi Per ogni pixel (HD: 2 milioni) Calcola l intersezione con ogni oggetto Per calcolare anche le ombre il costo raddoppia Per le inter-reflection piu complicate il costo si moltiplica esponenzialmente Eseguire il rendering di una scena puo occupare da minuti a ore (a giorni)! 15

Altri paradigmi (Illuminazione globale) Photon mapping Si simula la luce nella sua vera direzione, partendo dalle sorgenti e interagisce con le superfici. Illumina anche zone non viste (non necessarie) Radiosity Le superfici sono partizionate in pezzetti (patch) Si pre-calcola quanta parte dell energia che esce da una patch arriva ad ogni altra patch della scena Ottime riflessioni diffuse, ma impossibile catturare riflessioni speculari!

Mitsuba Example 17

E le primitve geometriche? Il mondo non e fatto solo di cubi e sfere E possibile modellare una scena sottraendo e sommando primitive semplici: Constructive Solid Geometry Poca espressivita. Esistono paradigmi migliori. (es. NURBS: piccoli elementi curvi) 18

Facce poligonali Faccia: piccolo poligono planare definito da vertici Facce con quattro o piu vertici possono non essere planari ma per tre punti passa uno e un solo piano. 19

Cambiamo paradigma: Transform & Lighting Le facce sono primitive piu versatili Se conosco la proiezione dei vertici, posso disegnare i bordi, riempire le facce Connetti i puntini 20

Ribaltare il paradigma di rendering Ray Tracing: Ogni raggio deve cercare nella scena gli oggetti che vede Transform & Lighting: Ogni oggetto si calcola la zona del piano immagine che occupa (proiezione) 21

Proiezione: un accenno Se il punto di proiezione e nell origine del mio sistema di coordinate. e il piano immagine si trova perpendicolare all asse delle Z Ovvero: la formula e incredibilmente semplice e veloce da calcolare! 22

Transforms: calcolare coordinate di vertici Proiezione sulla tela bidimensionale Trasformazione 3D -> 2D schiacciare le coordinate sul piano immagine Scena composta di oggetti multipli Trasformazione 3D -> 3D spostare le coordinate Le trasformazioni: Ruota Transla Scala Proietta 23

Transform & Lighting Il costo ora e : Per ogni vertice di ogni triangolo di ogni oggetto, calcola la sua proiezione sul piano immagine. I pixel che non vedono niente non vengono attivati. La proiezione e Computazionalmente poco costosa Matematicamente identica per ogni vertice. Indipendente per ogni vertice. Posso quindi progettare hardware per risolvere questo compito in parallelo. 24

Il lighting nel paradigma T&L L illuminazione è locale alla primitiva (triangolo, punto, linea) renderizzata L illuminazione viene calcolata via via che si disegnano le primitive...niente ombre portate...niente inter-reflection (diffusiva, speculare, ecc...) detto in altro modo: il paradigma di rendering raster-based non codifica il concetto di scena

I triangoli come primitiva universale un quadrilatero? due triangoli! "quad" "diagonal split"

I triangoli come primitiva universale un poligono a n lati? (n-2) triangoli! triangolarizzazione di poligono: (non un problema del tutto banale...)

I triangoli come primitiva universale la superficie di un solido geometrico, per es. una sfera? triangoli!

I triangoli come primitiva universale la superficie di un solido geometrico, per es. un cono? triangoli!

I triangoli come primitiva universale una superficie curva parametrica? triangoli! questo è facile. Il contrario, che qualche volta è utile, MOLTO meno

I triangoli come primitiva universale x x y nuvola di punti? (points cloud) z y triangoli! z problema molto studiato e (nel caso generale) difficile

I triangoli come primitiva universale triangoli che definiscono la superficie esplicitamente superfici implicite? f(x,y,z)=0 triangoli!

Dai triangoli alla Mesh Chiameremo Mesh una struttura poligonale Le nostre saranno Triangular Meshes La topologia: Vertex Face (Triangle) Edge

Un limite di questo approccio Non sempre e' semplice modellare le entità da rappresentare con triangoli... esempi: nuvole fuoco pelliccia by Niniane Wang (non real time) by N. Adabala uni florida (non real time) by M. Turitzin and J. Jacobs Stanford Uni (real time!)

Per dirla tutta sulle primitive di rendering Triangoli ok, abbiamo capito Tutto l'hardware è progettato e ottimizzato principalmente per questo caso Quads in un certo senso, perchè diventano triangoli al volo Segmenti Punti

Per dirla tutta sulle primitive di rendering Triangoli ok, abbiamo capito Quads in un certo senso, perchè diventano triangoli al volo Segmenti utile ad esempio per fare rendering di capelli peli etc (ma non è l'unico sistema e non è detto che sia il migliore) Punti nvidia tech demo at SIGGRAPH 2001 nvidia quadro

Per dirla tutta sulle primitive di rendering Triangoli ok, abbiamo capito Quads in un certo senso, perchè diventano triangoli al volo Segmenti utili ad esempio per particle systems Punti

Meshlab Example: Primitive 40

La Pipeline di Rendering Def: La serie di passaggi consecutivi che trasformano la descrizione geometrica di una scena in un immagine sullo schermo ovvero: che implementano un paradigma di rendering La pipeline presente nell'hardware grafico dei PC (e dei telefonini!) implementa il paradigma di Transform & Lighting.

Cenni storici sull hardware grafico (1) Lo schema base della pipeline di rendering y 3D 2D x y x Transform & Lighting Rasterization z Fino a metà degli anni 90 tutte le parti della pipeline erano eseguite dalla CPU

La rasterizzazione Una volta eseguite tutte le trasformazioni (inclusa la proiezione) 2D Rasterization 2D Qui il triangolo è descritto con 3 punti 2D Qui il triangolo è descritto con un insieme di pixel 43

Qualche altro dettaglio... Sottosistema Geometrico y x 3D 2D Transform & y Transform x Lighting z Sottosistema Raster Rasterization fragments Il frammento è lo stadio precedente al pixel. Non tutti i frammenti diventeranno per forza pixel Texture Mapping & Shading Z-Buffering Blending Display

Z-Buffering, Blending Z-buffering: più oggetti possono essere proiettati sulle stesse coordinate, ed ognuno genera un frammento. Lo Z- buffering è un algoritmo che determina quale dei frammenti in conflitto diventerà il pixel Blending (blending = mischiare, fondere insieme): capita che il colore del pixel debba essere ottenuto mescolando il colore di più frammenti (relativi alla medesima posizione). Es: materiali semitrasparenti

Cenni storici sull hardware grafico (2) 1995-1997: 3DFX Voodoo 3D CPU 2D y Transform & y Rasterization x x Lighting z Memoria Centrale Memoria Video bus PCI (parallelo 32 bit, 66 Mhz, larghezza di banda 266 MB/s, condiviso)

Cenni storici sull hardware grafico (3) 3D x 2002-3: Pixel (o fragment) Shader (GeForceFX, Radeon 8500) CPU GPU: Graphical Processing Unit y y z x Transform & Lighting 2D Rasterization Vertex Shader Pixel Shader Memoria Centrale Memoria AGP bus AGP Memoria Video

Cenni storici sull hardware grafico (4) 3D x 2007: geometry shader, stesso hardware per tutti gli shaders (NVidia 8800) CPU GPU: Graphical Processing Unit y y z x Transform & Lighting 2D Rasterization Vertex Shader Pixel Shader Memoria Centrale Memoria AGP Geometry Shader bus PCI-E Memoria Video

Simulare la Global Illumination Migliorare la leggibilità dei modelli è importante Ambient Occlusion: Calcolare la percentuale di cielo visibile da ogni vertice dell'oggetto e usarla come ombreggiatura. Shaders: Meshlab permette di applicare molti tipi di Shaders, anche non-realistici X-ray Radiance Scaling 49

Meshlab Example: AO e Shaders 50

Note sulla GPU odierne Modello di computazione SIMD (single intruction multiple data): sfrutta l'alto grado di parallelismo insito nella pipeline Potenza di calcolo: performance delle GPU NVidia Ecco il perchè del General Purpose Computation on GPU.

General Purpose Computing on GPUs Ogni algoritmo facilmente parallelizabile puo diventare 10 o 100 volte piu veloce se eseguito su GPU. Ray Tracing, Photon Mapping e altri paradigmi di illuminazione globale tornano ad essere possibili. Non siamo ancora pronti pero ad abbandonare la pipeline T&L 52

Note finali Il realismo costa Algoritmi di illuminazione globale richiedono ancora troppo tempo L hardware grafico e stato pensato per T&L su triangoli Nell ambito beni culuturali questo spesso e una limitazione 53

Next in line Next lesson: Re-Lightable images: Theory Contacts: Matteo Dellepiane c/o ISTI-CNR Via G. Moruzzi 1 56124 Pisa (PI) Tel. 0503152925 E-Mail: dellepiane@isti.cnr.it Personal website: http://vcg.isti.cnr.it/~dellepiane/ VCG website: http://vcg.isti.cnr.it