Introduzione al Real Time Shading
|
|
- Flaviana Vitale
- 4 anni fa
- Visualizzazioni
Transcript
1 Introduzione al Real Time Shading Ing. Davide Vercelli, PERCRO
2 Sommario dal software all'hardware e ritorno cenni storici la pipeline grafica com'era: la pipeline fissa com'è: la pipeline programmabile GLSL panoramica esempi integrazione in XVR 2
3 Software e hardware I Dal software all'hardware pro SW performance contro flessibilità requisiti: HW algoritmo maturo notevoli vantaggi computazionali rapporto costi/benefici 3
4 Software e hardware II Dall'hardware al software N.B.: programmabilità di hardware specializzato pro flessibilità contro SW HW complessità 4
5 La discesa verso l'hardware I struttura molto simile dei programmi 3d collo di bottiglia della rasterizzazione es. disegno di triangoli pieni a schermo texture mapping prima generazione (Voodoo 3dfx) supporto rasterizzazione in hardware 2 texture per poligono 5
6 La discesa verso l'hardware II nuovi colli di bottiglia trasformazione dei vertici calcoli di illuminazione seconda generazione (GeForce2) salto di qualità: supporto Transform & Lighting 6
7 Analisi del successo in entrambi i casi: algoritmi molto maturi vantaggio computazionale notevole parallelismo vincente: grandi quantità di operazioni simili su dati altamente indipendenti costi/benefici l'utente paga una scheda in più ma può finalmente avere grafica 3D davvero 7
8 Come migliorare la qualità visiva? modelli di illuminazione più accurati? modello OpenGL di default troppo semplicistico ma non sempre interessa il realismo supporto a più modelli di illuminazione? ma quali? e quanti? supporto a tecniche ad hoc? strada seguita inizialmente 8
9 La crescente importanza delle texture non solo colori: environment mapping bump mapping normal mapping ecc. multitexturing combinare più texture su un oggetto laborioso combinarle in maniera rigida 9
10 Programmabilità delle GPU vera soluzione: programmabilità lasciamo che siano i programmatori a decidere cosa fare e come nascono le GPU (Graphics Processing Unit) vertici normali texture coords textures programma ecc. 10
11 Lo shading to shade, ovvero ombreggiare : assegnare un colore ai punti di una superficie a prescindere dal criterio con cui viene operata questa scelta shading procedurale: shading mediante una funzione di codice shader: programma che implementa un particolare shading 11
12 Nel mondo offline Il dominio di RenderMan standard messo a punto dalla Pixar shading molto potente (non solo illuminazione ) 12
13 La risalita verso il software terza generazione programmabilità molto limitata linguaggio assembler limite di istruzioni molti altri limiti (accessi alle texture, etc.) quarta generazione programmabilità più flessibile linguaggi di alto livello limiti accettabili (ma diversi di GPU in GPU) e via dicendo: non si torna più indietro 13
14 La GPU oltre la grafica mostruosa potenza delle GPU programmabilità dell'hardware usare la GPU al di fuori della grafica GPGPU General-Purpose computing on GPU in realtà non tanto general particolarmente efficace solo in una ristretta ma importante categoria di calcoli in futuro supporto esplicito nelle schede 14
15 15 La pipeline: com'era e com'è
16 Definizione di pipeline 16 letteralmente conduttura, catena di montaggio è l'insieme dei vari stadi (stage) di elaborazione attraverso cui passano i dati nota: gli stadi sono in serie ma insiemi diversi di dati vi possono passare in parallelo
17 Pipeline fissa (non programmabile) 17
18 1. Geometria punti, linee, poligoni specificabili in vari modi immediate mode (un vertice alla volta) vertex arrays display lists vertex buffers (in memoria video) 18
19 2. Operazioni sui vertici il famoso Transform & Lighting trasformazioni vertici: modelview e projection normali: rotazione texture coordinates: texture matrix illuminazione stabilito il colore (materiali, luci, ecc.) ogni vertice è indipendente in questo stadio 19
20 3. Montaggio delle primitive raggruppamento dei vertici richiesti dalla primitiva corrente point: 1 vertice line: 2 vertici triangle: 3 vertici o 1 (fan e strip) quadriangle: 4 vertici o 2 (strips) 20
21 4. Elaborazione delle primitive clipping sia clipping planes che view frustum possibile eliminazione primitive proiezione prospettica viewport transform ottengo le window coordinates backface culling altra possibile eliminazione 21
22 5. Rasterizzazione n vertici m fragments generazione di fragments N.B.: fragment!= pixel un pixel può essere il risultato di un'operazione fra più fragment un fragment può essere scartato 22
23 6. Elaborazione dei fragment texturing applicazione delle texture tantissime possibilità nebbia 23
24 7. Operazioni sui fragment scissor test si può scrivere in quest'area dello schermo? alpha test il fragment ha alpha > 0? stencil test simile allo scissor ma con maschera a piacere depth test il fragment è davanti alla destinazione? blending come combino il colore con ciò che è presente? 24
25 8. Operazioni sul framebuffer cosa vado effettivamente a scrivere? colore con colormask profondità con depthmask stencil con stencilmask 25
26 Pipeline programmabile 26 NB: texture memory accessibile dal vp!
27 Nuove possibilità di rilievo texture fetch dal vertex processor displacement mapping possibili texture fetch dipendenti sulla base di un valore letto ne leggo un altro 27
28 Vertex processor 28
29 Vertex processor: input attributi (diversi per ogni vertice) di default: glvertex, glnormal, gltexcoord, glcolor... personalizzati: glvertexattrib variabili uniformi (costanti per grossi gruppi di vertici) di default: matrici, informazioni di stato personalizzati: gluniform 29
30 Vertex processor: output gl_position coordinate omogenee in clip space variabili varying (verranno interpolate lungo la primitiva) di default: gl_frontcolor, gl_texcoord[i]... impostabili dall'utente es. notevole: normali 30
31 Fragment processor 31
32 Fragment processor: input variabili varying (interpolate dallo stadio di rasterizzazione) di default: gl_color, gl_texcoord[i]... definite nel vertex shader variabili uniformi come per il vertex shader variabili speciali gl_fragcoord, coordinate sullo schermo gl_frontfacing 32
33 Fragment processor: output gl_fragcolor finalmente, colore RGBA del fragment gl_fragdepth opzionalmente anche la profondità di default calcolata automaticamente oppure può scartare il fragment utile per fare materiali bucati (es. ruggine) 33
34 Osservazioni sulla pipeline corrente 1 in, 1 out: non posso generare geometria ogni vertice è considerato singolarmente non ho informazioni topologiche, di prossimità non posso agire a livello di primitiva non posso stabilire direttamente la posizione di un fragment sullo schermo le funzionalità della pipeline fissa vanno riscritte se servono NB: vertici e fragment possono essere eliminati dopo che li ho processati 34
35 35 Introduzione a GLSL
36 Panoramica è il linguaggio di shading di OpenGL multipiattaforma estensione da OpenGL 1.5 ufficialmente integrato da OpenGL 2.0 molto simile ai concorrenti HLSL e Cg simile ad una versione semplificata e più rigida del C++ compilato dal driver 36
37 Modello di esecuzione 37
38 Vantaggi architetturali ~indipendenza dal motore di rendering (shading procedurale in generale) dal punto di vista del codice, le funzionalità possono essere molto ad hoc riusabilità programmazione anche separata indipendenza dall'hardware (shading di alto livello in generale) uno shader in futuro va solo ricompilato, cfr. con gli shader assembly nb: performance potenzialmente molto diverse 38
39 Breve panoramica sulla sintassi simile al C++ ma più severo sui tipi conversioni esplicite niente switch, goto, ecc. funzioni con in, out e inout per i parametri supportati solo i float nuovi tipi: vecn, matn, samplernd vettori con swizzle (.xyzw,.rgba,.stpq) nuovi qualifiers: attribute (solo vertex), uniform, varying nutrita libreria di operazioni di base 39
40 Lo Hello World degli shader [VERTEX SHADER] void main() { gl_position = ftransform(); // equivale concettualmente a: // gl_position = gl_modelviewprojectionmatrix * // gl_vertex; } [FRAGMENT SHADER] void main() { gl_color = vec4(1.0, 0.0, 0.0, 1.0); } la primitiva viene completamente rossa 40
41 41 Il tangent space
42 A cosa serve il tangent space grandezze solidali con la superficie (es. normali): in che spazio le utilizziamo? object space e eye space: vanno trasformate non è fattibile quando variano per fragment la risposta è il tangent space o surface local in generale 42
43 Il tangent space 43 spazio definito da 3 vettori: la normale sempre [0, 0, 1] da non confondere con la normale perturbata la tangente la binormale normale ^ tangente
44 Come usare il tangent space l'applicazione deve mandare una tangente coerente per ogni vertice calcoliamo la binormale trasformiamo in tangent space: direzione della luce direzione della camera la matrice si costruisce banalmente: 44
45 45 GLSL shaders in XVR
46 Supporto in XVR Script Editor a partire dalla serie beta supporto ai file.sh con syntax highlight scaricabile da wiki.vrmedia.it due modi di usare gli shader invocandoli esplicitamente da script integrandoli in un file AAM con XVR Shader Editor alcuni uniform sono inviati automaticamente da XVR 46
47 Modalità d'uso esplicita var sh = CvmShaderProgram( prog.sh ); var mesh = CvmNewMesh( mesh.aam ); sh.start(); sh.setparameter( nome_uniform_a, valore1); sh.setparameter( nome_uniform_b, valore2); mesh.draw(); // viene disegnata con lo shader sh.stop(); 47
48 Uso implicito 48 una volta impostato lo shader con XVRShaderEditor è sufficiente disegnare la mesh var mesh = CvmNewMesh( mesh.aam ); mesh.draw();
49 49 Tool di supporto per la programmazione di shader
50 ATI Rendermonkey 50
51 Typhoon Labs Shader Designer 51
52 nvidia FX Composer (Cg) 52
53 Risorse online specifiche, link vari sito dell'orange Book developer.3dlabs.com documentazione varia esempi e tutorial wiki.vrmedia.it esempi relativi ad XVR 53
Corso di Tecniche Avanzate per la Grafica
Corso di Tecniche Avanzate per la Grafica GLSL Docente: Massimiliano Corsini Laurea Specialistica in Informatica Università di Ferrara Cosa sono gli shaders? Gli shaders sono programmi che vengono eseguiti
DettagliRendering 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
DettagliAggiungiamo attributi (per vertice!)
Prossimo passo: Aggiungiamo attributi (per vertice!) Roadmap: 1. includiamoli nel buffer 2. facciamoli prendere dal vetex puller 3. usiamoli nel vertex shader 4. (verranno inteprolati autmaticamente nel
DettagliGrafica Real-Time, Hardware Grafico e Linguaggi di Shading. Alessandro Martinelli
Grafica Real-Time, Hardware Grafico e Linguaggi di Shading Alessandro Martinelli Grafica Real Time Il concetto di 'Real Time' in ambito grafico ha una valenza molto particolare: Fino agli anni '80, solo
DettagliCorso di GraficaComputazionale
Corso di GraficaComputazionale GLSL Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Cosa sono gli shaders? Gli shaders sono programmi che vengono
DettagliFondamenti 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
DettagliTexture Mapping Realtà Virtuale: il presente, il pass T a e t x o u, r i e l f M u a t p u pi ro ng
Texture Mapping Texture Mapping Texture coordinates associate ai vertici del triangolo =>> t corrispondenza tra spazio dello schemo (fragment)) e texture-space space. Colore di ogni pixel determinato in
DettagliIntroduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri
Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM Davide Barbieri Contatti skype: davbar86 mail: davide.barbieri@ghostshark.it Panoramica corso Introduzione al mondo delle GPU Modello GPGPU Nvidia
DettagliFondamenti 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
DettagliIntroduzione al Many/Multi-core Computing
Introduzione al Many/Multi-core Computing Sistemi Operativi e reti 6 giugno 2011 Outline del corso Introduzione Definizioni Motivazioni Storia Architettura Framework Algoritmica Parte I Introduzione Definizioni
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics 8 Pipeline di rasterizzazione - 2 12/12/14 Grafica 2014 1 Riepilogo Operazioni geometriche Pixel processing 12/12/14 Grafica 2014 2 Rasterizzazione/scan connversion
DettagliGrafica 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)
DettagliHIGH PERFORMANCE COMPUTING SU UNITA' GRAFICHE PROGRAMMABILI
ALMA MATER STUDIORUM UNIVERSITA' DI BOLOGNA SEDE DI CESENA FACOLTA' DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA IN SCIENZE DELL'INFORMAZIONE HIGH PERFORMANCE COMPUTING SU UNITA' GRAFICHE
DettagliGrafica 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
DettagliVideogame e rendering 3D. Enrico Colombini (Erix) µhackademy 1 Marzo 2019
Videogame e rendering 3D Enrico Colombini (Erix) µhackademy 1 Marzo 2019 Volete creare un videogame? Strumenti comodi: game engine Editor 3D, componenti Runtime engine (PC, console, mobile) Scripting,
DettagliCorso 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
DettagliFondamenti 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
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics 8 Pipeline di rasterizzazione - 2 24/11/12 Grafica 2013 1 Riepilogo Operazioni geometriche Pixel processing 24/11/12 Grafica 2013 2 Rasterizzazione/scan connversion
DettagliCenni 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
DettagliCenni 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
DettagliPipeline di rendering. Pipeline di rendering. Outline. Grafica off-line vs Grafica real-time
Pipeline di rendering Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Outline Grafica off-line vs Grafica real-time
DettagliANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING GLSL
UNIVERSITÀ DEGLI STUDI DI PARMA FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Informatica ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING
DettagliComputer 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:
DettagliGrafica al calcolatore Computer Graphics
Grafica al calcolatore Computer Graphics 8 Pipeline di rasterizzazione - 2 1 Pipeline grafica Operazioni geometriche Pixel processing 2 Rasterizzazione/scan connversion Con il termine rasterizzazione si
DettagliComputer 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
DettagliCorso 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
Dettaglimat4 m, ma, mb ; vec4 v, u; m *= mb ; // come dire: m = m * mb (non mb * m!) u = m * v ; // prodotto matrice-vettore
Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 24/5 Marco Tarini Trasformazioni 3D con three.js Matrici in GLSL mat4 m, ma, mb ; vec4 v, u; m = ma * mb ; // prodotto
DettagliRealtà 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
DettagliCorso di Grafica Computazionale
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
DettagliLighting. 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
DettagliGrafica Computazionale. Texturing. Fabio Ganovelli a.a
Grafica Computazionale Texturing Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Texture Mapping Nelle operazioni per frammento si può accedere ad una RAM apposita la Texture RAM strutturata
DettagliComputer 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
DettagliWebGL. Lezione 18: 15 Maggio 2014
WebGL Lezione 18: 15 Maggio 2014 Cronologia: Grafica 3D nell Hardware In principio (giurassico informatico) postazioni specializzate La Silicon Graphics si afferma come produttrice di workstation grafiche
DettagliIl texture fetch (o: texture lookup) Operazione molto semplice in GLSL, es: e si memorizza le coord texture (s,t) per ogni vertice
e si memorizza le coord texture (s,t) per ogni vertice Index Buffer Verex Buffer s 0 t 0 s t s t coord texture per ogni vertice Vertici in obj. space + attributi s t vertex shader pass down di ( s, t )
DettagliOpen Source 3D Engine. OpenGL Rendering System. Il Framework
Open Source 3D Engine OpenGL Rendering System Il Framework I moderni mezzi di programmazione, consentono a noi sviluppatori di utilizzare librerie avanzate e testate che si prestano eccellentemente allo
DettagliLa Pipeline Grafica. Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione. La Pipeline Grafica.
La Pipeline Grafica Vediamo come avviene il rendering, ovvero la visualizzazione di oggetti. Introduzione La Pipeline Grafica Spazio vista Spazio 3D-screen Shading Rasterizzazione Rimozione delle facce
DettagliComputer Graphics. Immagine sul Raster Display. Grafica 3D: analogia con fotocamera. La matrice di Pixel è memorizzata nel FRAME BUFFER
Computer Graphics Immagine sul Raster Display Il RASTER è costituito da più SCAN LINES Ogni Scan Line è formata da più PIXEL La matrice di Pixel è memorizzata nel FRAME BUFFER Grafica 3D: analogia con
DettagliPipeline di rendering
Pipeline di rendering Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2012/2013 Outline Grafica off-line vs Grafica real-time
DettagliGrafica 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
DettagliLocal Lighting 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine
Local Lighting (recall?) Game Engine Parte del game che si occupa di alcuni dei task comuni Scena / livello Renderer Real time transofrm + lighting Models, materials Physics engine (soft real-time) newtonian
DettagliComputer Graphics. Alcuni meccanismi propri del rasterization based rendering che non abbiamo visto Nuovi stage nel pipeline HW:
Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2014/15 Accenni ad alcuni argomenti lasciati fuori da questo corso Alcuni meccanismi propri del rasterization based
DettagliComputer Graphics. Reminder: API. Il primo Hello World. Storia. Open Graphic Language Libreria C-like. Specifiche API. ver 4.
Computer Graphics Il primo Hello World Reminder: API Applicazioni Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2014/15 HELLO WORLD, I M A TRIANGLE! SDK Algoritmi API Driver Scheda
DettagliGrafica 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
DettagliHigh Dynamic Range Rendering in OpenGL
Università degli Studi di Trieste Corso di Laurea Specialistica in Ingegneria Informatica Elementi di Grafica Digitale High Dynamic Range Rendering in OpenGL Studente: Alberto Dotta - 81700080 Docente:
DettagliHigh Dynamic Range Rendering in OpenGL
Università degli Studi di Trieste Corso di Laurea Specialistica in Ingegneria Informatica Tesina per il corso di Elementi di Grafica Digitale a.a. 2006/2007 High Dynamic Range Rendering in OpenGL Studente
DettagliMarco Tarini, Università dell'insubria AA 2016/2017. Computer Graphics. Facciamo una primissima applicaizone grafica rasterization based
Computer Graphics Hello Triangle Università dell Insubria Corso di Laurea in Informatica Anno Accademico 2016/17 HELLO WORLD, I M A TRIANGLE! Marco Tarini Piano Facciamo una primissima applicaizone grafica
DettagliPipeline 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
DettagliComputer Graphics. Preambolo: piccolo prontuario di JavaScript. Modellazione procedurale di semplici forme
Computer Graphics Università dell Insubria Corso di Laurea in Informatica Anno Accademico / Marco Tarini Modellazione procedurale di semplici forme JavaScript ha molti difetti non tipato sintassi molto
DettagliComputer Graphics. Visione di insieme: Visione di insieme: Hardware specializzato per il rendering. Lezione 2: hardware ergo triangoli
Computer Graphics Leione 2: hardware ergo Università dell Insubria Facoltà di Sciene MFN di Varese Visione di insieme: "GPU GPU": Graphics Processing Unit La CPU della scheda video Instruction Set specialiato!
DettagliCaveat. 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
DettagliCaveat. 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
DettagliCorso 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
DettagliLe cose da sapere prima di iniziare a creare un videogioco. Game Making e dintorni - Fabrizio Mascheroni 1
Le cose da sapere prima di iniziare a creare un videogioco Game Making e dintorni - Fabrizio Mascheroni 1 Contenuti 1. Introduzione 2. Cos è un videogioco 3. Com è Fatto un Videogioco 4. Cenni sulla Pipeline
DettagliComputer Graphics. Se non si vede, che non ci sia CULLING. Tipi di Culling. Notazione. Occlusion culling
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,
DettagliLA STRUTTURA NARRATIVA. Prof. M.A. Alberti, A. Berolo, P. Pasteris
LA STRUTTURA NARRATIVA Prof. M.A. Alberti, A. Berolo, P. Pasteris Pipeline Modellazione Texturing Rigging/ Skinning Animazione Luci/ Compositing Rendering Poligonale: La modellazione poligonale si basa
DettagliComputer 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,
DettagliGrafica e Geometria Computazionale
Grafica e Geometria Computazionale Andrea Torsello e Giuseppe Maggiore DAIS, CdL Informatica Via Torino, 155, Venezia Mestre Slides scaricabili da http://www.dsi.unive.it/~grafica/pls/slides.pdf Cos è
DettagliLezione1. Cos è la computer grafica. Lezione del 10 Marzo 2010. Michele Antolini Dipartimento di Ingegneria Meccanica Politecnico di Milano
Lezione1 Informatica Grafica Cos è la computer grafica Lezione del 10 Marzo 2010 Grafica OpenGL vs Direct Dipartimento di Ingegneria Meccanica Politecnico di Milano 1.1 Tubo a Raggi Catodici Cathode Ray
DettagliComputer 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
DettagliInformatica Generale Andrea Corradini I linguaggi di programmazione
Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi
DettagliINFORMATICA GRAFICA. 28 Aprile Trasformazioni - Illuminazione. Michele Antolini
Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 28 Aprile Trasformazioni - Illuminazione michele.antolini@mail.polimi.it Trasformazioni Durante il ridisegno della
DettagliGrafica 3D per i beni culturali: 3D and rendering. Lezione 2: 20 Febbraio 2014
Grafica 3D per i beni culturali: 3D and rendering Lezione 2: 20 Febbraio 2014 1 Modeling/Acquisition e Rendering Modeling/Acquisition creazione di un modello digitale che rappresenti una scena/oggetto
DettagliMesh triangolari i Modelli 3D universali dei games
Video Game Dev 2015/2016 Univ. Insubira 3D es Marco Tarini triangolari i Modelli 3D universali dei games Struttura dati per modellare oggetti 3D GPU friendly Risoluzione (potenzialmente) adattiva Complessità
DettagliGrafica al calcolatore - Computer Graphics
Grafica al calcolatore - Computer Graphics 9 Tecniche di Mapping 24/11/12 Grafica 2013-9 1 Introduzione Il modello di illuminazione di Phong è abbastanza versatile: con una scelta opportuna dei vari parametri
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
DettagliObiettivi. 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
DettagliGrafica 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
Dettagli1.1 Modello di un Processo di Rendering. Gestore delle Geometrie (Ricostruzione delle Geoemtrie e Clipping)
Capitolo 1 Esercizi sulla Pipeline di Rendering 1.1 Modello di un Processo di Rendering Componenti dell Architettura di Rendering: Processore Bus di Comunicazione Scheda Grafica Moduli della Pipeline di
DettagliGrafica 3D Interattiva
Informatica Grafica ][ Marco Gribaudo marcog@di.unito.it Grafica 3D Interattiva sono una libreria di funzioni a basso livello per facilitare la scrittura di videogiochi e di applicazioni multimediali.
DettagliProgrammare l AGP: gli Shader
Programmare l AGP: gli Shader 5 Scuola Estiva di Visualizzazione Scientifica e Grafica 3D Relazione finale Relazione di Micaela Spigarolo spigarol@cs.unibo.it 28 novembre 2005 1 Introduzione Le interfacce
DettagliDescrizione tecnica. Tecnologia NVIDIA TurboCache Ridefinizione del rapporto prezzo/prestazioni per i PC Entry- Level
Descrizione tecnica Tecnologia NVIDIA TurboCache Ridefinizione del rapporto prezzo/prestazioni per i PC Entry- Level Tecnologia NVIDIA TurboCache Introduzione La tecnologia NVIDIA TurboCache è una soluzione
DettagliLe ombre in OpenGl. Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org
Le ombre in OpenGl Daniele Varin LS Ing. Informatica Corso di Elementi di Grafica Digitale http://varindaniele.altervista.org Punto di partenza In OpenGl le luci non proiettano ombre 2 Perché si introducono
DettagliNormal maps: come si ottengono (2/4)
Normal maps: come si ottengono (2/4) Photometric Stereo (una forma di inverse lighting ) da: N immagini (N>=4) reali Stesso punto di vista Illuminazione diversa (possibilmente, controllata e nota) a Normal
DettagliLivello di approfondimento della lezione. Texture mapping di solito spiegato in corsi di CG di base
Texture mapping Davide Gadia, Daniele Marini Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Livello di approfondimento della lezione
DettagliIntroduzione all'uso di Blender
Introduzione all'uso di Blender Ing. Davide Vercelli, PERCRO davide.vercelli@sssup.it Riassunto dei concetti principali finestre non-overlapping i tipi di finestra (Window Types) gli Screen le modalità
DettagliGrafica computazionale
Grafica computazionale Lezione 4 (slide parzialmente basate su Computer Graphics - MIT Opencourseware Grafica Computazionale - Massimiliano Corsini Università di Siena) 1 Textures Riviste Abbiamo visto
DettagliComputer 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
DettagliLe 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
DettagliRasterizzazione. 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
DettagliGrafica 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
DettagliSempre piu difficile. Pallina che ruota sull anello. Doppio Anello. Rotolamento pallina 2. Rotolamento pallina 1. Aggiungiamo nell ordine
Sempre piu difficile Costruzione di Interfacce Lezione 9 Esercitazione Shading Aggiungiamo nell ordine L anello che e formato da una doppia striscia Una pallina che rotola sull anello L anello che ruota
DettagliGrafica 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
DettagliStadio 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
DettagliUNIVERSITÀ DEGLI STUDI DI SIENA
UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria Informatica, orientamento Robotica ed Automazione Tesi di Laurea Interazione Visuo-Aptica con Oggetti Deformabili
DettagliWORKSHOP DI VISUALIZZAZIONE INTERNI
WORKSHOP DI VISUALIZZAZIONE INTERNI Corso intensivo di Cinema 4d + Vray e Adobe Photoshop Durata del Workshop: 6 giorni a cura di Alberto Cibinetto Informazioni utili: Il Workshop di Visualizzazione Interni
DettagliComputer 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
DettagliCorso Grafica Computazionale
Corso Grafica Computazionale Trasformazioni Geometriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Trasformazioni Geometriche Le trasformazioni
DettagliXVR: Primo Progetto. Il wizard Hello world. La camera. La scena. Console Text/2D drawings 3D text. Traslazioni Rotazioni
XVR: Primo Progetto Il wizard Hello world Console Text/2D drawings 3D text La camera Traslazioni Rotazioni La scena Scene multiple Open GL, disegnare un quad Esercitazione XVR functions: : Text Gestione
DettagliIngegneria e Tecnologie dei Sistemi di Controllo. Unità di Elaborazione: MicroControllori e DSP
Ingegneria e Tecnologie dei Sistemi di Controllo Unità di Elaborazione: MicroControllori e DSP Ing. Andrea Tilli DEIS Alma Mater Studiorum Università di Bologna E-Mail: atilli@deis.unibo.it Revisionato:
DettagliArchitetture Applicative Altri Esempi
Architetture Applicative Altri Esempi Alessandro Martinelli alessandro.martinelli@unipv.it 15 Aprile 2014 Architetture Applicative Altri Esempi di Architetture Applicative Architetture con più Applicazioni
Dettagli3DMark 2001 SE. Radeon 9600XT. Radeon 9200SE. 3DMark. Radeon 7500LE. GeForce2 MX
SISTEMA DELLA PROVA: Pentium III @800 Mhz 128 MB PC133 Scheda madre Intel D815 Scheda Audio Integrata Sistema Operativo Windows 98SE Driver: Catalyst 5.8 Nvidia:?? 3DMark 2001 SE è stato provato in 1024x768
DettagliCorso di programmazione Arduino DI MALVEZZI DAVIDE
Corso di programmazione Arduino DI MALVEZZI DAVIDE Argomenti Pin digitali e pin analogici Gestione di timer e bottoni Utilizzo della porta seriale Oggetto String Controllo di schermi LCD Utilizzo dell
Dettagli