I Modelli 3D più comuni: Mesh poligonali



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

Modello 3D = Mesh poligonale. Di triangoli, o mista (quadrilateri + triangoli) Struttura dati per modellare oggetti 3D

Modelli 3D: come ottenerli

Modelli 3D: come ottenerli

Texture maps come assets

Rappresentazione di oggetti 3D

Tipi di animazione nei games

AMBIENTE VIRTUALE UTENTE

Creare superfici. Le superfici. Informatica Grafica ][ Le superfici. Le superfici. Le superfici. Le superfici

AMBIENTE VIRTUALE. Moduli logici di un Ambiente Virtuale. Modellazione. Management Rendering Interazione. Sintesi. Comportamenti.

Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

Information Visualization

Applicazioni 3D avanzate

Modelli per i materiali

Modelli: formati, strutture dati, processing della mesh

VRay Map: VRayEdgesTex

Introduzione alla Computer Graphics

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

Tutorial a cura di Paulo Baptista su DesignStudioMag.com. Requisiti: Maxon Cinema 4D & il modulo Bodypaint

HDS Software Technodigit 3D Reshaper Caratteristiche e benefici

Capitolo 6 Interazione luce-materia

Livello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base

3DCARTO: GESTIONE DEL MONDO VIRTUALE IN 3D

Fondamenti di Grafica Tridimensionale

Lezione 3: Grafica 3D*

CORSO CGI E COMPOSITING

Grafica al calcolatore. Computer Graphics. 4 - Modellazione 21/10/13

Capitolo 1 La misura di entità geometriche Interazione tra misuratore e misurato...1

3 D S C A N N I N G A N D R E V E R S E E N G I N E E R I N G S O L U T I O N S

Introduzione Computer Graphics

3DE Modeling Professional

Modulo 3. Rappresentazione di solidi mediante forntiera e strutture dati collegate.

IL LASER SCANNER E IL TERRITORIO: applicazioni, metodologie operative, potenzialità del rilevamento con laser-scanner terrestre

ScuolaSI computer grafica 3d

CORSO DI FORMAZIONE MODELLAZIONE 3D RENDERING ANIMAZIONE

GESTIONE DELLE GEOMETRIE COMPLESSE TRAMITE SOFTWARE COMMERCIALI

FFA CAD 2D/3D E RENDERING CON 3D STUDIO MAX

Tools Design for the Engineering of Free Form Envelopes

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android

Modellazione. Dove si delineano le principali tecniche per descrivere e rappresentare oggetti in uno spazio tridimensionale.

Programma del Master Game Design

Facoltà di Ingegneria

Animazioni nei games. Animazioni nei games. Tipi di animazioni scripted. Uni Verona - Master Game Dev Game Engines - Marco Tarini

Corso di Tecniche Avanzate per la Grafica Texturing

Programma del Master di Produzione digitale 3d

CAD 2D/3D E RENDERING

Grafica al calcolatore - Computer Graphics

CAD 2D / 3D. Autocad 2D/3D - Revit - Inventor - RhinoCeros - Autocad Eletrical

Manualistica interattiva - Il PDF 3D

Capitolo V : Il colore nelle immagini digitali

Corso di grafica 3D con C++ e OpenGL. Alessandro Bugatti ITIS B. Castelli

UNIVERSITÀ DEGLI STUDI GUGLIELMO MARCONI

Premessa. GUI: organizzazione generale

Luci/Ombre. YAFARAY motore di rendering Open Source. Federico Frittelli aka fredfrittella. SUTURA-studio di progettazione.

Grafica e Geometria Computazionale

Usando 64 segmenti e 48 sides, in modo da renderlo più smussato, scalatelo lungo l asse Z, in modo da ottenere l anello.

V MODELLAZIONE DEGLI OGGETTI A 2 ED A 3 DIMENSIONI. Capitolo 5 MODELLAZIONE DEGLI OGGETTI A 2 ED A 3 DIMENSIONI

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

gli approcci al problema gli standard Università degli Studi di Bergamo Caterina Rizzi 2

Immagini digitali. Paolo Zatelli. Dipartimento di Ingegneria Civile ed Ambientale Università di Trento. Immagini digitali

La Visione Artificiale. La vis ione delle macchine La vis ione umana Acquis izione di immag ine

Discretizzazione di superfici per analisi CFD: messa a punto di un modulo automatico per la modellazione di assiemi complessi.

Esercitazioni di Informatica Grafica A.A

Transcript:

Modellazione 3D 3D Models for interactive applications Marco Tarini I Modelli 3D più comuni: Mesh poligonali Di triangoli, o mista (quadrilateri + triangoli) Struttura dati per modellare oggetti 3D GPU friendly Risoluzione (potenzialmente) adattiva Complessità = numero facce Marco Tarini - 2014 1

Mesh triangolare (o mesh simpliciale) Un insieme di triangoli adiacenti facce vertici spigoli (o edges) Mesh di triangoli discretizzazione lineare a tratti di una superfice continua (un 2 manifold ) immersa in R3 Componenti: geometria i vertici, ciascuno con pos (x,y,z) un campionamento della superficie! connettività come sono connessi i vertici (es.: in una tri-mesh, i triangoli) attributi es: colore, materiali, normali, UV, Marco Tarini - 2014 2

Mesh: geometria Insieme di posizioni dei vertici Un vettore posizione (x,y,z) per ogni vertice Mesh: connettività Triangoli (e edges) che connettono fra loro i vertici Come nodi in un grafo Marco Tarini - 2014 3

Mesh: attributi Proprietà che variano sulla superficie Di solito memorizzati per vertice (almeno, nei games) Attributi più diffusi nei games: Normale per: re-lighting dinamico Colore per: baked lighting (ambient occlusion) per: aggingere varietà (RGB) Coordinate tessitura ( uv mapping ) per: texture mapping Direzioni tangenti per: bump mapping Bone assignment ( rigging o skinning ) per: animazioni skeletali Mesh: cenni storici Da sempre, il dataset cardine della C.G. Costante aumento complessità Tecnologie base di creazione: anni 80: parametric surfaces (NURBS, splines) GSM / isosuperfici, CAD anni 90: scansione /acquisizione; superfici di suddivisione; semplificazione automatica; anni 00: on-card geometry amplification; computer vision anni 10: reverse engineering (semiregular quads) Marco Tarini - 2014 4

Meshes: complessità crescente 1994 70.000 Meshes: complessità crescente 1997 1.200.000 Marco Tarini - 2014 5

Meshes: complessità crescente 2002 2.000.000.000 Ma in ambiente games LOW POLY MODELLING! Marco Tarini - 2014 6

Low-poly modelling by Phillip Heckinger (3D modeller) low-poly model pixel art : (high-res) mesh = : (high res) image Marco Tarini - 2014 7

Solomons s key (1986, Temco) on Z80 reminder: per tutti gli 80, il principale asset dei games è consistito da sprites / tilemaps in pixel art... Metal Slug (1996, Nazca Copr), on Neo Geo (SNK) Anche nei games 800 Unreal Torunement (1999) Marco Tarini - 2014 8

Anche nei games 3000 800 Unreal Torunement (1999) Unreal Torunement 2K3 (2002) Anche nei games 3000 800 Unreal Torunement (1999) 4500 solo l arma Unreal Torunement 2K3 (2002) questa, 12000 Unreal Torunement 3 (2007) Marco Tarini - 2014 9

800 (1999) 3000 (2002) 15000 (2006) Anche nei games 230 (1996) 300 (1998) 4.000 (2002) 30.000 (2008) 48.000 (2012) Marco Tarini - 2014 10

Come rappresento una mesh? (quali strutture dati) Una tri-mesh è un insieme di triangoli adiacenti Modo diretto: un vettore di triangoli e per ogni triangolo tre vertici e per ogni vertice tre coordinate Ma: replicazione dati poco efficiente in spazio oneroso fare updates Come rappresento una mesh? (quali strutture dati) Modo indexed: Geometria: array di vertici in ogni vertice, posizione e attributi Attributi: coi vertici (e.g. campi della classe vertice ) Connettività: Array di triangoli Per ogni triangolo: tripletta di indici a vertice Marco Tarini - 2014 11

Come rappresento una mesh? (quali strutture dati) Modo indexed: class Vertex { vec3 pos; rgb color; /* attribute 1 */ vec3 normal; /* attribute 2 */ }; class Face{ int vertexindex[3]; }; class Mesh{ vector<vertex> vert; /* geom + attr */ vector<face> tris; /* connettivita */ }; Esempio di mesh indexed: guardiamo dentro un file in formato OFF # facce # edges LetteraL.off # vertici x,y,z 2ndo vert OFF 12 10 40 0 0 0 3 0 0 3 1 0 1 1 0 1 5 0 0 5 0 0 0 1 3 0 1 3 1 1 1 1 1 indice 0 indice 1 indice 2 indice 3 1 5 1 0 5 1 4 3 2 1 0 4 5 4 3 0 4 6 7 8 9 4 6 9 10 11 4 0 1 7 6 4 1 2 8 7 4 2 3 9 8 4 3 4 10 9 4 4 5 11 10 4 5 0 6 11 prima faccia: 4 vertici: con indici 3, 2, 1 e 0 Marco Tarini - 2014 12

Come rappresento una mesh? (quali strutture dati) Alternativa x storare la connettività : come vettore di half-edges V1 V2 V3 V4 V5 Come rappresento una mesh? (quali strutture dati) connettività con indexed triangles V1 V2 V4 T1 T2 V5 T3 V3 Tri: Wedge 1: Wedge 2: Wedge 3: T1 V4 V1 V2 T2 V4 V2 V5 T3 V5 V2 V3 Marco Tarini - 2014 13

Come rappresento una mesh? (quali strutture dati) connettività con half-edges Half edge: Da: A: Next: Opposite: V1 H2 V2 H1 V4 V1 H2 -- H2 V1 V2 H3 -- H1 H3 H8 V3 H3 V2 V4 H1 H4 H4 H5 H7 H9 H4 V4 V2 H5 H3 V4 H6 H5 V2 V5 H6 H7 H6 V5 V4 H4 -- V5 H7 V5 V2 H8 H5 H8 V2 V3 H9 -- H9 V3 V5 H7 -- Strutture per connettività a confronto INDEXED HW friendly (directly maps to: vertex arrays, VBO) Navigazione complicata richiede strutture dati ulteriori ( di adiacenza ) HALF-EDGES Rendering complicato Navigazione semplice es: x trovare tutti i vertici nella stella 1 di un vertice Ok per: mesh pure (di soli tri, o, al max, di soli quad) Ok anche per: polygonal mesh (poligoni misti a piacere) Compatta: 3 indici x tri Prolissa: 12 indici per tri > adatta per rendering > adatta a mesh processing Marco Tarini - 2014 14

Mesh processing aka Geometry Processing Librerie: VCG-Lib (CNR, ) Vision and Computer Graphic Lib OpenMesh (RWTH, de ) + open flipper CGAL (INRIA, ) Computational Geometry Algorithms Library (tutte: C++, open-source.) Mesh processing aka Geometry Processing Un buon manuale x programmare mesh processing: Marco Tarini - 2014 15