INFORMATICA GRAFICA. 27 Aprile Introduzione a OpenGL parte 2. Michele Antolini

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INFORMATICA GRAFICA. 27 Aprile Introduzione a OpenGL parte 2. Michele Antolini"

Transcript

1 Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 27 Aprile Introduzione a OpenGL parte 2 michele.antolini@mail.polimi.it

2 COMANDI FONDAMENTALI

3 OpenGL - comandi Nel main() è necessario impostare la configurazione iniziale utilizzando chiamate alla libreria GLUT glutinit( int argc, char** argv): inizializzazione GLUT glutinitdisplaymode( unsigned int mode ): combinazione tramite operatore (OR) di parametri relativi alla modalità di visualizzazione GLUT_RGBA, GLUT_RGB, GLUT_ALPHA, GLUT_INDEX: selezione colori in RGB o tramite indexing con eventuale trasparenza (ALPHA) GLUT_SINGLE, GLUT_DOUBLE, GLUT_ACCUM, GLUT_DEPTH, GLUT_STENCIL: bufferizzazione dei frame GLUT_STEREO: abilita la visualizzazione stereoscopica

4 OpenGL - comandi glutinitdisplaymode( unsigned int mode ) mode = GLUT_INDEX GLUT_SINGLE GLUT_DEPTH Viene creata una finestra con colori indicizzati, singolo buffer di visualizzazione, con depth buffer mode = GLUT_RGBA GLUT_DOUBLE GLUT_DEPTH GLUT_STEREO Viene creata una finestra con colori a 4 componenti (red, green, blue, trasparenza), doppio buffer di visualizzazione, con depth buffer e visualizzazione stereoscopica (su hardware compatibile)

5 OpenGL - comandi Creazione finestra di visualizzazione glutinitwindowsize( int width, int height ) glutinitwindowposition( int x, int y ) glutcreatewindow ( char *name )

6 OpenGL - comandi Gestione della finestra Vengono utilizzati puntatori a funzione per implementare callback glutdisplayfunc(void (*func)(void)) Viene chiamata quando il contenuto della finestra deve essere ridisegnato glutreshapefunc(void (*func)(int width, int height)) Viene chiamata quando la finestra viene spostata o ridimensionata glutpostredisplay(void) Forza la chiamata alla Display Function

7 OpenGL - comandi Eventi di input glutkeyboardfunc( void (*func)(unsigned int key, int x, int y) Quando viene premuto un tasto (ASCII) restituisce il codice (key) e le coordinate (x,y) del mouse glutmousefunc(void (*func)(int button, int state, int x, int y)) Pressione di un tasto del mouse. button può valere GLUT_LEFT_BUTTON, GLUT_RIGHT_BUTTON o GLUT_MIDDLE_BUTTON state può valere GLUT_UP o GLUT_DOWN

8 OpenGL - comandi Eventi di input glutmotionfunc( void (*func)(int x, int y) ) Questa callback viene attivata quando il mouse si muove con uno o più tasti premuti Primitive oggetti 3D glutwire<name>, glutsolid<name> (es. glutwirecube(int size)...cube( GLDouble size)...sphere( GLdouble radius, GLint slices, GLint stacks)...torus( GLdouble innerradius, GLdouble outerradius, GLint nsides, GLint rings )...Cone( GLdouble radius, GLdouble height, GLint slices, GLint stacks )...Teapot( GLdouble size )

9 OpenGL - comandi Impostazione del punto di vista void glulookat( GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble centerx, GLdouble centery, GLdouble centerz, GLdouble upx, GLdouble upy, GLdouble upz );

10 OpenGL Viewing volume Proiezione ortogonale parallela void glortho(left,right,bottom,top,near,far) Proiezione ortogonale parallela 2D void glortho2d(left,right,bottom,top)

11 OpenGL Viewing volume Proiezione prospettica void glfrustum(left,right,bottom,top,near,far) void gluperspective(fovy,aspect,near,far)

12 ARCHITETTURA

13 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory

14 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Texture Memory Pixel Operations Display list I dati corrispondenti alle geometrie o a singoli pixel possono essere salvati in una lista (display list). In alternativa I dati possono essere creati e processati subito dopo ( Immediate mode ). Eseguendo una display list, i dati vengono processati come se fossero stati inviati tramite Immediate mode.

15 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory Evaluators Tutte le primitive geometriche possono essere descritte attraverso vertici. Curve e superfici parametriche sono descritte da punti di controllo e funzioni polinomiali (basis functions). Gli evaluators permettono di descrivere una curva o una superficie tramite i punti di controllo. La mappatura polinomiale permette, oltre alla generazione delle coordinate dei punti appartenenti all elemento geometrico, di generare anche vettori normali e coordinate textures a partire dai punti di controllo.

16 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory Per-vertex operations I dati dei vertici devono essere convertiti in primitive eseguibili dall hardware. I vertici possono ad esempio subire trasformazioni tramite matrici a virgola mobile 4x4 (sequenze di rotazioni, traslazioni e altre eventuali trasformazioni di coordinate). Le coordinate spaziali vanno poi convertite in coordinate sullo schermo. Molte altre opzioni possono riguardare: coordinate texture, illuminazioni, calcolo vettori normali, materiali e shading per arrivare a definire un colore.

17 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory Primitive assembly La prima operazione di questo blocco è l eliminazione delle porzioni di geometrie che cadono fuori dalla parte visibile (una serie di semispazi definiti da piani), detta clipping. Il point clipping accetta o elimina dei vertici, il line/polygon clipping crea un nuovi vertici sul bordo del semispazio. Vengono anche effettuate operazioni prospettiche e test sull occlusione (vengono scartate primitive non visibili perché nascoste da altre) e sul backface culling (vengono scartati i poligoni la cui faccia frontale non è visibile)

18 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory Pixel operations I dati geometrici vengono eseguiti dalla pipeline di rendering, mentre i pixel percorrono una strada differente. Vengono convertiti da una serie di possibili formati in elementi con il numero appropriato di componenti. I dati vengono poi scalati, tarati e processati. Possono essere quindi inviati alla memoria texture o verso la rasterizzazione. I dati sui pixel possono provenire dal frame buffer, in questo caso, oltre alle precedenti operazioni, possono essere inviati sotto forma di array alla memoria centrale.

19 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory Texture Le texture vengono usate per rendere le geometrie più realistiche. La memoria texture, spesso specializzata e ad alte prestazioni per eseguire questo compito, viene gestita e ottimizzata dall hardware, spesso con operazioni ad hoc.

20 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory Rasterization La rasterizzazione è la conversione di dati geometrici e pixel in frammenti quadrati, che corrispondono a pixel nel framebuffer. In questo punto vengono presi in considerazione tratteggi (stipple), spessore delle linee, dimensione dei punti e antialiasing.

21 OpenGL Rendering pipeline Immediate Mode geometry pipeline Polynomial Evaluator Per Vertex Operations & Primitive Assembly CPU Display List Rasterization Per Fragment Operations Frame Buffer Pixel Operations Texture Memory Fragment operations Prima di inserire valori nel framebuffer è necessario effettuare una serie di operazioni, ognuna della quali può essere abilitata o disabilitata. La prima operazione riguarda la texture, dove un texel (texture element) viene generato dalla memoria texture per ogni fragment e applicato al fragment stesso. Vengono quindi eseguiti calcoli per effetto nebbia, trasparenza, stencil, depth-buffer, blending, bit-masking.

22 OpenGL State machine Le variabili di stato possono essere impostate e lette da OpenGL. Rimangono invariate fino a successiva modifica. Matrici di proiezione e modelview Proprietà di colori e materiali Luci e ombreggiatura (shading) Modalità disegno linee e poligoni Le funzioni OpenGL sono di tipi: Generatrici di primitive Output se la primitiva è visibile L impostazione di come i vertici devono essere processati e visualizzati è controllato dallo stato corrente Modifica dello stato Funzioni di trasformazione Attributi

23 OpenGL State machine Le variabili di stato che si riferiscono a modalità di funzionamento possono essere abilitate tramite chiamate glenable() o gldisable(). Ogni variabile di stato ha il proprio valore di default. E possibile richiedere il valore corrente di una variabile di stato tramite chiamate ad uno dei seguenti comandi (a seconda del tipo di variabile): glgetbooleanv(), glgetdoublev(), glgetfloatv(), glgetintegerv(), glgetpointerv(), o glisenabled(). Esistono anche chiamate specifiche (come glgetlight*(), glgeterror(), o glgetpolygonstipple()). Si può salvare lo stato corrente di una variabile di stato (attribute) in una stack, tramite glpushattrib() o glpushclientattrib(), effettuare modifiche, poi ripristinare il valore precedente con glpopattrib() o glpopclientattrib(). Molto più efficiente rispetto ad ottenere il valore corrente con glget*, salvarlo in una variabile e ripristinarlo tramite glset*

24 OpenGL - Matrici OpenGL gestisce le sue impostazioni principali tramite una pila (stack) di matrici Projection, Modelview, Texture Si imposta la modalità corrente tramite glsetmatrixmode ( GLenum mode ) mode: GL_MODELVIEW, GL_PROJECTION, GL_TEXTURE

25 OpenGL Nell esempio multiviewport ottenevo la matrice di proiezione e la modelview (sistema di riferimento attuale) prima di reimpostarle per la nuova viewport glgetdoublev(gl_projection_matrix, projmatrix1); glgetdoublev(gl_modelview_matrix, modelmatrix1);

26 OpenGL Per poi reimpostare le matrici del frame precedente glviewport (0, 0, (GLsizei) 640, (GLsizei) 480); glmatrixmode(gl_projection); glloadmatrixd(projmatrix2); glmatrixmode(gl_modelview); glloadmatrixd(modelmatrix2);

27 OpenGL - Viewport void glviewport(x,y,width,height) scala l immagine su una viewport che ha origine in (x,y) e ha dimensioni (width,height) i parametri sono in window coordinates width e height possono essere inferiori alla dimensione della finestra una finestra può contenere diversi viewport

28 OpenGL - Viewport void glviewport(x,y,width,height) dopo aver definito una ulteriore viewport, chiamare glloadidentity() glulookat(... )

29 OpenGL - Colore due modalità: indicizzata RGB modalità indicizzata: selezione modalità glutinitdisplaymode( GLUT_INDEX ); entry della Look-up Table glutsetcolor( index, r, g, b ); selezione del colore corrente glindexi( index );

30 OpenGL - Colore modalità rgb: selezione la modalità glutinitdisplaymode( GLUT_RGB ); selezione colore corrente glcolor3f( r, g, b );

31 OpenGL - Primitive le primitive di OpenGL (punti, linee, triangoli, poligoni) sono descritte in termini di vertici i vertici sono descritti in coordinate omogenee (x, y, z, w) = (x/w, y/w, z/w, 1) glvertex4f( x, y, z, w ) (x, y, z, w ) glvertex3f( x, y, z ) (x, y, z, 1.0) glvertex2f( x, y ) (x, y, 0.0,1.0) il formato generale per il drawing e`: glbegin( tipo_di_primitiva ); <sequenza di vertici> glend();

32 OpenGL - Primitive esempio: glbegin( GL_LINES ); glcolor3f( 1.0, 1.0, 1.0 ); glvertex2f( -0.8, -0.8 ); glcolor3f( 1.0, 0.0, 0.0 ); glvertex2f( 0.5, 0.2 ); glvertex2f( -0.5, 0.4 ); glcolor3f( 0.0, 1.0, 0.0 ); glvertex2f( -0.2, 0.1 ); glend(); vertici differenti possono avere colore differente; in tal caso il colore viene interpolato da un vertice all altro

33 OpenGL - Primitive V 2 V 1 V 4 V 3 GL_POINTS V 5 V 6 V 2 V 1 V 4 V 3 GL_LINES V 5 V 6 V 2 V 1 V 4 V 3 GL_LINE_STRIP V 5 V 6

34 OpenGL - Primitive V 2 V 1 V 4 V 3 GL_LINE_LOOP V 5 V 6 V 5 V 1 V 2 V 3 GL_TRIANGLES V 6 V 4 V 3 V 1 V 2 V 5 GL_TRIANGLE_STRIP V6 V 4

35 OpenGL - Primitive V 1 V 2 V 3 GL_TRIANGLE_FAN V 6 V5 V 4 V 2 V3 V 5 V 6 V 1 V 4 V 8 V 7 GL_QUADS V 1 V 3 V 5 V 7 GL_QUAD_STRIP V 2 V 4 V 6 V 8

36 OpenGL Punti, Linee e Poligoni Si può impostare la dimensione di un punto con il comando glpointsize( GLfloat size ) default: 1.0) lo spessore di una linea con il comando gllinewidth( GLfloat size ) default: 1.0 pattern tratteggio void gllinestipple( GLint factor, GLushort pattern);

37 OpenGL Punti, Linee e Poligoni gllinestipple(4, 0xAAAA ); glenable(gl_line_stipple); glutwirecube(1); //dotted wireframe cube

38 Esercizio Completare le funzioni dell header file Vector3D.h Non necessaria rotazione intorno ad un asse generico rotate( Vector3d &axis, double angle) Esempi di utilizzo della classe Vector3d v1, v2(1.0,0.0,0.0), v3; v3 = v1+v2; v3 = 3.0*v3; Vector3d v4 = v3.cross(v2); v4.normalize(); v4.rotatex(0.1f); Utilizzate la struct per semplificare lo svolgimento dell esercizio proposto durante la lezione precedente

INFORMATICA GRAFICA. 25 Marzo Introduzione a OpenGL. Michele Antolini

INFORMATICA GRAFICA. 25 Marzo Introduzione a OpenGL. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 25 Marzo Introduzione a OpenGL michele.antolini@mail.polimi.it Computer graphics I programmi di grafica (non solo

Dettagli

INFORMATICA GRAFICA. 20 Aprile Introduzione a OpenGL. Michele Antolini michele.antolini@mail.polimi.it

INFORMATICA GRAFICA. 20 Aprile Introduzione a OpenGL. Michele Antolini michele.antolini@mail.polimi.it Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 20 Aprile Introduzione a OpenGL michele.antolini@mail.polimi.it Computer graphics I programmi di grafica (non solo

Dettagli

DOUBLE BUFFERING. serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING

DOUBLE BUFFERING. serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING serve a nascondere la fase di drawing utilizzato soprattutto nelle animazioni back buffer front buffer

Dettagli

RIEPILOGO DRAWING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING

RIEPILOGO DRAWING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING RIEPILOGO INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING DRAWING creare una finestra inizializzare i buffer gestire il colore in modalita` indicizzata in modalita`

Dettagli

INFORMATICA GRAFICA. 5 Maggio Interattività. Michele Antolini

INFORMATICA GRAFICA. 5 Maggio Interattività. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 5 Maggio Interattività michele.antolini@mail.polimi.it Input Libreria glut interfaccia con il window system gestione

Dettagli

INFORMATICA GRAFICA!

INFORMATICA GRAFICA! Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 11 Maggio! Interattività! Michele Antolini michele.antolini@mail.polimi.it! Input! Libreria glut! interfaccia con

Dettagli

INFORMATICA GRAFICA. 28 Aprile Trasformazioni - Illuminazione. Michele Antolini

INFORMATICA 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

Dettagli

Introduzione SOMMARIO

Introduzione SOMMARIO SOMMARIO Introduzione alle librerie grafiche e a OpenGL Implementazioni hw e sw e supporto multipiattaforma Esempi di programma con OpenGL Sistemi di coordinate 2D e 3D Proiezioni Primitive 3D Pipeline

Dettagli

Computer Graphics. Immagine sul Raster Display. Grafica 3D: analogia con fotocamera. La matrice di Pixel è memorizzata nel FRAME BUFFER

Computer 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

Dettagli

Informatica Grafica. (III anno Laurea Triennale e I anno Laurea Magistrale del Corso di Laurea in Informatica) Donato D Ambrosio

Informatica Grafica. (III anno Laurea Triennale e I anno Laurea Magistrale del Corso di Laurea in Informatica) Donato D Ambrosio Informatica Grafica (III anno Laurea Triennale e I anno Laurea Magistrale del Corso di Laurea in Informatica) Donato D Ambrosio Dipartimento di Matematica e Centro d Eccellenza per il Calcolo ad Alte Prestazioni

Dettagli

INFORMATICA GRAFICA!

INFORMATICA GRAFICA! Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 7 Aprile! Trasformazioni - Illuminazione! Michele Antolini michele.antolini@mail.polimi.it! TRASFORMAZIONI! Trasformazioni!

Dettagli

Informatica Grafica. (III anno Laurea Triennale - Corso di Laurea in Informatica) Donato D Ambrosio

Informatica Grafica. (III anno Laurea Triennale - Corso di Laurea in Informatica) Donato D Ambrosio Informatica Grafica (III anno Laurea Triennale - Corso di Laurea in Informatica) Donato D Ambrosio Dipartimento di Matematica e Centro d Eccellenza per il Calcolo ad Alte Prestazioni Cubo 22B, Università

Dettagli

INFORMATICA GRAFICA. 4 Maggio Trasformazioni - Illuminazione. Michele Antolini

INFORMATICA GRAFICA. 4 Maggio Trasformazioni - Illuminazione. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 4 Maggio Trasformazioni - Illuminazione Michele Antolini michele.antolini@mail.polimi.it TRASFORMAZIONI Trasformazioni

Dettagli

Introduzione a OpenGL e alle GLUT

Introduzione a OpenGL e alle GLUT Introduzione a OpenGL e alle GLUT s OpenGL (Open Graphics Library) è una libreria per fare computer grafica. Il programmatore, per poter visualizzare sullo schermo quanto elaborato con opengl, necessita

Dettagli

INFORMATICA GRAFICA. 12 Maggio Display lists, blending, fog. Michele Antolini

INFORMATICA GRAFICA. 12 Maggio Display lists, blending, fog. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 12 Maggio Display lists, blending, fog michele.antolini@mail.polimi.it BLENDING Blending Il blending (letteralmente

Dettagli

OpenGL: visualizzazione 3D

OpenGL: visualizzazione 3D OpenGL: visualizzazione 3D La visualizzazione di una scena avviene come se si stesse usando una macchina fotografica per la quale si può controllare la posizione nello spazio 3D; si può cambiare il tipo

Dettagli

Libreria grafica: OpenGL. Come realizzare semplici simulazioni video in C con OpenGL

Libreria grafica: OpenGL. Come realizzare semplici simulazioni video in C con OpenGL Libreria grafica: OpenGL Come realizzare semplici simulazioni video in C con OpenGL 1 Simulazione video Una simulazione è un modello della realtà che consente di valutare e prevedere lo svolgersi dinamico

Dettagli

Open Source 3D Engine. OpenGL Rendering System. Il Framework

Open 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

Dettagli

Grafica Computazionale

Grafica 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

Dettagli

Computer Graphics. Realtà Virtuale: il presente, il passato, 3D il Graphics futuro

Computer Graphics. Realtà Virtuale: il presente, il passato, 3D il Graphics futuro 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 Un unico frame buffer porterebbe

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale OpenGl + SDL Fabio Ganovelli fabio.ganovelli@isti.cnr.it a.a. 2005-2006 Storia Specifica di libreria per la scrittura di applicazioni di grafica 3D Cross-Language Cross-Platform

Dettagli

Corso di programmazione videogiochi 3 D con C++, OpenGL e Irrlicht. Alessandro Bugatti ITIS B. Castelli

Corso di programmazione videogiochi 3 D con C++, OpenGL e Irrlicht. Alessandro Bugatti ITIS B. Castelli Corso di programmazione videogiochi 3 D con C++, OpenGL e Irrlicht La programmazione dei videogiochi Contesto di programmazione molto specializzato e complesso Ricco di sfide informatiche (gestione memoriaprestazioni,

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma Introduzione Costruzione di Interfacce Primi passi in OpenGL cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Abbiamo visto Cosa significa rendering L approccio object viewer Mettiamo in pratica

Dettagli

Corso di Tecniche Avanzate per la Grafica

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

Dettagli

Introduzione Computer Graphics

Introduzione Computer Graphics Knowledge Aided Engineering Manufacturing and Related Technologies Dipartimento di Ingegneria Industriale Università di Parma Introduzione Computer Graphics Cosa e la computer graphics Computer Graphics

Dettagli

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

Corso di grafica 3D con C++ e OpenGL. Alessandro Bugatti ITIS B. Castelli Corso di grafica 3D con C++ e OpenGL Utilizzo di quadriche Una quadrica in 3D è ogni superficie rappresentata da un'equazione polinomiale del secondo ordine nelle variabili spaziali (coordinate). Esempi

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale Laboratorio Fabio Ganovelli fabio.ganovelli@gmail.com a.a. 2006-2007 Credits: Marco Tarini CVS Concurrent Versioning System Client per windows www.tortoisecvs.org. gc07 gc07 Qui

Dettagli

Indici ed introduzione a Maya

Indici ed introduzione a Maya Informatica Grafica ][ Indici ed introduzione a Maya Supponiamo di voler disegnare un oggetto a forma di farfalla: Marco Gribaudo marcog@di.unito.it E' costituito da 8 vertici, le cui coordinate sono:

Dettagli

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma Introduzione Costruzione di Interfacce Primi passi in OpenGL cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Abbiamo visto Cosa significa rendering L approccio object viewer Mettiamo in pratica

Dettagli

Introduzione al Many/Multi-core Computing

Introduzione 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

Dettagli

Videogame e rendering 3D. Enrico Colombini (Erix) µhackademy 1 Marzo 2019

Videogame 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,

Dettagli

Introduzione al Real Time Shading

Introduzione al Real Time Shading Introduzione al Real Time Shading Ing. Davide Vercelli, PERCRO davide.vercelli@sssup.it Sommario dal software all'hardware e ritorno cenni storici la pipeline grafica com'era: la pipeline fissa com'è:

Dettagli

Dispositivi di output

Dispositivi di output Dispositivi di output I dispositivi di output sono generalmente i monitor o display (CRT, LCD ) Inizialmente (primi anni '60) i display sono dispositivi di tipo vettoriale (lineare), in grado di tracciare

Dettagli

Passare argomenti al programma

Passare argomenti al programma Passare argomenti al programma Quando si invoca un programma è possibile passare degli argomenti ad esso durante la chiamata. Gli argomenti ricevuti saranno stringhe (array di char) quindi l insieme di

Dettagli

Le problematiche della grafica tridimensionale

Le 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

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Computer Graphics. Computer Graphics. Alcuni argomenti che non abbiamo trattato (o abbiamo trattato poco) Modelling: Rendering:

Computer Graphics. Computer Graphics. Alcuni argomenti che non abbiamo trattato (o abbiamo trattato poco) Modelling: Rendering: pillole varie di CG Alcuni argomenti che non abbiamo trattato (o abbiamo trattato poco) Modelling: superfici di suddivisione NURBS Rendering: HDR images Modelling and Rendering: HW programmabile bump-maps

Dettagli

Titolo presentazione

Titolo presentazione Titolo presentazione Programmazione C: Esercizi su stringhe, funzionisottotitolo di libreria e matrici Milano, XX mese 20XX Informatica ed Elementi di Informatica Medica Agenda Argomenti e valore di ritorno

Dettagli

Grafica Computazionale. Texturing. Fabio Ganovelli a.a

Grafica 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

Dettagli

INFORMATICA GRAFICA!

INFORMATICA GRAFICA! Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA! 18 Maggio! Vertex array, VBO, Display lists! Michele Antolini michele.antolini@mail.polimi.it! Prestazioni! Abbiamo

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

Capitolo 10 - Strutture

Capitolo 10 - Strutture 1 Capitolo 10 - Strutture Strutture In molte situazioni, una variabile non è sufficiente per descrivere un oggetto. Ad esempio, una posizione sul piano cartesiano è identificata da due coordinate, e la

Dettagli

LIGHTING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING

LIGHTING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING LIGHTING INTRODUZIONE DRAWING EVENT MANAGEMENT VIEWING DOUBLE BUFFERING Z-BUFFERING LIGHTING e` una approssimazione del comportamento della luce nel mondo reale permette di visualizzare la scena in modo

Dettagli

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22 Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)

Dettagli

Cenni al rendering di ombre

Cenni 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

Dettagli

Cenni al rendering di ombre

Cenni 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

Dettagli

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma Introduzione Costruzione di Interfacce Primi passi in OpenGL cignoni@iei.pi.cnr.it http://vcg.iei.pi.cnr.it/~cignoni Abbiamo visto Cosa significa rendering L approccio object viewer Mettiamo in pratica

Dettagli

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune.

Le strutture. Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Le strutture Una struttura C è una collezione di variabili di uno o più tipi, raggruppate sotto un nome comune. Dichiarazione di una struttura: struct point { int x; int y; }; La dichiarazione di una struttura

Dettagli

Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000.

Printer Driver. Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000. 4-129-746-42 (1) Printer Driver Guida per la configurazione Questa guida descrive la configurazione del driver stampante per Windows 7, Windows Vista, Windows XP e Windows 2000. Prima dell utilizzo del

Dettagli

Gestione dinamica della memoria

Gestione dinamica della memoria Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 2016-2017 Gestione dinamica della memoria Pietro Di Lena - pietro.dilena@unibo.it A pessimistic programmer sees the array as half empty.

Dettagli

Corso di Tecniche Avanzate per la Grafica Texturing

Corso 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

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica 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

Dettagli

Dati due punti sul piano calcolare la loro distanza

Dati due punti sul piano calcolare la loro distanza Introduzione al C Primo esempio in C Dati due punti sul piano calcolare la loro distanza Soluzione: la distanza fra due punti si calcola secondo il teorema di Pitagora, con la formula: y Distanza = (lato12

Dettagli

Immagini digitali. Georges Seurat ( ),"Un dimanche ' été à l' Ile de la Grande Jatte"

Immagini digitali. Georges Seurat ( ),Un dimanche ' été à l' Ile de la Grande Jatte Immagini digitali Digitalizzazione o acquisizione di immagini del mondo reale (es. da una fotografia). Analogia con la scuola divisionista o puntinista Georges Seurat (1859-1891),"Un dimanche ' été à l'

Dettagli

GAME DEV: tools programming. Parte 2: programming

GAME DEV: tools programming. Parte 2: programming GAME DEV: tools programming Parte 2: programming Marco Tarini Tools per programmare un tool: 1. Tools per GUI programming 2. API grafiche (opengl, directx) 3. Interfacciamento con SO (sist. op.) finestre

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica 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

Dettagli

Grafica Computazionale

Grafica Computazionale Grafica Computazionale lezione34 Informatica e Automazione, "Roma Tre" May 27, 2010 Grafica Computazionale: Lezione 33 OpenGL examples Perspective projection Parallel projection Isomorphic viewport transformation

Dettagli

Ultra Vertex Documentazione Versione Alpha 0.1

Ultra Vertex Documentazione Versione Alpha 0.1 Ultra Vertex Documentazione Versione Alpha 0.1 Strumenti principali Selezione del colore Poligoni regolari Disegno vettoriale libero Elaborare disegni vettoriali Elaborare singoli vertici Inserire immagini

Dettagli

Interfacce Hardware. Lezione 11(prima parte) - Sistemi dedicati. Studente: Salvatore Mameli

Interfacce Hardware. Lezione 11(prima parte) - Sistemi dedicati. Studente: Salvatore Mameli Interfacce Hardware Lezione 11(prima parte) - Sistemi dedicati Studente: Salvatore Mameli Università degli Studi di Catania Dipartimento di Matematica e Informatica Anno accademico 2017/2018 L interfaccia

Dettagli

Texture 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 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

Dettagli

Matlab: Script e Funzioni

Matlab: Script e Funzioni Matlab: Script e Funzioni Informatica B Script Cos è uno script (m-file) q Uno script è un file di testo contenente una sequenza di comandi MATLAB non deve contenere caratteri di formattazione (solo testo

Dettagli

Proiezione Stereoscopica

Proiezione Stereoscopica Proiezione Stereoscopica Sistema di Realtà Virtuale e 3D Stereo Rendering Museo dell'informatica di Cesena Andrea Bernardi (bernardi@csr.unibo.it) Stefano Cacciaguerra (scacciag@cs.unibo.it) Contenuto

Dettagli

INFORMATICA GRAFICA. 19 Maggio Texture. Michele Antolini

INFORMATICA GRAFICA. 19 Maggio Texture. Michele Antolini Knowledge Aided Engineering Manufacturing and Related Technologies INFORMATICA GRAFICA 19 Maggio Texture michele.antolini@mail.polimi.it Texture Tessitura si può considerare come il vestito dei nostri

Dettagli

Poligoni. Creazione di un nuovo poligono...2. Opzioni di chiusura per i poligoni...4. Continuare un poligono con un arco...5

Poligoni. Creazione di un nuovo poligono...2. Opzioni di chiusura per i poligoni...4. Continuare un poligono con un arco...5 Poligoni Creazione di un nuovo poligono...2 Opzioni di chiusura per i poligoni...4 Continuare un poligono con un arco...5 Continuare un poligono con un segmento...6 1 Creazione di un nuovo poligono Potete

Dettagli

Rendering 13/01/2014. Marco Tarini - Video Game Dev - Univ Insubria (recall?) Game Engine

Rendering 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

Dettagli

Sempre piu difficile. Pallina che ruota sull anello. Doppio Anello. Rotolamento pallina 2. Rotolamento pallina 1. Aggiungiamo nell ordine

Sempre 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

Dettagli

UTILIZZO DI VISTE E SEZIONI CON ALLPLAN 2017

UTILIZZO DI VISTE E SEZIONI CON ALLPLAN 2017 UTILIZZO DI VISTE E SEZIONI CON ALLPLAN 2017 Con la nuova versione di Allplan risulta essere più veloce ed intuitiva la creazione di viste e sezioni del nostro modello: entrambe le funzioni vengono gestite

Dettagli

117. Lo studio dei poliedri col software libero Cartesio di Rosa Marincola 1

117. Lo studio dei poliedri col software libero Cartesio di Rosa Marincola 1 117. Lo studio dei poliedri col software libero Cartesio di Rosa Marincola 1 Sunto Cartesio è un software libero che, permettendo la costruzione e la manipolazione di poliedri, favorisce l esplorazione

Dettagli

Indice. Introduzione... IX

Indice. Introduzione... IX Indice Introduzione... IX Capitolo 1 Interfaccia utente...1 Schermata iniziale...2 Interfaccia di AutoCAD...2 Menu dell applicazione...5 Barra degli strumenti Accesso rapido...7 Barra del titolo di AutoCAD...8

Dettagli

Copia in serie. Ritaglio. Convertitore DWG

Copia in serie. Ritaglio. Convertitore DWG Copia in serie GstarCAD 2018 include nuove e potenti opzioni per copiare oggetti in serie disposti in forma rettangolare, polare o lungo una traiettoria. La nuova serie di oggetti viene creata come blocco

Dettagli

LEZIONI DI LABORATORIO. Texture mapping (1)

LEZIONI DI LABORATORIO. Texture mapping (1) BLENDER LEZIONI DI LABORATORIO Texture mapping (1) Utilizzo di texture per effetti più realistici. Ottenibili con: Procedure (mediante formule matematiche) Senza procedure (con immagini, video, mappe ecc)

Dettagli

Gestione della configurazione Input/Output PLC Cosa c'è di nuovo?

Gestione della configurazione Input/Output PLC Cosa c'è di nuovo? Gestione della configurazione Input/Output PLC Cosa c'è di nuovo? Indice I. Avviare il Configuration Manager... 3 II. Nuova interfaccia dell'utente... 3 III. Importazione di nuovi formati di configurazione...

Dettagli

Corso di Grafica Computazionale

Corso 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

Dettagli

Laboratorio di informatica Ingegneria meccanica

Laboratorio di informatica Ingegneria meccanica Laboratorio di informatica Ingegneria meccanica Lezione 7 19 novembre 2007 Concetto di modulo di un programma (1) Lo sviluppo di programmi complessi avviene tipicamente per composizione di moduli, ognuno

Dettagli

Le 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 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

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica 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

Dettagli

Hello GL. subclassiamo. subclassiamo. Primo tentativo. Costruzione di Interfacce Lezione 20 Qt + Opengl

Hello GL. subclassiamo. subclassiamo. Primo tentativo. Costruzione di Interfacce Lezione 20 Qt + Opengl Hello GL Costruzione di Interfacce Lezione 20 Qt + Opengl Primo tentativo si prende il tutorial hello e si sostituisce il pushbutton con un QGLWidget cignoni@isti.cnr.it http://vcg.isti.cnr.it/~cignoni

Dettagli

INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C

INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C INFORMATICA E PROGRAMMAZIONE PROF. M. GIACOMIN ESPERIENZA IN AULA: ELABORAZIONE DI IMMAGINI A COLORI IN LINGUAGGIO C DESCRIZIONE GENERALE In questa esperienza il C verrà utilizzato per elaborare immagini

Dettagli

Grafica al calcolatore Computer Graphics

Grafica 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

Dettagli

BLENDER LEZIONI DI LABORATORIO

BLENDER LEZIONI DI LABORATORIO BLENDER LEZIONI DI LABORATORIO Texture mapping (1) Utilizzo di texture per effetti più realistici. Ottenibili con: Procedure (mediante formule matematiche) Senza procedure 8con immagini, video, mappe ecc)

Dettagli

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni:

5 Thread. 5 Thread. 5 Thread. Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: 1 Ad un generico processo, sono associati, in maniera univoca, i seguenti dati e le seguenti informazioni: codice del programma in esecuzione un area di memoria contenente le strutture dati dichiarate

Dettagli

S.C.S. - survey CAD system Tel. 045 /

S.C.S. - survey CAD system Tel. 045 / 4 - Disegna FIGURA 4.1 Il menu a tendina Disegna contiene un gruppo di comandi di disegno base CAD quali punto, linea, polilinea, ecc. ed un gruppo di comandi appositi di disegno topografico per l integrazione

Dettagli

Informatica Grafica. Ing. Michele Antolini. Dipartimento di Meccanica - Politecnico di Milano. (Prof.

Informatica Grafica. Ing. Michele Antolini. Dipartimento di Meccanica - Politecnico di Milano. (Prof. Knowledge Aided Engineering Manufacturing and Related Technologies Informatica Grafica Ing. Michele Antolini (Prof. a contratto) michele.antolini@mail.polimi.it Dipartimento di Meccanica - Politecnico

Dettagli

Computer Graphics. Memoria RAM nelle schede grafiche. Texture Mapping: paradigma di memoria. Concetto. Tessiture: Caso più comune.

Computer 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:

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica al calcolatore - Computer Graphics Grafica al calcolatore - Computer Graphics 7 Pipeline di rasterizzazione 24/11/12 Grafica 2013 1 Rasterization pipeline Sappiamo implementare ray casting (o ray tracing). Abbiamo tuttavia già visto che

Dettagli

Primi programmi in C

Primi programmi in C Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma

Dettagli

Capitolo Menu impostazioni sistema

Capitolo Menu impostazioni sistema Capitolo Menu impostazioni sistema Utilizzare il menu impostazioni sistema per visualizzare informazioni di sistema ed effettuare regolazioni alle impostazioni del sistema. Il menu impostazioni sistema

Dettagli

Pile e code. Sommario. Algoritmi e Programmazione Avanzata. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino

Pile e code. Sommario. Algoritmi e Programmazione Avanzata. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Pile e code Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Sommario ADT Pile Code. A.A. 2002/2003 APA - Pile e code 2 Politecnico di Torino Pagina 1 di 23 Sommario

Dettagli