• Non ci sono risultati.

Fondamenti di Grafica Tridimensionale

N/A
N/A
Protected

Academic year: 2021

Condividi "Fondamenti di Grafica Tridimensionale"

Copied!
10
0
0

Testo completo

(1)

1

Fondamenti di

Grafica Tridimensionale

Paolo Cignoni

p.cignoni@isti.cnr.it

http://vcg.isti.cnr.it/~cignoni

(2)

2

Obiettivi

 Conoscere gli aspetti fondamentali riguardo alle nozioni teoriche e algoritmiche per la

modellazione geometrica e il rendering di scene tridimensionali

 Strutture e algoritmi per la rappresentazione di geometrie

 Architetture per la grafica interattiva

 Algoritmi per il rendering

 Modellazione

 Modelli avanzati di illuminazione

 Requisiti

 Conoscenza delle basi della grafica 3D

 Conoscenza del C++

(3)

3

Corsi collegati

 Costruzione di interfacce

 Fortemente (molto fortemente) consigliato che lo abbiate gia' fatto prima di seguire.

Durante il corso assumo che sappiate bene:

C++; un minimo di grafica 3D

 Sappiate costruire un app. interattiva con una gui non banale.

 Laboratorio di computer games (LCG)

 E' sensato aver fatto prima CI e FGT prima di LCG

 Matematica computazionale: Geometria computazionale (MCG)

 Per approfondire gli aspetti piu' teorici

(4)

4

Strumenti

 Un po' di analisi, algebra lineare e un po' di geometria computazionale

 Linguaggio C++

 Libs, Toolkits, ecc

 Tutto quel che ci serve in modo utilitaristico

Qt per le interfacce

 SDL per i primi esperimenti in opengl

STL per non riscrivere I soliti contenitori

(5)

5

Esame

 Basato su progetto

 Piu' algoritmico di quello di CI

 dettagli in seguito

 Compitino/orale

 più influenti sul voto rispetto a CI

(6)

6

MeshLab

 Generic mesh processing tool

 Open source GPL avail for win and linux

 The system relies on a large gpl library for mesh processing

 Aimed to the (almost) automatic processing of large unstructured 3d models

 acquired 3D models are different from human built models

 No structure, no particular need of a scene graph

Large datasets : millions of primitives

(7)

7

MeshLab tasks

 Filtering

 Removal of outliers according to various heuristics

 Smoothing out noise

 Various fairing algorithms

 Editing

 Selection of parts and removal of non interesting

portions of the acquired data

(8)

8

Remeshing

 Subdivision Surface (loop and butterfly)

 Reducing complexity through simplification

 Both fast approximate and slower high quality algorithms

 500k 50k 5k

(9)

9

Checking

 Visual inspection

 See through filters (opengl shaders)

 Quality evaluation

 Curvature dependent

 Automatic marking of mesh inconsistencies

 topological:non manifoldness)

 Geometric: self intersection

(10)

10

Riferimenti

Documenti correlati

● Seconda Passata o Density Evaluation: viene eseguito il Ray-Tracing (Whitted o Distributed) ma quando si colpisce una superficie diffusa si calcola la stima di densità dei

 assign to each triangle t a birth error t b and a death error t d equal to the error of the simplified mesh just before the removal of the vertex that caused

 La Wiki della libreria per il mesh processing cui si appoggia MeshLab.

  Oggi la pipeline di rendering è interamente a carico della scheda grafica.   La CPU si limita a descrivere

 La somma delle quantità di luce (radianza) che arrivano su una patch deve essere uguale alla radianza che esce piu’ la luce assorbita dalla patch

/// Return the priority to be used in the heap (implement static priority) virtual ScalarType Priority() const =0;. /// Perform the operation and return the variation in the number

 Notice that the fragment shader has no access to the frame buffer.  blending occur only after the fragment shader has run...  The set of compiled shaders, is then linked into

Classification of simplification methods based on approximation error