SlideServe
Menu
Préférences
© SlideServe · v2026

Computer Graphics

eaton-watts avatar
39 diapositives · 584 Views · Oct 31, 2014

Lezione 2: hardware ergo triangoli. Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06. Computer Graphics. Marco Tarini. Riassunto puntata precedente 1/3. Computer Graphics ( CG ): molteplici applicazioni medicali

Computer Graphics - slide 1
01 / 39Computer Graphics
1 / 17

Télécharger la présentation

Computer Graphics
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Lezione 2: hardware ergo triangoli Università dell’Insubria Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2005/06 Computer Graphics Marco Tarini

  2. Riassunto puntata precedente 1/3 • Computer Graphics ( CG ): • molteplici applicazioni • medicali • industriali • beni culturali • militari  • 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

  3. Riassunto puntata precedente 2/3 applicazione interattiva acquisizione 3D / simulazione/ modellazione (e.g. 3Dstudio max, Maya) mondo reale/ modello matematico / artista 3D ... rendering Geometria Immagine/i preprocessing(modelling) 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

  4. Riassunto puntata precedente 3/3 resto dell' applicazione • Ci occuperemo principalmente di: Real Time 3D Rendering rendering Scena 3D Immagine screen buffer ( array 2D di pixel ) N volte al sec ( e.g. N=60) 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

  5. 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 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

  6. Real Time 3D Rendering • C'è bisogno di muscoli potenza di calcolo • 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 ~ 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

  7. Real Time 3D Rendering • Problema difficile • fortunatamente, processo massicciamente parallelizzabile • Ingrediente base della soluzione: hardware specializzato 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

  8. 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 - 8/40

  9. Hardware specializzato per il rendering • Vantaggio: efficienza • computazioni più ripetute hard-wired nel chipset • parallelismo rendering/resto-dell-applicazione: • rendering nella scheda grafica • resto dell'applicazione libera di utilizzare la CPU e RAM base MA SOPRATTUTTO: • sfruttamento del parallelismo implicito nel problema di rendering • sotto forma di parallelismo di pipeline • sotto forma di parallelismo in ogni fase del pipeline • Svantaggio: rigidità • vincola l'approccio usato per fare 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 - 9/40

  10. Paradigmi di rendering • 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 - 10/40

  11. Hardware dedicato alla grafica • storia • ~20 anni: • dalla metà degli '80 (e.g.: SGI 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 rendering: 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

  12. Hardware dedicato alla grafica • storia 9 10 One-pixel polygons (~10M polygons @ 30Hz) GeForce 3 & Radeon 8 10 UNC/HP PixelFlow SGI R-Monster SGI Peak 7 IR 10 Nvidia TNT E&S Perf. Division Pxpl6 3DLabs SGI Cobalt Harmony UNC Pxpl5 Glint ('s/sec) Accel/VSIS SGI SkyWriter Voodoo 6 10 Megatek SGI VGX SGI E&S Freedom RE1 PC Graphics HP TVRX SGI RE2 HP VRX Flat shading Division VPX E&S 5 10 Textures Stellar GS1000 F300 UNC Pxpl4 SGI GT Antialiasing Gouraud shading HP CRX SGI Iris 4 10 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

  13. Progresso congiunto HW e Algoritmi • Un po come ruota e strada sviluppi hardware tecniche algoritmiche tecnologia strada tecnologia ruota 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

  14. Rasterization-based HW-supported rendering primitivedirendering • anche riferito comeTransform and Lighting (T&L) paradigm screen buffer rendering Scena 3D • composta da primitive di pochissimi tipi: • punti • linee • MA SOPRATUTTO • 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 - 14/40

  15. Rasterization-based HW-supported rendering • punto primo: tutto sia composto da triangoli (3D) • o al limite da punti, o segmenti x v0 =( x0, y0, z0 ) v1 =( x1, y1, z1 ) v2 =( x2, y2, z2 ) z y 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

  16. Rasterization-based HW-supported rendering • tutto sia composto da triangoli (3D) • o al limite da punti, o segmenti • non tutto nasce composto 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 - 16/40

  17. Tutto sia composto da triangoli (3D) due triangoli! "quad" "diagonal split" un quadrilatero? 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

  18. Tutto sia composto da triangoli (3D) (n-2) triangoli! triangolarizzazione di poligono: (non un problema del tutto banale...) un poligono a n lati? 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

  19. Tutto sia composto da triangoli (3D) triangoli! la superficie di un solido geometrico, per es. una sfera? 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

  20. Tutto sia composto da triangoli (3D) la superficie di un solido geometrico, per es. una cono? 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 - 20/40

  21. Tutto sia composto da triangoli (3D) un campo d'altezza? (array 2D di altezze, e.g. per modellare un terreno?) 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 - 21/40

  22. Esempio di campo di altezza triangolato • "height field" • un esempio tipico: • campo d'altezza 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 - 22/40

  23. Tutto sia composto da triangoli (3D) questo è facile. Il contrario, che qualche volta è utile, MOLTO meno una superficie curva parametrica? per es. NURBS *, b-splines *... triangoli! * verdemo più avanti nel corso, se c'è tempo 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 - 23/40

  24. Tutto sia composto da triangoli (3D) problema molto studiato, e (nel caso generale) difficile x x z z y y nuvola di punti ? (point clouds) 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 - 24/40

  25. da nuvola di punti a triangoli: esempio 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

  26. Tutto sia composto da triangoli (3D) algoritmi di segmentation (e.g. "marching cubes" * ) triangoli che definiscono una iso-superficie volume? triangoli! * verdemo più avanti nel corso, se c'è tempo 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 - 26/40

  27. Da dataset volumetrico a triangoli: esempio 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

  28. Tutto sia composto da triangoli (3D) nb: non c'e' un modo solo per farlo.Modo + semplice (non ottimo): campionare volume e estrarre isosuperfice a valore 0 triangoli che definiscono la superficie esplicitamente superfici implicite? 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 - 28/40

  29. Tornando allo schema generale... applicazione interattiva acquisizione 3D / simulazione/ modellazione (e.g. 3Dstudio max, Maya) mondo reale/ modello matematico / artista 3D ... rendering Geometria Immagine/i preprocessing(modelling) 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

  30. Tipica fase di preporsessing diagonal split (da quad a 2 tri) può venire fatto anche qui, al volo diagonal split (da quad a 2 tri) può venire fatto anche qui, al volo Tutto il resto che abbiamo visto nei lucidi precedenti (trasformazione in triangoli) tipicamente qui rendering Geometria Immagine/i preprocessing(modelling) 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

  31. Riassuntino "al volo" Quads r e n d e r i n g Campi d'altezza Forme geo. di base Triangoli Superfici parametriche n-agoni Dati Volumetrici Superfici implicite Nuvole di punti 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

  32. Modellare direttamente con triangoli triangoli, triangoli, triangoli • rappresentare gli oggetti con triangoli • o al limite da punti, o linee un coniglio di porcellana? una teiera? 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

  33. 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

  34. Modellare direttamente con triangoli by Phillip Heckinger (3D 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 à d e l l ’ I n s u b r i a - 34/40

  35. 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!) 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

  36. Per dirla tutta sulle primitive di rendering Tutto l'hardware è progettato e ottimizzato principalmente per questo caso • Triangoli • ok, abbiamo capito • Quads • in un certo senso, perchèdiventano triangoli al volo • Segmenti • Punti 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

  37. Per dirla tutta sulle primitive di rendering • Triangoli • ok, abbiamo capito • Quads • in un certo senso, perchèdiventano triangoli al volo • Segmenti • Punti utili ad esempio per particle systems 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

  38. Per dirla tutta sulle primitive di rendering • Triangoli • ok, abbiamo capito • Quads • in un certo senso, perchèdiventano triangoli al volo • Segmenti • Punti utile ad esempio per fare renderingdi capelli peli etc (ma non è l'unico sistemae non è detto che sia il migliore) 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 - 38/40

  39. nVIDIA technology demo at SIGGRAPH 2004 =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 - 39/40