• Non ci sono risultati.

& loro attributi

N/A
N/A
Protected

Academic year: 2021

Condividi "& loro attributi"

Copied!
6
0
0

Testo completo

(1)

Computer Graphics

Marco Tarini

Università dell’Insubria Corso di Laurea in Informatica Anno Accademico 2014/15

Accenni ad alcuni argomenti lasciati fuori da questo corso

(*) img byScott Kim.

Alcuni meccanismi propri del rasterization based rendering che non abbiamo visto

• Nuovi stage nel pipeline HW:

– geometry shader – tesselator

• Tecniche di rendering multipassata

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Geometry Shader / Tesselator

Fr am m en ti & at tri bu ti in te rp ol at i Ve rti ci & lo ro a ttr ib ut i

Screen buffer Ve rti ci p or ie tta ti & at tri bu ti co m pu ta ti

rasterizer triangoli rasterizer segmenti rasterizer punti

co m pu ta zi on i pe r v er tic e co m pu ta zi on i pe r f ra m m en to

Nuove + vecchie primitive!

Geometry Shader / Tesselator

Fr am m en ti & at tri bu ti in te rp ol at i Ve rti ci & lo ro a ttr ib ut i

Screen buffer

Ve rti ci p or ie tta ti & at tri bu ti co m pu ta ti ra st er iz er tri an go li ra st er iz er se gm en ti

ra st er iz er pu nt i

co m pu ta zi on i pe r v er tic e co m pu ta zi on i pe r f ra m m en to

geometry

shader

tesselator +

(2)

Geometry Shader / Tesselator

• Geometry Shader:

– da OpenGL 3.2

(e Direct3D 10)

• Tesselator

– da OpenGL 4.0

(e Direct3D 11)

• concept: on card geometry creation

– creazione di ulteriori primitive sulla GPU (on-card geometry creatrion) – mando N primitive ad alto livello,

vengono rasterizzate un numero M maggiore di primitive

• Utilizzato molti rendering algorithms algoritmi come:

– suddividere (sup. di suddivisione) – marching cubes on the GPU?

– aggiungere flaps – shadow volumes – point sprites…

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Geometry Shader / Tesselator

• Stage opzionali – dopo il vertex shader

– prima del Primitive assembely (e rasterizz)

• programmabili GLSL (OpenGL) / HLSL (DirectX) + comandi come: emitVertex endPrimitive

• accedono:

+ agli N vertici (già processati) della primitiva + loro attributi

+ qualche informazione di adiacenza

• producono nuove primitive – on-card!

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Tecniche di Rendering multipassata

• Techniche che prevedono di scomporre un rendering in diverse passate successive:

• Molti possibili modi, per es:

– prima passata scrive solo alcuni dei buffer, magari parzialmente (depth, stencil, alpha…)

• e.g. in tecniche come «deferred shading», «depth peeling»

– prima passata produce, invece che i buffer in uscita, una (o più) tessiture per la passata successiva

• «render-to-texture», usando «Frame Buffer Objects»

– prima passata memorizza i vertici processati in un vertex buffer (invece che passarli all’Primitive Assembly)

• «transform-feedback»

– …

• NB: ma sempre evitando pesanti read-back di buffer di memoria – letture «all’indietro»: della memoria video alla main memory

Rendering Multipassata

Fr am m en ti + va ry in g in te rp .

Ve rti ci in o bj . s pa ce + at tri bu ti

Screen buffer (RGBA) Depth Buffer Stencil Buffer Ve rti ci in c lip s pa ce + va ry in gs rasterizer lines

rasterizer triangles rasterizer points ve rte x sh ad er

Textures fra gm en t sh ad er Vertex

Buffer

Index

Buffer

(3)

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Rendering Multipassata

Fr am m en ti + va ry in g in te rp .

Ve rti ci in o bj . s pa ce + at tri bu ti Ve rti ci in c lip s pa ce + va ry in gs rasterizer lines rasterizer triangles rasterizer points ve rte x sh ad er

Vertex Buffer Index Buffer

Texture(s) per la passata succes- fra gm en t sh ad er siva

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Rendering Multipassata

Fr am m en ti + va ry in g in te rp .

Ve rti ci in o bj . s pa ce + at tri bu ti Rendering finale Ve rti ci in c lip s pa ce + va ry in gs rasterizer lines

rasterizer triangles rasterizer points ve rte x sh ad er

Textures fra gm en t sh ad er Vertex

Buffer Index Buffer

Rendering Multipassata: transform feedback

Ve rti ci in o bj . s pa ce + at tri bu ti Vertex

Buffer Index Buffer

Ve rti ci in c lip s pa ce + va ry in gs

ve rte x sh ad er tra ns fo rm fe ed ba ck

nuovo Vertex Buffer!

(per le passate)prox

Rendering Multipassata

Ve rti ci in o bj . s pa ce + at tri bu ti Ve rti ci in c lip s pa ce + va ry in gs ve rte

x sh ad er Fr am m en ti + va ry in g in te rp . Screen buffer (RGBA) Depth Buffer Stencil Buffer rasterizer

lines rasterizer triangles rasterizer points

Textures fra gm en t sh ad er Nuovo

Vertex

Buffer

Index

Buffer

(4)

Per cosa si usano questi meccansimi?

• Higher quality surface rendering effects!

– Tecniche di rendering non fotorealistico

• illustrativo, o imitativo

• es: “toon shading”: lighting quantizzato, identificazione bordi – Mirroring Reflections

• specchi, anche curvi

– Cast Shadows (ombre proiettate)

• shadow mapping

• shadow volumes

– Simulazione / approssimazione di illuminazione globale

• scattering diffusivi multipli

• e.g. “screen space ambient occlusion”

– Simulazione di diffrazione

• es attraverso un vetro / acqua

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Per cosa si usano questi meccansimi?

• Higher quality surface rendering effects!

– Simulazione di (limited) depth-of-field – Simulazione di high-dynamic range effects

• “a fuoco solo in un certo intervallo”

– Equazioni di lighting più sofisticate

• e.g. effetto “fresnel”

• illuminatori ad aera (non puntiformi)

– Modellazione più fisicamente plausibile /accurata di materiali

• e.g. BRDF complesse, incluse quelle non isotropiche – Tecniche di ottimizzazione: deferred shading – Effetti di scattering sotto-superficiale della luce – Order independent Alpha blending

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Per cosa si usano questi meccansimi?

• Higher quality surface rendering effects!

– “Impostors”

• pannelli 2D che rappresentano oggetti 3D – Espansione della geometria on card

• es: on the fly tessellation of parametric / subdivision surfaces – Displacement maps

• (interactive) GP-GPU

– e.g.: physics on the GPU: con oggetti rigidi, liquidi, etc

• Raytracing on GPU

• Direct volume rendering on GPU

– rendering di strutture volumetriche voxelizzate – “diretto” = senza passare da iso-superfici

Rendering: al di fuori del rasterization based

– Ray-tracing / Ray-marching – Global illumination

• «radiosity» algorithms

• e.g. «Monte carlo» methods

• « Photon mapping » – e.g. per simulare «caustics»

– Direct volume rendering

• rendering di strutture volumetriche voxelizzate

• “diretto” = senza passare da iso-superfici – “Frameless” rendering

• (in ciascuno caso: in CPU, o in GPU)

(5)

CG: non solo rendering…

MODELLING

• Modelli 3D digitali

– creazione

• modellazione procedurale

• strumenti per la modellazione user-driven

• acquisizione automatica (confina con la computer vision) – Shape from X

– Range scanning – Fotogrammetria – …

– strutture dati per modelli 3D

• (ma abbiamo visto da vicino quelle per le mesh, e accennato ad aclune semplici altre)

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

CG: non solo rendering…

MODELLING

• Modelli 3D digitali

– riconoscimento / catalogazione automatica

• e.g. ricerche da esempi in databases – processing

• smoothing, enhancement, parameterization, simplification…

• «geometry processing»

– browsing / databases / GIS – cleaning

• e.g.: hole filling

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

CG: non solo rendering…

MODELLING

• Modelli 3D digitali

– compressione / streaming – deformazione / morphing – strutture multirisoluzione

• (oltre alla semplice piramide LOD)

– analisi / estrazione features geometriche

• es normali, ma anche curvatura, smoothness, feature lines…

– analisi / estrazione features ad alto livello

• stile,

• semantica

CG: non solo rendering…

ANIMAZIONE

• Simulazione

– fisica (di tessuti, di oggetti rigidi, …)

– flocking (simulazioni di stormi / greggi / gruppi) – deformazioni semirigide

• Modelli per oggetti 3D animabili, e animazioni

– strutture dati

• Digital humans / digital characters

• Autonomous characters

• Animation capture / performace capture

(6)

CG: non solo rendering…

ANIMAZIONE

• Facial animations

– expressions – lip sync – …

• Planning / learning / optimizing animations

• Processing / analisi delle animazioni

• Interactive animation techniques

• 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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

CG: non solo rendering…

advanced DEVICES for Interaction

• Output:

– Holographic displays – Stereo display

• active

• passive

– Head mounted displays – Force feedback …

• Input:

– haptic devices – depth cameras …

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 1 4 / 1 5 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Riferimenti

Documenti correlati

◦ Priorità alle read misses: se abbiamo write back e dobbiamo leggere un dato e fa miss perchè c’è un blocco diverso con il bit dirty = 1, invece di fare prima la write e poi

La stringa sovrascrive l’indirizzo di ritorno e inietta il codice.. La stringa sovrascrive l’indirizzo di ritorno La stringa sovrascrive l’indirizzo di ritorno e inietta

„ È basato su un database che contiene una serie di informazioni su ogni singolo file e directory che fanno parte del file-system.. „ Lo scopo è quello di verificare l'integrità

Sulla pelle: Basandosi sui dati disponibili i criteri di classificazione non sono soddisfatti.. Sugli occhi: Basandosi sui dati disponibili i criteri di classificazione non

Reduced ETCO 2 and hypercarbic venous and tissue acidemia and—under conditions of normal ventila- tion—hypocarbic arterial alkalemia ensue together with arterial and venous lactic

All active pages of a transaction are synchronously written on disk by the Buffer Manager during the commit operation.

The following terms are trademarks of International Business Machines Corporation in the United States and/or other countries: alphaWorks, BladeCenter, Blue Gene,

Address space layout randomization (ASLR) gli indirizzi della memoria di un processo vengono assegnati in modo casuale, impedendo quindi di fare assunzioni sulle posizioni