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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 Computer Graphics Lezione 6: culling: se c è ma non si vede! Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2011/12 Marco Tarini Se non si vede, che non ci sia CULLING cioè: non perdiamo tempo a renderizzare ciò che non si vede buttiamo via le primitive che non cambiano la scena o, che non la cambiano abbastanza facciamolo il prima possibile! (nel pipeline) i chiaro?! (o, o...) Notazione Lo chiamiamo culling se si scartano primitive intere o interi gruppi di primitive Se una primitiva viene spezzata in una parte visibile e una no, lo chiamiamo clipping Se è un frammento ad essere scartato, si tratta di testing Tipi di Culling quale ci fa piu' gola? Il culling può essere quindi é chiaro che la scelta non é fra HW e SW, ma fra solo HW ed entrambi Eseguito dall'hardware in GPU molto efficiente (overhead piccolo) ma scarta tardi, e una primitiva alla volta spesso una funzionalità hard-wired Eseguito dall'applicazione (SW) richiede algoritmi e strutture dati appositi ogni cull può essere oneroso (overhead) ma scarta primitive presto e a gruppi! Il culling può essere Conservativo scarta solo se è sicuro che il risultato non cambia si accetta il rischio di processare anche cose che alla fine non saranno visibili Non Conservativi scartano seguendo un'euristica si accetta il rischio di NON disegnare qualcosa che (in parte) era visibile! casomai, non succede nulla. Si è solo spercato un po di calcolo GPU quando succede, si produce un incongruenza nel renering, cioè un... 1

2 ..."artefatto"! un difetto di modelling: discrepanza fra quello che si intende modellare e il modello 3D usato di rendering: discrepanza fra modello 3D e immagini renderizzate..."artefatto"! esempi di artefatti di rendering es di Artefatto di modelling: questo lago è modellato da un campo di altezza che presenta uno scalino non si vede... perchè coperto da qualcos'altro Backface Culling Un caso particolare di Occlusion Culling Idea: ipotesi: e opaca non vedrò mai l'interno! Backface Culling Un caso particolare (e facile) di Occlusion Culling Idea: ipotesi: e opaca non vedrò mai l'interno! qualunque faccia si veda da dietro (back-facing triangles) finirà per forza occlusa alla vista da (almeno) un layer di facce viste da davanti (front-facing triangles) posso scartare tutte i back-facing triangles Concetto BASE di questo corso Vettore normale ortogonale ad un piano o ad un un poligono detto anche "vettore" normale detto anche NORMALE (al/del piano) n^ In pratica: normale == orientamento Nota: a rigore di termini, vettore normale = vettore con norma 1 2

3 Come si trova la normale di un triangolo? Traingolo front-facing Traingolo back-facing "che ci dà le spalle" view dir view dir v 1 n^ v 2 v 0 v 2 v 0 n^ v 1 (HW) Backface Culling: dove? QUI. (nella fase di set-up che precede la rasterizzazione dei ) (HW) Backface Culling: quanto? (HW) Backface culling: quando? Non posso usarlo sempre! devo sapere a priori che l'oggetto è chiuso primitive qui occlusion culling ON / OFF...ma solo da questo punto in poi! scarto circa il 50% delle facce... Lo speed-up? x2? stato di OpenGL tutto il pipeline HW di rendering (proiezione,, rasterizzazione...) s (HW) Backface culling: come? Attivare e disattivare: glenable( GL_CULL_FACE ); gldisable( GL_CULL_FACE ); Tutti questi comandi cambiano solo lo stato. "non fanno nulla sullo schermo" Decidere se scartare le front o le back-facing : glcullface(gl_front ); glcullface(gl_back ); Quale sarà il default? Quando è utile cambiarlo? (HW) Backface culling: note Test conservativo se valgono le ipotesi Usa (implicitamente) la normale geometrica cioè la normale effettiva del triangolo non: la normale che potremmo definire noi (arbitrariamente) come attributo (dei vertici) in realtà, basta determinare in che ordine appaiono i tre vertici sullo schermo: es: orario backfacing antiorario frontfacing default di OpenGL 3

4 (HW) View-frustum culling Dato una primitiva triangolo, segmento, punto E' dentro il view frustum? (o parzialmente dentro conservativi!) Meglio fare il conto nelle Normalized Device Coords [-1,+1] x [-1,+1] x [-1,+1] (non a caso dette anche Clip Coords) z y x (HW) View-frustum Culling: dove? Idea: farlo prima di mandare nel pipeline di rendering Dividere la scena in blocchi è nata già divisa nella maggior parte dei casi (v. scenegraph)...di nuovo, solo da questo punto in poi! Ma ora possiamo agire dall'inizio! Posso scartare moltissimo della scena! perché così sarà possibile scartare (=to cull ) interi blocchi alla volta! Problema: bisogna fare culling prima delle proiezioni come sono i piani? view frustum top plane : test di un singolo poligono Nelle coordinate oggetto (o mondo)! 6 test con 6 piani del view frustum! near plane right plane bottom plane far plane left plane Ripasso di geometria: i piani... vettori (nx,ny,nz,k) 4

5 Oltre al un poligono alla volta : bounding volumes bounding volume dell oggetto X = semplice forma che stima (per eccesso) il volume occupato da X Precomputato per ogni oggetto della scena Strumento molto utile in cg. Esempi di applicazione: collision detection (in games, bounding volumes detti anche hit-box) ray-tracing e, appunto, culling (view frustum, etc) bounding volumes Tipi di bounding volumes: Axis Aligned Bounding Box (A.A.B.B.) (generic) Bounding Box Discrete Oriented Polytope (D.O.P.) Bounding sphere Bounding ellipsoids (axis aligned or not) Bounding cylinders Difetti e pregi quanto sono onerosi da pre-computare? quanto sono aderenti? sono robusti a rotazioni? quanto sono onerose le query (es.: di intersezione)? esempio 1/3: gerarchia di bounding spheres esempio 2/3: intersezione sfera view frustum Sfera centro c raggio r Test con un piano p (con normale normalizzata) Facile! pc > r sfera tutta al di qua del piano pc < -r sfera tutta al di là del piano altrimenti: sfera mezza dentro e mezza fuori Test contro view frustum: testare tutti e 6 i piani esempio 3/3 : algoritmo finale Test effettuato con la Bounding sphere della cella se è TUTTA FUORI del VF CULL se e è TUTTA DENTRO il VF, RENDER tutta la cella se e è PARIALMENTE dentro il VF: Se siamo all ultimo livello: RENDER Altrimenti: Test sulle celle di livello inferiore 5

6 Occlusion Culling Una forma molto importante di culling Scarta moltissimi poligoni tutti quelli che compongono il "mondo" Ma dove attuarla? richiede info globali, su tutta la scena Cell-Based Occlusion-Culling (software) Idea base: Preprocessing: dividere il mondo in celle collegate da "portali" calcolare per ogni cella il "PVS PVS" di solito molto oneroso computazionalmente PVS = Potentially Visible Set cioe' la lista di celle che sono visiblili da quella cella Rendering: trova la cella x dove è l'occhio rendering solo delle celle nel PVS di x dentro il view frustum vediamo degli esempi Struttura: BSP-tree (Binary Spatial Partitioning tree) Obiettivo: circa stesso numero di primitive in ogni cella Quad-Tree (in 2D, o 2.5D es. campi d'altezza) Oct-Tree (in 3D partizione di un volume) stesso obiettivo il mondo il mondo (2D) Quad-Tree esempio frame buffer James Stewart, School of Computing, Queen's University, Kingston, Ontario mondo diviso con quad tree celle con bordo bianco sono nel view frustum ma non sono nel PVS: CULLED 6

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. Notazione. Lo chiamiamo culling se si scartano primitive intere. Computer Graphics Lezione 6: culling: se c è ma non si vede! Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2010/11 Marco Tarini Se non si vede,

Dettagli

Intersezioni e collisioni

Intersezioni e collisioni Intersezioni e collisioni Dove si descrivono i principali algoritmi per verificare l intersezione tra oggetti geometrici o rilevarne la collisione Introduzione Richiami di geometria analitica Intersezioni

Dettagli

Tecniche per applicazioni interattive

Tecniche per applicazioni interattive Tecniche per applicazioni interattive Dove si introducono alcune tecniche di rendering adatte alla realizzazione di applicazioni interattive. Introduzione Visibility culling Livello di dettaglio continuo

Dettagli

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti)

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti) Computer Graphics Università dell Insubria Corso di Laurea in Informatica la rasterizzazione from vertex to pixels Rasterizer: lines (segmenti) Vertici (punti in R 3 ) computazioni per vertice Z Vertici

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics Pipeline di rasterizzazione 13/03/17 Grafica 2017 1 Rasterization pipeline Abbiamo descritto la procedura intuitiva del ray-casting Abbiamo tuttavia già visto

Dettagli

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

Computer Graphics. Digital representation of 3D objects. 3D Rendering. Scena 3D rendering image. Marco Tarini - univ insubria AA 2016/2017 Computer Graphics Digital representation of 3D objects Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2016/17 Marco Tarini 3D Rendering Scena 3D

Dettagli

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) Computer Graphics Leione 3: modellare con triangoli Università dell Insubria Facoltà di Sciene MFN di Varese Corso di Laurea in Informatica Anno Accademico 01/13 Rasteriation-based HW-supported rendering

Dettagli

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

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico Sintesi di Immagini Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere

Dettagli

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?

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? Sintesi di Immagini Metafora fondamentale Object vs viewer Object (scene): rappresentazione digitale (forma e caratteristiche) di un oggetto reale tridimensionale Viewer: strumento che permette di otternere

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale Rimozione delle superfici nascoste Fabio Ganovelli fabio.ganovelli@gmail.com a.a. 2006-2007 Dalle diapositive a corredo del libro: Fondamenti di Grafica Tridimensionale Interattiva

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics Pipeline di rasterizzazione 29/02/16 Grafica 2015 1 Rasterization pipeline Abbiamo descritto la procedura intuitiva del ray-casting Abbiamo tuttavia già visto

Dettagli

Real-time rendering. Realtà Virtuale: il presente, il passato, time rendering il futuro

Real-time rendering. Realtà Virtuale: il presente, il passato, time rendering il futuro Real Time rendering Requisiti real-time richiedono basso carico poligonale sulla pipeline Metodi conservativi e non conservativi Tecniche di culling (conservative) Tecniche di semplificazione (non conservative)

Dettagli

Real Time rendering Requisiti real-time richiedono basso carico poligonale sulla pipeline Metodi conservativi e non conservativi Tecniche di culling (

Real Time rendering Requisiti real-time richiedono basso carico poligonale sulla pipeline Metodi conservativi e non conservativi Tecniche di culling ( Real-time rendering Real Time rendering Requisiti real-time richiedono basso carico poligonale sulla pipeline Metodi conservativi e non conservativi Tecniche di culling (conservative) Tecniche di semplificazione

Dettagli

Stadio di Applicazione

Stadio di Applicazione Stadio di Applicazione SCENE MANAGEMENT Grafica 3D in tempo reale: Realtà virtuale: refresh rate minimo 25 Hz Necessità: processare velocemente scene complesse (t frame

Dettagli

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

Computer Graphics. Semitrasparenze: come? Un vecchio trucco di imaging 2D: Quando scrivo un colore nello screen buffer, invece di: eseguo: Computer Graphics Lezione 14: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2008/09 Marco Tarini 14: alpha blending Un vecchio trucco di imaging

Dettagli

Cenni al rendering di ombre

Cenni al rendering di ombre Cenni al rendering di ombre Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Ombre Componenti fondamentali per aumentare

Dettagli

Cenni al rendering di ombre

Cenni al rendering di ombre Cenni al rendering di ombre Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2012/2013 Ombre Componenti fondamentali per aumentare

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 7 Pipeline di rasterizzazione 24/11/12 Grafica 2013 1 Rasterization pipeline Sappiamo implementare ray casting (o ray tracing). Abbiamo tuttavia già visto che

Dettagli

Poligoni, Poliedri e Volumi

Poligoni, Poliedri e Volumi Poligoni, Poliedri e Volumi Poligoni Un poligono è una figura con n la5, definita da un insieme ordinato di almeno 3 pun5 nel piano, nel quale ogni punto è collegato al successivo (e l ul5mo al primo)

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Real-Time Rendering Introduzione all hardware grafico Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Hardware Grafico

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 5 - Rendering 29/10/12 Grafica 2013 1 Rendering Il termine rendering indica la serie di algoritmi, geometrici e non, a cui si sottopone una data descrizione di

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 6 Pipeline di rasterizzazione 28/11/14 Grafica 2013 1 Rasterization pipeline Sappiamo implementare ray casting (o ray tracing). Abbiamo tuttavia già visto che

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 7 Pipeline di rasterizzazione 23/11/13 Grafica 2013 1 Rasterization pipeline Sappiamo implementare ray casting (o ray tracing). Abbiamo tuttavia già visto che

Dettagli

richiedono basso carico poligonale sulla pipeline Metodi conservativi e non conservativi

richiedono basso carico poligonale sulla pipeline Metodi conservativi e non conservativi Real Time rendering Requisiti real-time richiedono basso carico poligonale sulla pipeline Metodi conservativi e non conservativi Tecniche di culling (conservative) Tecniche di semplificazione (non conservative)

Dettagli

Le problematiche della grafica tridimensionale

Le problematiche della grafica tridimensionale Architetture per la grafica 3D Le problematiche della grafica tridimensionale Marco Gribaudo marcog@di.unito.it Per riuscire a comprendere a pieno le motivazioni che hanno determinato le scelte effettuate

Dettagli

Introduzione. Breve Introduzione agli indici spaziali. Tipiche operazioni. Es. Contenimento punto in rettangolo

Introduzione. Breve Introduzione agli indici spaziali. Tipiche operazioni. Es. Contenimento punto in rettangolo Introduzione Breve Introduzione agli indici spaziali Claudio Rocchini Istituto Geografico Militare Alcune operazioni geometriche di ricerca possono risultare particolarmente onerose da calcolare. er velocizzare

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale Ray-Tracing Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Ray-Tracing e Rasterization Rendering in Computer Graphics Rasterization: Proiettare la scena sullo schermo

Dettagli

Computer Graphics. Mesh import. Piano: Let s Import Meshes! Guardiamo dentro la nostra mesh con un plain text editor. 1. Procurarsi alcune mesh

Computer Graphics. Mesh import. Piano: Let s Import Meshes! Guardiamo dentro la nostra mesh con un plain text editor. 1. Procurarsi alcune mesh Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2014/15 Marco Tarini Let s Import Meshes! Mesh import Funzioni esistenti (non cambia nulla) Piano: 1. procurarsi

Dettagli

Grafica al Calcolatore Fotorealismo - 1. Introduzione

Grafica al Calcolatore Fotorealismo - 1. Introduzione Grafica al Calcolatore Fotorealismo - 1 Introduzione Grafica al Calcolatore Fotorealismo - 2 Environment map Grafica al Calcolatore Fotorealismo - 3 r v è il versore della direzione di vista v riflesso

Dettagli

Computer Graphics LIGHTING. (local) Lighting in breve. lo Shading. Baked lighting VS dynamic lighting. Es: equazione di Lighting.

Computer Graphics LIGHTING. (local) Lighting in breve. lo Shading. Baked lighting VS dynamic lighting. Es: equazione di Lighting. Computer Graphics Lighting in breve Lezione : Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 20/2 Marco arini lo Shading Proprietà del materiale

Dettagli

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

Obiettivi. Costruzione di interfacce. Esame. Programma. Strumenti. Concetti di base Obiettivi Costruzione di interfacce Paolo Cignoni p.cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni Progettazione e realizzazione di applicazioni interattive, con un interfaccia utente non banale che

Dettagli

Grafica al Calcolatore Tecniche per applicazioni interattive - 1. Introduzione

Grafica al Calcolatore Tecniche per applicazioni interattive - 1. Introduzione Grafica al Calcolatore Tecniche per applicazioni interattive - 1 Introduzione Grafica al Calcolatore Tecniche per applicazioni interattive - 2 Rappresentazione della scena Grafica al Calcolatore Tecniche

Dettagli

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

Rendering 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine Rendering (recall?) Game Engine Parte del game che si occupa di alcuni dei task comuni Scena / livello Renderer Real time transofrm + lighting Models, materials Phsics engine (soft real-time) newtonian

Dettagli

Primitive 3D. Lo Z-Buffer. Informatica Grafica ][ Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer

Primitive 3D. Lo Z-Buffer. Informatica Grafica ][ Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer. Lo Z-Buffer Informatica Grafica ][ Primitive 3D Fino ad ora abbiamo utilizzato solamente triangoli singoli. In questa lezione vedremo come disegnare primitive composte da piu' triangoli. Prima pero' dovremo attivare

Dettagli

Corso Grafica Computazionale

Corso Grafica Computazionale Corso Grafica Computazionale Trasformazioni Geometriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Trasformazioni Geometriche Le trasformazioni

Dettagli

Corso GraficaComputazionale

Corso GraficaComputazionale Corso GraficaComputazionale Trasformazioni Geometriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Trasformazioni geometriche e matrici

Dettagli

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) Computer Graphics Leione : modellare con triangoli Università dell Insubria Facoltà di Sciene MFN di Varese Corso di Laurea in Informatica Anno Accademico 011/1 Rasteriation-based HW-supported rendering

Dettagli

L altra metà del motore fisico. Due tipi di collisione: one way: oggetti dinamici con oggetti statici two ways: oggetti dinamici con oggetti dinamici

L altra metà del motore fisico. Due tipi di collisione: one way: oggetti dinamici con oggetti statici two ways: oggetti dinamici con oggetti dinamici Collision handling! L altra metà del motore fisico Collision Handling: un ottimizzazione Distinzione a-priori fra: oggetti statici so che sono sempre fermi (vel = 0) «sfondo» influenzano gli altri oggetti,

Dettagli

Grafica al Calcolatore Tecniche di mappatura - 1. Introduzione

Grafica al Calcolatore Tecniche di mappatura - 1. Introduzione Grafica al Calcolatore Tecniche di mappatura - 1 Introduzione Grafica al Calcolatore Tecniche di mappatura - 2 Texture mapping Grafica al Calcolatore Tecniche di mappatura - 3 La texture può essere applicata

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale Clipping e Hidden Surface Removal Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 2006 Diapositive a corredo del libro: Fondamenti di Grafica Tridimensionale Interattiva

Dettagli

Informatica Grafica. Gianluigi Ciocca, Simone Bianco F1801Q120

Informatica Grafica. Gianluigi Ciocca, Simone Bianco F1801Q120 Informatica Grafica Gianluigi Ciocca, Simone Bianco F1801Q120 Ray Tracing Lighting(10) Nel caso in cui l oggetto sia semi-trasparente bisogna considerare anche la luce che passa attraverso l oggetto Luce

Dettagli

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

Computer Graphics. 188 MegaBytes / sec. Riassunto puntata precedente 1/3. Computer Graphics ( CG ): Lezione 2: hardware ergo triangoli 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

Dettagli

Costruzione di Interfacce

Costruzione di Interfacce Costruzione di Interfacce Scene dinamiche e Collision detection Fabio Ganovelli fabio.ganovelli@isti.cnr.it Scene dinamiche Scene in cui gli oggetti si possono muovere Molte applicazioni: chirurgia virtuale

Dettagli

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

Realtà Virtuale: il presente, il passato, il Shading futuro Lighting Illuminazione Determinare le caratteristiche della luce che arriva da un punto della scena all occhio di chi la osserva Problema computazionalmente oneroso Fenomeni fisici correlati: Illuminazione

Dettagli

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

Computer Graphics. I 4 fattori che consideriamo. luce finale = lo Shading. ambient Computer Graphics Lezione: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Marco Tarini lo Shading I 4 fattori che consideriamo luce finale

Dettagli

Grafica al Calcolatore Rasterizzazione - 1. Introduzione

Grafica al Calcolatore Rasterizzazione - 1. Introduzione Grafica al Calcolatore Rasterizzazione - 1 Introduzione Grafica al Calcolatore Rasterizzazione - 2 Rasterizzazione Grafica al Calcolatore Rasterizzazione - 3 In sintesi, la rasterizzazione prende un singolo

Dettagli

Grafica al Calcolatore Rendering volumetrico - 1. Introduzione

Grafica al Calcolatore Rendering volumetrico - 1. Introduzione Grafica al Calcolatore Rendering volumetrico - 1 Introduzione Grafica al Calcolatore Rendering volumetrico - 2 Studieremo sono due tecniche base per la visualizzazione di dati volumetrici: Rendering volumetrico

Dettagli

Tecniche per applicazioni interattive

Tecniche per applicazioni interattive Tecniche per applicazioni interattive Dove si affronta il problema del rendering dalla parte della applicazione grafica interattiva. Introduzione Rappresentazione della scena Tecniche di abbattimento della

Dettagli

Introduzione al Real Time Shading

Introduzione al Real Time Shading Introduzione al Real Time Shading Ing. Davide Vercelli, PERCRO davide.vercelli@sssup.it Sommario dal software all'hardware e ritorno cenni storici la pipeline grafica com'era: la pipeline fissa com'è:

Dettagli

Fondamenti di Grafica Tridimensionale

Fondamenti di Grafica Tridimensionale Fondamenti di Grafica Tridimensionale La Pipeline Grafica Marco Di Benedetto marco.dibenedetto@isti.cnr.it Visualizzazione dell Informazione noi siamo qui Informazione mondo reale (es: scans) creazione

Dettagli

di tecniche della modellazione digitale computer 3D A.A. 2010/2011 docente Arch. Emilio Di Gristina

di tecniche della modellazione digitale computer 3D A.A. 2010/2011 docente Arch. Emilio Di Gristina 03corso di tecniche della modellazione digitale computer 3D A.A. 2010/2011 docente Arch. Emilio Di Gristina i principali comandi di 3d studio max l interfaccia operativa pannello a schede crea qui si trovano

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale Laboratorio: Le trasformazioni Laboratorio: Il progetto SoftOgl: Software OpenGL Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Obiettivi (oggi) le trasformazioni della

Dettagli

Corso di Geometria Ing. Informatica e Automatica Test 1: soluzioni

Corso di Geometria Ing. Informatica e Automatica Test 1: soluzioni Corso di Geometria Ing. Informatica e Automatica Test : soluzioni k Esercizio Data la matrice A = k dipendente dal parametro k, si consideri il k sistema lineare omogeneo AX =, con X = x x. Determinare

Dettagli

Corso di GraficaComputazionale Texturing

Corso di GraficaComputazionale Texturing Corso di GraficaComputazionale Texturing Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Texturing Il concetto di texturing è importante Si tratta

Dettagli

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

Lighting. Realtà Virtuale: il presente, il passato, Lighting e il Shading futuro ighting Illuminazione Determinare le caratteristiche della luce che arriva da un punto della scena all occhio di chi la osserva Problema computazionalmente oneroso Fenomeni fisici correlati: Illuminazione

Dettagli

Sistemi Informativi Territoriali. Area di rispetto

Sistemi Informativi Territoriali. Area di rispetto Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Area di rispetto Cod.721 - Vers.E4R 1 Area di rispetto - Definizione 2 Area di rispetto - Costruzione 3 Geometria dell'area di rispetto

Dettagli

Computer Graphics. vector and point algebra. Rasterization based pipeline. Marco Tarini - Grafica computazionale. Lezione 3 1.

Computer Graphics. vector and point algebra. Rasterization based pipeline. Marco Tarini - Grafica computazionale. Lezione 3 1. Compter Graphics Leione 3: ector and point algebra Uniersità dell Insbria Corso di Larea in Informatica Anno Accademico 2015/16 Marco Tarini Rasteriation based pipeline pnti in R 3 per ertice Z proiettati

Dettagli

Corso di Tecniche Avanzate per la Grafica Texturing

Corso di Tecniche Avanzate per la Grafica Texturing Corso di Tecniche Avanzate per la Grafica Texturing Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Texturing Il concetto di texturing è importante Si tratta di

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Rappresentazione di Oggetti Tridimensionali Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Superfici di Suddivisione

Dettagli

Geometria Solida Costruttiva (CSG)

Geometria Solida Costruttiva (CSG) Geometria Solida Costruttiva (CSG) Seminario di Elementi di Grafica Digitale 25/05/2005 Davide Prade Geometria Solida Costruttiva (CSG) 1 Introduzione Oggetti reali e virtuali possono essere rappresentati

Dettagli

FONDAMENTI DI GEOMETRIA

FONDAMENTI DI GEOMETRIA 1 FONDAMENTI DI GEOMETRIA (Fundamental geometrical concepts) La geometria [ghè (terra) metron (misura)] è una parte della matematica che studia lo spazio, la forma, l estensione, la trasformazione delle

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale Rasterizzazione Fabio Ganovelli fabio.ganovelli@gmail.com a.a. 006-007 Dalle diapositive a corredo del libro: Fondamenti di Grafica Tridimensionale Interattiva 1 R. Scateni, P. Cignoni,

Dettagli

a) Perché posso affermare che sono complanari? b) Determina l equazione del piano che li contiene

a) Perché posso affermare che sono complanari? b) Determina l equazione del piano che li contiene Esercizi svolti Esercizio 1. Dati i punti: A(1, 1, 0), B( 1, 1, 4), C(1, 1, 3), D(2, 2, 8) dello spazio R 3 a) Perché posso affermare che sono complanari? b) Determina l equazione del piano che li contiene

Dettagli

Pipeline Rendering. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche.

Pipeline Rendering. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche. Pipeline Rendering Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione Trasformazioni geometriche Clipping Rimozione delle superfici nascoste Scan conversion Shading

Dettagli

Fondamenti di Grafica Tridimensionale

Fondamenti di Grafica Tridimensionale Fondamenti di Grafica Tridimensionale La Pipeline Grafica Marco Di Benedetto marco.dibenedetto@isti.cnr.it Visualizzazione dell Informazione noi siamo qui Informazione mondo reale (es: 3D scans) creazione

Dettagli

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

Computer Graphics. Memoria RAM nelle schede grafiche. Texture Mapping: paradigma di memoria. Concetto. Tessiture: Caso più comune. Computer Graphics Memoria RAM nelle schede grafiche Lezione 3: Università dell Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 202/3 molti dettagli a poco prezzo:

Dettagli

MERGE. 1 record geometrico. 1 record geometrico. 2 record geometrici. Il Merge serve per unire geometricamente due layers

MERGE. 1 record geometrico. 1 record geometrico. 2 record geometrici. Il Merge serve per unire geometricamente due layers MERGE A 1 record geometrico B 1 record geometrico C 2 record geometrici Il Merge serve per unire geometricamente due layers MERGE Buffer Quanti segmenti vengono usati per formare limiti curvilinei Dissolve

Dettagli

Rasterizzazione. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche.

Rasterizzazione. Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione. Trasformazioni geometriche. Rasterizzazione Dove si introduce un metodo di rendering adatto alle applicazioni in real-time. Introduzione Trasformazioni geometriche Clipping Rimozione delle superfici nascoste Scan conversion Shading

Dettagli

GEOMETRIA ANALITICA NELLO SPAZIO (3D Geometry)

GEOMETRIA ANALITICA NELLO SPAZIO (3D Geometry) GEOMETRIA ANALITICA NELLO SPAZIO (3D Geometry) SISTEMA DI RIFERIMENTO NELLO SPAZIO La geometria analitica dello spazio è molto simile alla geometria analitica del piano. Per questo motivo le formule sono

Dettagli

Università di Pisa Laurea Specialistica in Tecnologie Informatiche. Corso di Realtà Virtuale A.A. 2008/2009. DomVR. Andrea Parrella

Università di Pisa Laurea Specialistica in Tecnologie Informatiche. Corso di Realtà Virtuale A.A. 2008/2009. DomVR. Andrea Parrella Università di Pisa Laurea Specialistica in Tecnologie Informatiche Corso di Realtà Virtuale A.A. 2008/2009 DomVR Andrea Parrella (yap@yapsoft.it) 1 Descrizione del progetto Controllo domotico di un abitazione

Dettagli

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

RUOLO DELLA MODELLAZIONE GEOMETRICA PARTE IN QUESTA LEZIONE E LIVELLI DI MODELLAZIONE. Prof. Daniele Regazzoni RUOLO DELLA MODELLAZIONE GEOMETRICA E LIVELLI DI MODELLAZIONE PARTE 2 Prof. Daniele Regazzoni... IN QUESTA LEZIONE Modelli 2D/3D Modelli 3D/3D Dimensione delle primitive di modellazione Dimensione dell

Dettagli

Perché il linguaggio C?

Perché il linguaggio C? Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare

Dettagli

Python moduli classi e qualche funzione grafica di base

Python moduli classi e qualche funzione grafica di base Python moduli classi e qualche funzione grafica di base Loriano Storchi loriano@storchi.org http:://www.storchi.org/ I moduli I moduli sono codice sorgente, quindi una collezione di dati, funzioni e classi

Dettagli

Compito di Informatica Grafica 2 appello 02/02/2009. Nome e Cognome Numero di Matricola

Compito di Informatica Grafica 2 appello 02/02/2009. Nome e Cognome Numero di Matricola Nome e Cognome Numero di Matricola Esercizio 1 (12 punti) Si consideri la base di dati di un ospedale riportata in figura. Ogni Operatore ha una Qualifica che può essere o medico o infermiere. Ogni operatore

Dettagli

Corso di Grafica Computazionale Texturing

Corso di Grafica Computazionale Texturing Corso di Grafica Computazionale Texturing Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Texturing Il concetto di texturing è importante Si tratta

Dettagli

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

Computer Graphics. Superfici di suddivisione. Modo molto diffuso per costruire mesh. modelling: superfici di suddivisione modelling: superfici di suddivisione Modo molto diffuso per costruire mesh 1: fare mesh di controllo a bassa risoluzione "a mano" : raffinarla automaticamente iterativamente (ad ogni interazione si aggiungono

Dettagli

PROSPETTIVA CENTRALE A2 B2 A2 A B A LT PV AB

PROSPETTIVA CENTRALE A2 B2 A2 A B A LT PV AB PROSPETTIVA CENTRALE immaginiamo di fare scorrere un segmento AB lungo 2 binari (allonandolo sempre di più dall osservatore). la dimensione del segmento diminuisce seguendo l andamento delle due rette

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Algoritmi di Rendering di Base Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Clipping Clipping di punti

Dettagli

CSS: HTML: Proprietà per la formattazione delle immagini Immagini di sfondo e sfondi multipli. Le immagini mappate

CSS: HTML: Proprietà per la formattazione delle immagini Immagini di sfondo e sfondi multipli. Le immagini mappate CSS: Proprietà per la formattazione delle immagini Immagini di sfondo e sfondi multipli HTML: Le immagini mappate 1 Le principali proprietà che permettono di manipolare le immagini agiscono sul box mode

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Algoritmi di Rendering di Base Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Clipping Clipping di punti

Dettagli

Low Level Vision: Trasformata di Hough

Low Level Vision: Trasformata di Hough Low Level Vision: Trasformata di Hough Prof Sebastiano Battiato Rilevamento di linee Le linee sono feature importanti perché permettono di definire analiticamente o approssimare molte forme (in particolare

Dettagli

Esercizi geometria analitica nello spazio. Corso di Laurea in Informatica. Docente: Andrea Loi. Correzione

Esercizi geometria analitica nello spazio. Corso di Laurea in Informatica. Docente: Andrea Loi. Correzione Esercizi geometria analitica nello spazio Corso di Laurea in Informatica Docente: Andrea Loi Correzione 1. Denotiamo con P 1, P 13, P 3, P 1, P, P 3, P i simmetrici di un punto P rispetto ai piani coordinati

Dettagli

Game Dev Insubria 2014/ /10/2015. Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D

Game Dev Insubria 2014/ /10/2015. Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D Game Dev 2015/2016 Univ Insubria Scene composite: lo scene graph Marco Tarini Recap: trasformazioni spaziali Funzione matematica prende punti 3D / vettori 3D restituisce punti 3D / vettori 3D Es: traslazioni,

Dettagli

Architettura di un renderer. Costruzione di Interfacce. Pipeline di rendering. Transformazioni di modellazione. Proiezione. Lighting e Clipping

Architettura di un renderer. Costruzione di Interfacce. Pipeline di rendering. Transformazioni di modellazione. Proiezione. Lighting e Clipping Costruzione di Interfacce Lezione 2 Paolo Cignoni cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni/ci Architettura di un renderer La pipeline di rendering; assumendo che La scena è composta di entita

Dettagli

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

Grafica 3D per i beni culturali: 3D and rendering Grafica 3D per i beni culturali: 3D and rendering Lezione 2: 24 Febbraio 2011 Daniele Bernabei 1 Modeling/Acquisition e Rendering Modeling/Acquisition creazione di un modello digitale che rappresenti una

Dettagli

Vettori e Calcolo vettoriale

Vettori e Calcolo vettoriale Vettori e Calcolo vettoriale Ci poniamo nello spazio ordinario S, in cui valgono gli assiomi della geometria euclidea. I vettori vengono rappresentati mediante frecce, con un punto iniziale e un punto

Dettagli

Algoritmi per il riconoscimento dell iride

Algoritmi per il riconoscimento dell iride Algoritmi per il riconoscimento dell iride 1 L O C A L B I N A R Y P A T T E R N - S C A L E I N V A R I A N T F E A T U R E T R A S F O R M - C U M U L A T I V E S U M S A cura di: Chiara Galdi http://biplab.unisa.it/

Dettagli

Superfici Parametriche

Superfici Parametriche Superici Parametriche Curve e Superici parametriche Una mesh poligonale rappresenta una discretizzazione lineare a tratti della supericie Matematicamente, è una supericie lineare a tratti, Piatta sulle

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale La Pipeline Grafica Fabio Ganovelli fabio.ganovelli@gmail.com a.a. 2006-2007 noi siamo qui Informazione mondo reale (es: 3D scans) creazione (es: videogames) Calcolo (es: Sci-Vis)

Dettagli

Corso di Tecniche Avanzate per la Grafica

Corso di Tecniche Avanzate per la Grafica Corso di Tecniche Avanzate per la Grafica Algoritmi di Rendering di Base Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Overview Clipping Clipping di punti e segmenti

Dettagli

ArcGIS - ArcView 3- strumenti di analisi

ArcGIS - ArcView 3- strumenti di analisi ArcGIS - ArcView 3- strumenti di analisi Marco Negretti Politecnico di Milano Polo Regionale di Como e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it - tel +39.031.332.7524 05/05/05 - v

Dettagli

I POLIGONI. DEFINIZIONE: un poligono è una parte limitata di piano definita da una linea chiusa, spezzata, non intrecciata.

I POLIGONI. DEFINIZIONE: un poligono è una parte limitata di piano definita da una linea chiusa, spezzata, non intrecciata. I POLIGONI COS È UN POLIGONO? DEFINIZIONE: un poligono è una parte limitata di piano definita da una linea chiusa, spezzata, non intrecciata. Un poligono è fatto di: - SEGMENTI detti LATI - ESTREMI DEI

Dettagli

Processo di rendering

Processo di rendering Processo di rendering 1 Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione I parametri della vista 3D I sistemi di coordinate 2 I parametri

Dettagli

Principali tipi di layout. Approfondimento sul box model

Principali tipi di layout. Approfondimento sul box model Principali tipi di layout. Approfondimento sul box model 1 Il layout stabilisce il modo in cui le varie parti (immagini, paragrafi, elenchi, intestazioni ) che compongono un documento ipertestuale devono

Dettagli

Migliorare la performance. Scenario 1. Architettura Hw. Scenario 2. Scenario 3. Costruzione di Interfacce Lezione 23 Scene Graphs, Object Loading

Migliorare la performance. Scenario 1. Architettura Hw. Scenario 2. Scenario 3. Costruzione di Interfacce Lezione 23 Scene Graphs, Object Loading Migliorare la performance Costruzione di Interfacce Lezione 23, Object Loading cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Se l obiettivo è l interattività è necessario riuscire a mantenere

Dettagli