Aggiungiamo attributi (per vertice!)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Aggiungiamo attributi (per vertice!)"

Transcript

1 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 rast.) 5. usiamo la loro interpolaz nel fragment shader ES: attributo COLORE Se abbiamo, per ogni vertice: X,Y,Z (geometria = attributo di indice 0) R,G,B (attributo colore = attributo di indice 1) Vari modi per formattare dati: in un buffer interleaved: X0,Y0,Z0,R0,G0,B0, X1,Y1,Z1,R1,G1,B1, in buffer separati: X0,Y0,Z0, X1,Y1,Z1, R0,G0,B0, R1,G1,B1, oppure anche: X0,X1, Y0,Y1, Z0,Z1, R0,R1, G0,G1 etc segliamo questo Grafica computazionale - Es 01 1

2 Attributo colore Un secondo indice, per un altro attributo const positionattribindex = 0; const rgbattributeindex = 1; (globali, costanti) Aggiungiamo i dati es: un vertice blu, uno verde, uno rosso: var positions = [ 0.0, 0.0, 0.0,0.0,1.0, // 1st vertex 1.0, 0.0, 0.0,1.0,0.0, // 2nd vertex 0.0, 1.0, 1.0,0.0,0.0, // 3rd vertex ]; X0 Y0 R0 G0 B0 X1 Y1 R1 G1 B1 X2 Spieghiamo il formato dei buffer al Vertex Puller Attributo Posizione: n. elem = 2 (float) Buffer: X0 Y0 R0 G0 B0 X1 Y1 R1 G1 B1 X2 stride = 5 x 4 bytes stride gl.vertexattribpointer( positionattributeindex, 2, gl.float, false, 5*4, 0); Grafica computazionale - Es 01 2

3 Spieghiamo il formato dei buffer al Vertex Puller Attributo Colore: n. elem = 3 (floats) Buffer: X0 Y0 R0 G0 B0 X1 Y1 R1 G1 B1 X2 offset = 2 x 4 bytes stride = 5 x 4 bytes stride gl.vertexattribpointer( colorattributeindex, 3, gl.float, false, 5*4, 2*4); Negli shaders: prima attribute vec2 aposition; void main(void) { gl_position = vec4( aposition, 0.0, 1.0 ); } VERTEX Shader void main(void) { gl_fragcolor = vec4(0.0, 0.0, 1.0, 1.0); } FRAG Shad. Grafica computazionale - Es 01 3

4 Negli shaders: dopo L I N K attribute vec2 position; attribute vec3 basecolor; varying vec3 color; void main(void) { gl_position = vec4( position, 0.0, 1.0 ); color = basecolor ; } precision highp float; varying vec3 color; void main(void) { gl_fragcolor = vec4( color, 1.0); } VERTEX Shader FRAGMENT Shader Linguaggio GLSL: classi di allocazione attribute vec3 basecolor; varying vec3 color; attribute valore definito su ogni vertice nel vertex shader: INPUT (sola lettura) nel fragment shader: non usato varying valore che varia dentro la primitiva nel vertex shader: OUTPUT (sola scrittura) interpolato dal rasterizzatore nel fragment shader: INPUT (sola lettura) Grafica computazionale - Es 01 4

5 Linking di vertex e fragment shader Vertex Shader: input: gli attributes output: i varyings gl_position (vec4) LINK Fragment Shader: input: i varyings output: gl_fragcolor (vec4) gl_depth (float) (opzionale) Linguaggio GLSL: (per completezza) altre classi di allocazione const vec3 PINK_COLOR = vec3( 1.0, 0.5, 0.5 ); niente vec3 tmp ; const valore costante, noto a compilazione definito quando dichiarato (obbligatoriamente) risolto direttamente dal compilatore temporanea valore usa e getta, di lavoro var locale o globale lettura / scrittura nota: non sopravvive mai allo shader! (neanche se globale) Grafica computazionale - Es 01 5

6 Prossimo passo: Usiamo struttura mesh indexed Due tipi di buffer, detti: ARRAY_BUFFER array di vertici geometria + attributi, per vertice ELEMENT_ARRAY_BUFFER array di indici indici di vertice, per primitiva (element) connettività della mesh (l unico che usavamo prima) Prima mesh indicizzata: Un quad con diagonal split (4 vertici, 2 tris) V2 V3 var indices = [ 0,1,2, // 1st triangle 1,3,2, // 2nd triangle ]; V0 V1 Grafica computazionale - Es 01 6

7 Prepariamo il buffer di indici Un buffer ulteriore per la connettività della mesh Similmente agli altri buffer: var elbufferid = gl.createbuffer(); gl.bindbuffer(gl.element_array_buffer, elbufferid ); var indices = [ 0,1,2, // 1st triangle 1,3,2, // 2nd triangle ]; var indexdata = new Uint16Array( indices ); gl.bufferdata( gl.element_array_buffer, indexdata, gl.static_draw ); Dopo la bind, tutte le op su Element Array Buffer (rendering compreso) si riferiranno a questo buffer Disegnamo la mesh indicizzata gl.drawarrays( gl.triangles, 0, 3 ); mesh non indicizzata, quanti vertici (ogni 3 = un tri) gl.drawelements( gl.triangles, 6, gl.unsigned_short, 0 ); mesh indicizzata quanti indici di vertice (ogni 3 = un tri) tipo di ogni indice (short = 16 bit = 64K vertici max) da quale indice partire Grafica computazionale - Es 01 7

8 Piccole domande Come fai ad eseguire l altro diagonal split? (a dividere il quadrilatero diversamente nei due triangoli)? Vengono prodotti più o meno frammenti? Il risultato a schermo è indentico o differente? (pensa agli attributi nel punto in mezzo alla diagonale) Per una visione d insieme del codice, vedere l implementazione sul sito: Esercitaz 01 Consiglio: invece che utilizzare l implementazione fornita, scrivere la propria implementando uno ad uno tutti i passi come descritto qui, a partire dall esercitaz 00 Grafica computazionale - Es 01 8

9 WebGL pipeline con attributi e indexed Mesh: vertex buffer index buffer GPU-RAM vertex puller Input Vertex: XYZ (object space) + input attributes vertex shader Transformed Vertex: XYZW (clip space) + computed varying primitive assembler (& setup) Primitive: point (1xV) line (2xV) triangle (3xV) r r WebGL pipeline : rasterizer punti rasterizer lines rasterizer triangles Fragments: buffer pos (fixed, XY) + interpolated varying fragment shader Pixels: RGBa output combiner RGBa buffer to screen GPU-RAM Grafica computazionale - Es 01 9

Grafica Real-Time, Hardware Grafico e Linguaggi di Shading. Alessandro Martinelli

Grafica 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

Dettagli

I Modelli 3D più comuni: Mesh poligonali

I Modelli 3D più comuni: Mesh poligonali Modellazione 3D 3D Models for interactive applications Marco Tarini I Modelli 3D più comuni: Mesh poligonali Di triangoli, o mista (quadrilateri + triangoli) Struttura dati per modellare oggetti 3D GPU

Dettagli

Grafica al calcolatore - Computer Graphics

Grafica 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

Dettagli

ANALISI E SVILUPPO DI SHADER GRAFICI IN LINGUAGGIO GLSL ANALYSIS AND DEVELOPMENT OF GRAPHICS SHADERS USING GLSL

ANALISI 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

Dettagli

WebGL. Lezione 18: 15 Maggio 2014

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

Dettagli

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

Computer Graphics. 3D Rendering. Digital representation of 3D objects. Scena 3D rendering image. Geometry of a 3D object. 3D Model Computer Graphics 3D Rendering Università dell Insubria Digital representation of 3D objects Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2014/15 Scena 3D rendering image

Dettagli

Modelli per i materiali

Modelli per i materiali Texture mapping 1 Modelli per i materiali Il realismo visivo può essere ottenuto mediante i modelli di illuminazione e dei materiali Per modellare i materiali si possono utilizzare delle immagini dette

Dettagli

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Introduzione 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

Dettagli

High Dynamic Range Rendering in OpenGL

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

Dettagli

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

Grafica 3D per i beni culturali: 3D and rendering. Lezione 2: 23 Febbraio 2011 Grafica 3D per i beni culturali: 3D and rendering Lezione 2: 23 Febbraio 2011 1 Info pratiche Lezioni: Martedì 10.00-12.00 Lab H Mercoledì 12.00-14.00 (!) Lab M Ricevimento su appuntamento (vedi contatti)

Dettagli

Pipeline di rendering. Pipeline di rendering. Outline. Grafica off-line vs Grafica real-time

Pipeline 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

Dettagli

Pipeline di rendering

Pipeline 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

Dettagli

Fondamenti di Grafica Tridimensionale

Fondamenti 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

Dettagli

1.1 Modello di un Processo di Rendering. Gestore delle Geometrie (Ricostruzione delle Geoemtrie e Clipping)

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

Dettagli

Texture maps come assets

Texture maps come assets Texture mapping Ogni texel è Un colore RGB (color map, RGB map, diffuse map) Una normale (bump map, o normal map) Il coefficiente speculare (specular map) Un fattore di trasparenza (alpha map, o cutout

Dettagli

Tipi di animazioni scripted

Tipi di animazioni scripted Tipi di animazioni scripted di oggetti composti di parti rigide anche con giunti: robot, macchine animazioni cinematiche / forward kinematics animations (mutamenti delle trasformaz di modellazione) di

Dettagli

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

Livello 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

Dettagli

Modelli: formati, strutture dati, processing della mesh

Modelli: formati, strutture dati, processing della mesh Modelli: formati, strutture dati, processing della mesh Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Outline Modelli

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

SVILUPPO DI UN GEOBROWSER 3D BASATO SU SHADER PER DISPOSITIVI IOS

SVILUPPO DI UN GEOBROWSER 3D BASATO SU SHADER PER DISPOSITIVI IOS Università di Trento SVILUPPO DI UN GEOBROWSER 3D BASATO SU SHADER PER DISPOSITIVI IOS Federico Devigili 113845 Relatore: Raffaele De Amicis Università di Tento Facoltà di scienze MM.FF.NN Corso di laurea

Dettagli

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti)

Computer Graphics. v 1. Rasterizer: lines (segmenti) la rasterizzazione from vertex to pixels. Rasterizzazione: lines (segmenti) Computer Graphics Università dell Insubria Corso di Laurea in Informatica la rasterizzazione from vertex to pixels Rasterizer: lines (segmenti) Vertici (punti in R 3 ) computazioni per vertice Z Vertici

Dettagli

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

Dettagli

Linguaggio C. Fondamenti. Struttura di un programma.

Linguaggio C. Fondamenti. Struttura di un programma. Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione

Dettagli

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1. 6 Introduzione al linguaggio C Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

VRay Map: VRayEdgesTex

VRay Map: VRayEdgesTex VRay Map: VRayEdgesTex INTRODUZIONE Uno dei classici impieghi della VRayEdgeTex consiste nella simulazione dell effetto filo di ferro, effetto simile a quello generato tramite l attivazione dell opzione

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

Grafica e Geometria Computazionale

Grafica 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 è

Dettagli

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

Rendering. Visione Artificiale - 11 dicembre 2008. Agenda (1 di 2) - Rendering Real-Time e non Real Time. - Ambienti di moodellazione non Real Time Rendering Visione Artificiale - 11 dicembre 2008 21/02/2008 Agenda (1 di 2) - Rendering Real-Time e non Real Time - Ambienti di moodellazione non Real Time 3D Studio MAX Maya Ambienti OpenSource: Blender

Dettagli

Elaborazione e Visualizzazione di Modelli di Grandi Dimensioni di Terreni

Elaborazione e Visualizzazione di Modelli di Grandi Dimensioni di Terreni Elaborazione e Visualizzazione di Modelli di Grandi Dimensioni di Terreni Elaborazione e Visualizzazione di Modelli di Grandi Dimensioni di Terreni E. Gobbetti F. Marton F. Bettio G. Pintore CRS4 Visual

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

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Procedure di Basic Design. La logica della programmazione applicata alla didattica. IUAV Facoltà di Design e Arti Treviso, 09-10/12/2010

Procedure di Basic Design. La logica della programmazione applicata alla didattica. IUAV Facoltà di Design e Arti Treviso, 09-10/12/2010 Procedure di basic design IUAV, Treviso 09-10/12/2010 Lorenzo Bravi 1 Procedure di Basic Design La logica della programmazione applicata alla didattica IUAV Facoltà di Design e Arti Treviso, 09-10/12/2010

Dettagli

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro Laboratorio di Programmazione Lezione 1 Cristian Del Fabbro Reperibilità homepage corso: https://users.dimi.uniud.it/~cristian.delfabbro/teaching.php email: cristian.delfabbro@uniud.it telefono: 0432 558676

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il 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

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

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Processo di rendering

Processo di rendering Processo di rendering Trasformazioni di vista Trasformazioni di vista Il processo di visione in tre dimensioni Le trasformazioni di proiezione 2 Rendering nello spazio 2D Il processo di rendering (visualizzazione)

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

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Unità Didattica 3 Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa

Dettagli

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Funzioni Esercizio 1 Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x. Creare un altra funzione, di nome float cube(float x), che restituisce invece il

Dettagli

UNIVERSITÀ DEGLI STUDI DI SIENA

UNIVERSITÀ 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

Dettagli

Capitolo 6 Interazione luce-materia

Capitolo 6 Interazione luce-materia Capitolo 6 Interazione luce-materia Modelli di illuminazione Modello di illuminazione: formulazione matematica dell equazione del trasporto dell energia luminosa L equazione che risolve questo problema:

Dettagli

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture

Concetti chiave. Struct. Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Concetti chiave Struct Variabili strutturate: il tipo struct Elementi di una struttura typedef e struct Array di strutture Struct Per aggregare elementi di tipo diverso si utilizza una struttura. struct

Dettagli

L ambiente di simulazione SPIM

L ambiente di simulazione SPIM Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/28

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Introduzione al GPU Compu4ng con CUDA. Francesco Caruso francesco.caruso@polimi.it

Introduzione al GPU Compu4ng con CUDA. Francesco Caruso francesco.caruso@polimi.it Introduzione al GPU Compu4ng con CUDA Francesco Caruso francesco.caruso@polimi.it Contenu4 Come tu>o ebbe inizio: Evoluzione dell HW e del SW per la grafica GPU Compu4ng Introduzione a CUDA 5/13/11 Francesco

Dettagli

Modellazione 3D della Via Lattea. in Unity

Modellazione 3D della Via Lattea. in Unity Modellazione 3D della Via Lattea Tutor accademici: Prof. Francesco Isgrò Prof. Giuseppe Longo in Unity Tutor aziendale: Dott. Massimo Brescia P. D Andrea Idea Realizzare una simulazione della Via Lattea:

Dettagli

Grafica al calcolatore - Computer Graphics

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

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

CWindow White Paper. Paolo Medici Dipartimento di Ingegneria dell Informazione dell Università di Parma 10 dicembre 2010

CWindow White Paper. Paolo Medici Dipartimento di Ingegneria dell Informazione dell Università di Parma 10 dicembre 2010 CWindow White Paper Paolo Medici Dipartimento di Ingegneria dell Informazione dell Università di Parma 10 dicembre 2010 draft-0.2 per gold-4.3 e gold-4.4 È possibile trovare l ultima versione di questo

Dettagli

3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde?

3) Il seguente numerale A1F0 in base 16 a quale numero in base 10 corrisponde? Leggete attentamente le domande del test e date la/le vostra/e risposta/e. 1) Per quanto tempo la memoria RAM di un personal computer conserva le informazioni? Finchè lo hard disk funziona in modo corretto

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Esonero del corso di Programmazione a Oggetti

Esonero del corso di Programmazione a Oggetti Esonero del corso di Programmazione a Oggetti Roma, 1 dicembre 2005 Considerate le seguenti definizioni di classi e interfacce in Java: interface Fumetto{ void esclama(); void utile(); class Personaggio

Dettagli

Introduzione a API e game engine per la programmazione grafica

Introduzione a API e game engine per la programmazione grafica Introduzione a API e game engine per la programmazione grafica OpenGL e WebGL Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a.

Dettagli

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1 Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria R. Vitolo Dipartimento di Matematica Università di Lecce SaLUG! - Salento Linux User Group Il programma OCTAVE per l

Dettagli

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

Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14. Cantarella Danilo. OpenCV Android Università degli Studi di Catania Corso di Laurea Magistrale in Informatica Multimedia 2013/14 Cantarella Danilo Introduzione OpenCV (Open Source Computer Vision Library) è una libreria disponibile per

Dettagli

Modelli 3D: come ottenerli

Modelli 3D: come ottenerli Come tutti gli asset, possible aquistarli Modellazione digitale manuale Lavoro dei modellatori digitali 2D concept artist 2D concepts / Sketches 3D modeller (modellatore digitale 3D) 3D low poly mesh 2015/2016

Dettagli

Grafica 3D Interattiva

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

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca

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

Nonostante lo implementeremo in D3D10, l algoritmo è completamente indipendente dall API grafica usata. Per funzionare, questo richiede

Nonostante lo implementeremo in D3D10, l algoritmo è completamente indipendente dall API grafica usata. Per funzionare, questo richiede Al giorno d oggi le ombre, nelle simulazioni 3D real time e non, sono diventate componenti fondamentali: nel corso del tempo si sono succedute una serie di tecniche per realizzarle in modo piu o meno realistico

Dettagli

8 Microcontrollori PIC

8 Microcontrollori PIC 8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente

Dettagli

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) 6^ parte : Acquisizione della temperatura con LM35 Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO) Esperienzan 5 Lo scopo è quello di far accendere due LED in base ad una soglia di temperatura

Dettagli

3. La sintassi di Java

3. La sintassi di Java pag.9 3. La sintassi di Java 3.1 I tipi di dati statici In Java, come in Pascal, esistono tipi di dati statici predefiniti e sono i seguenti: byte 8 bit da -128 a 127 short 16 bit coincide con l integer

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

void funzioneprova() { int x=2; cout<<"dentro la funzione x="<<x<<endl; }

void funzioneprova() { int x=2; cout<<dentro la funzione x=<<x<<endl; } FUNZIONI 57. Cosa servono le funzioni? A spezzare il programma in diverse parti relativamente indipendenti fra loro, ovvero interagenti sono attraverso i parametri di input ed IL VALORE di uscita. In questo

Dettagli

Profondità di Campo in Tempo Reale Stefano Maraspin (steve@qnet.it)

Profondità di Campo in Tempo Reale Stefano Maraspin (steve@qnet.it) Università degli Studi di Udine - Corso di Grafica 3D Interattiva Anno Accademico 2006/07 - Docente dott. R. Ranon Profondità di Campo in Tempo Reale Stefano Maraspin (steve@qnet.it) 1) Introduzione 2)

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 18 31/03/2014 Funzioni: Dichiarazione e Definizione La dichiarazione di una funzione serve a comunicare al compilatore quali sono

Dettagli

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon Elastic Transcoder

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon Elastic Transcoder Community - Cloud AWS su Google+ Amazon Web Services Servizio Amazon Elastic Transcoder Oggi vedremo il servizio di Amazon Elastic Transcoder per la conversione video con struttura scalabile Hangout 12

Dettagli

Elementi di programmazione Algoritmi Flow Chart, Fasi della programmazione Linguaggi Elementi di programmazione ad oggetti

Elementi di programmazione Algoritmi Flow Chart, Fasi della programmazione Linguaggi Elementi di programmazione ad oggetti Elementi di programmazione Algoritmi Flow Chart, Fasi della programmazione Linguaggi Elementi di programmazione ad oggetti ELEMENTI DI INFORMATICA UFC_05 1 Algoritmi Un algoritmo è una serie finita di

Dettagli

Nomi e Ambiente. Nicola Fanizzi. Linguaggi di Programmazione [010194] 20 apr, 2016. Dipartimento di Informatica Università degli Studi di Bari

Nomi e Ambiente. Nicola Fanizzi. Linguaggi di Programmazione [010194] 20 apr, 2016. Dipartimento di Informatica Università degli Studi di Bari Nomi e Ambiente Nicola Fanizzi Dipartimento di Informatica Università degli Studi di Bari Linguaggi di Programmazione [010194] 20 apr, 2016 Sommario 1 Nomi Definizione Astrazione Elementare Progettazione

Dettagli

Rappresentazione di oggetti 3D

Rappresentazione di oggetti 3D Rappresentazione di oggetti 3D 1 Modellazione geometrica La modellazione geometrica riguarda le tecniche di rappresentazione di curve e superfici Surface modeling Rappresentazione della superficie di un

Dettagli

Elementi di grafica raster

Elementi di grafica raster Elementi di grafica raster Le immagini Una immagine è una rappresentazione spaziale di un oggetto o di una scena Una immagine digitale è una rappresentazione di una scena anche 3D dopo il processo di acquisizione

Dettagli

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere

Tipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono

Dettagli

Programma Corso Game Design

Programma Corso Game Design Programma Corso Game Design Corso per diventare sviluppatore di videogames Game Development e Game designer - Miriamo a realizzare non solo un corso di design e programmazione ma anche a sviluppare nell

Dettagli

Struttura di un programma Java

Struttura di un programma Java Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core

PAES. Laurea Specialistica in Informatica. Analisi e sviluppo di un implementazione parallela dell AES per. architetture eterogenee multi/many-core PAES Analisi e sviluppo di un implementazione parallela dell AES per architetture eterogenee multi/many-core Candidato Paolo Bernardi Relatore Osvaldo Gervasi Laurea Specialistica in Informatica Contesto

Dettagli

Modelli di illuminazione avanzati

Modelli di illuminazione avanzati Modelli di illuminazione avanzati Davide Gadia, Daniele Marini Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a. 2013/2014 Outline Modelli BRDF

Dettagli

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

IL LASER SCANNER E IL TERRITORIO: applicazioni, metodologie operative, potenzialità del rilevamento con laser-scanner terrestre INN.TEC. srl Consorzio per l Innovazione Tecnologica Università degli Studi di Brescia IL LASER SCANNER E IL TERRITORIO: applicazioni, metodologie operative, potenzialità del rilevamento con laser-scanner

Dettagli

----------------------------------------------------------------

---------------------------------------------------------------- ---------------------------------------------------------------- utilizzo frequente di chiamate a.. A differenza del Pascal, il C permette di operare con assegnamenti e confronti su dati di tipo diverso,

Dettagli

Architettura di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici

Uniamo VM e CACHE. Physically addressed. Physically Addressed. Prestazioni. Ci sono varie alternative architetturali. Sono quelle piu semplici Uniamo VM e CACHE Physically addressed Ci sono varie alternative architetturali physically addressed virtually addressed virtually indexed Sono quelle piu semplici un dato puo essere in cache solo se e

Dettagli

Il software e la programmazione

Il software e la programmazione Il software e la programmazione Concetti base sul software Elementi di programmazione Cenni sul linguaggio Pascal Che cosa è il software Determina ciò che un computer può fare Include istruzioni memorizzate

Dettagli

CORSO DI LAUREA IN INGEGNERIA.

CORSO DI LAUREA IN INGEGNERIA. CORSO DI LAUREA IN INGEGNERIA. FOGLIO DI ESERCIZI 4 GEOMETRIA E ALGEBRA LINEARE 2010/11 Esercizio 4.1 (2.2). Determinare l equazione parametrica e Cartesiana della retta dello spazio (a) Passante per i

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Corso di Grafica Computazionale

Corso di Grafica Computazionale Corso di Grafica Computazionale Premesse Teoriche Docente: Massimiliano Corsini Laurea Specialistica in Ing. Informatica Università degli Studi di Siena Overview Premesse Teoriche Mini-ripasso geometria

Dettagli

Introduzione al package ARENA

Introduzione al package ARENA Introduzione al package ARENA Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.2 - Marzo 2003 ARENA Applicazione Windows che permette di creare modelli ed eseguire simulazioni del

Dettagli

(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4)

(1) - - (4) R4 = R7 * R7 (4) (2) (3) 5 - (4) rinviata perché in WAW con (3) 6 (3) e (4) ritirabili ma attendono il completamento di (2) (2) (3) (4) Esercizio 1 (20%) Si assuma di avere una macchina con 10 registri ufficiali (da R0 a R9) e sufficienti registri segreti in grado di avviare 2 istruzioni per ciclo di clock. Tale macchina richiede 2 cicli

Dettagli

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO

ESERCIZIO 1 Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO ESERCIZIO Riferimento: PROCESSORE PIPELINE e CAMPI REGISTRI INTER-STADIO Sono dati il seguente frammento di codice assemblatore che comincia all indirizzo indicato, e i valori iniziali specificati per

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

400.090 VOLVO. Gearbox Models G7 - G8. Date 5/2012 File VOLC007.PDF

400.090 VOLVO. Gearbox Models G7 - G8. Date 5/2012 File VOLC007.PDF 400.090 VOLVO Gearbox Models - 5/2012 File VOLC00.PDF Adattabile a : Suitable To : VOLVO 1 Modelli Cambio/ Gearbox Models - Oil Pump Repair Kit 51 48 Sealant + Front & Rear Oil Seals Const 5 6 4 14 29

Dettagli

Grafica computazionale

Grafica 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

Dettagli