Grafica Real-Time, Hardware Grafico e Linguaggi di Shading. Alessandro Martinelli
|
|
- Marilena Pieri
- 8 anni fa
- Visualizzazioni
Transcript
1 Grafica Real-Time, Hardware Grafico e Linguaggi di Shading Alessandro Martinelli
2 Grafica Real Time Il concetto di 'Real Time' in ambito grafico ha una valenza molto particolare: Fino agli anni '80, solo un grafica semplificata con prestazioni in tempo reale Successivamente: un nuovo ambito applicativo con principi, strumenti, e tecnologie distinte dagli altri ambiti della grafica tridimensionale. Si distingue per lo sviluppo della tecnologia delle schede grafiche
3 Mesh Indicizzate continua... Tre elenchi*,** v : vertice vn: vettore 'Normale' Associata al Vertice f: faccia, una lista di indici v/vn che identificano un poligono irregolare nello spazio v : 0.00,0.00,0.00 v : 1.00,0.00,0.00 v : 1.00,1.00,0.00 v : 0.00,1.00,0.00 [ ] vn : 0.00,0.00,-1.00 vn : 0.00,-1.00,0.00 vn : -1.00,0.00,0.00 [ ] f : 1/1,2/1,3/1,4/1 f : 1/2,2/2,5/2,6/2 [ ] (*specifiche formato.obj) Insieme di Poligoni irregolari nello spazio che rappresentano la superficie di un oggetto. ** Quattro, se si tiene conto delle coordinate textures
4 Mesh Indicizzate: visualizzazione Processo di visualizzazione: (1) Trasformazioni di coordinate: coordinate 3D coordinate schermo (2) Modelli di illuminazione semplici (i.e. Luci Puntiformi, assenza di ombre, la normale vn identifica il piano tangente alla superficie in v) 1 colore per ogni vertice Facce con più di 3 vertici tassellate in triangoli (3) Per ogni triangolo : digitalizzazione (Scan-Line) con interpolazione lineare dei colori ai vertici (Gouraud Shading) e determinazione delle relazioni di profondità (Z-buffering) (2) (3) (1) (2) (3) (1)
5 Scan-Line (1/2) Principale algoritmo di Digitalizzazione, cioè di produzione dell'elenco di pixel in cui è presente la proiezione di una certa geometria Determino il minimo e il massimo valore y della geometria Con passo '1 pixel' semplifico il problema ad un problema monodimensionale
6 Scan-Line (2/2) Durante il processo di Digitalizzazione troverò probabilmente dei triangoli sovrapposti. Come devo gestirli?
7 Algoritmo del Pittore Disegno gli oggetti in ordine (come un pittore: dallo sfondo al primo piano). Gli oggetti si sovrappongono.
8 Algoritmo dello Z-Buffer (1/4) Usa una matrice di profondità Z-buffer (o Depth-Buffer) delle stesse dimensioni dell immagine da elaborare. Ogni pixel nello Z-buffer contiene il valore z dell ultimo pixel disegnato in quella posizione. Per disegnare ancora in quella posizione devo superare un test sul valore di z: se il nuovo valore di z è più basso il frammento di superficie sta di fronte e sovrascrive i dati precedenti. Il risultato consente di evidenziare le intersezioni fra oggetti.
9 Algoritmo dello Z-Buffer (2/4)
10 Algoritmo dello Z-Buffer (3/4) a) Situazione iniziale dell immagine e dello z-buffer b) Arriva un nuovo frammento in (x,y); il valore di z già presente nello z-buffer è inferiore al nuovo valore proposto. Quindi il nuovo frammento sta dietro a quello precedentemente inserito (di cui ignoro l'origine) e viene scartato. c) Il nuovo frammento in (x,y+1) passa il test dello z-buffer ( la sua z è inferiore a quella già presente nel depth-buffer) e sovrascrive sia l immagine che lo z-buffer ( il nuovo frammento sostituisce completamente quello vecchio ) d) Analogo al caso (c)
11 Algoritmo dello Z-Buffer (4/4)
12 GPU: Graphics Processing Unit (1/2) All'interno di una tipica applicazione grafica in tempo reale, il processo di visualizzazione è relegato ai moduli di rendering della scheda grafica. L'applicativo grafico si occupa per lo più dell'organizzazione e trasferimento dei dati.
13 GPU: Graphics Processing Unit (2/2) Una GPU è una unità elettronica che implementa, tramite una struttura a pipeline, il processo di visualizzazione già presentato: Pipeline dei Vertici: trasformazioni di coordinate, colore ai vertici Ricostruttore delle geometrie: determinazione dei triangoli Modulo di Scan-Line: Digitalizzazione Scan-Line e Gouraud Shading Pipeline dei Frammenti: operazioni prebuffer Manager Buffer Manager: Z Buffering et. al. NOTA Frammento: struttura dati contenente informazioni relative ad un pixel, ma ancora da elaborare
14 GPU: parallelismo Il motivo per cui una scheda grafica giunge ad un elevato livello di prestazioni è legato al Parallelismo: Il parallelismo è insito nella struttura a Pipeline Il parallelismo è possibile perché la maggior parte delle operazioni della GPU possono essere eseguite in parallelo su set di dati differenti. Ad esempio: Elaborare i dati di vertici diversi in parallelo Elaborare i dati di frammenti diversi in parallelo Digitalizzare triangoli diversi in parallelo
15 GPU: performance ed utilizzo Il processore controlla la Scheda Grafica I dati vengono forniti alla GPU dal processore che controlla il processo grafico (attraverso API di programmazione Grafica) Il canale di comunicazione è tipicamente un BUS Il sistema Processore>Bus>GPU può essere considerato come un sistema di moduli in serie: E' possibile identificare un collo di bottiglia, che il più delle volte è rappresentato dalla CPU o dal BUS di comunicazione La GPU è tipicamente il modulo ad utilizzo inferiore.
16 GPU: strutture di memoria Una GPU offre una memoria interna che può essere sfruttata per allocare informazioni: Display List Buffer Objects Textures Image-Buffers Esistono molti modi di accedere/caricare queste risorse Image-Buffers/Textures Streaming Process ecc.
17 GPU Programmabili Le unità programmabili consentono la riprogrammazione di alcuni comportamenti della pipeline standard Restano invariati i moduli di ScanLine ed il Buffer Manager, mentre i moduli restanti sono di fatto completamente personalizzabili.
18 GPU Programmabili: Nuove Unità L unità di Vertex Shader sostituisce le funzionalità fisse relative alla elaborazione delle informazioni su base vertice: trasformazioni, illuminazione, gestione delle coordinate texture L unità di Fragment/Pixel Shader sostituisce le funzionalità fisse sull elaborazione dei frammenti Il Geometry Shader aggiunge un grado di flessibilità rispetto alla pipeline standard perchè consente la manipolazione di nuove geometrie Queste unità sono programmabili dall utente : è dunque possibile descrivere COME i vertici, i frammenti e le geometrie devono essere elaborati durante il rendering I linguaggi che consente di programmare queste funzionalità si chiamano linguaggi di shading.
19 Vertex Shader (1/2) Sostituisce completamente queste fasi della pipeline di Rendering: Trasformazioni di coordinate Illuminazione L'input del Vertex Shader è l'insieme di informazioni che caratterizzano un singolo vertice in ingresso alla pipeline L'output del Vertex Shader è l'insieme di informazioni orientate al vertice e pronte per essere spedite alla fase di rasterizzazione
20 Vertex Shader (2/2) Il Vertex Shader può Cambiare la posizione dei punti (Trasformarli anche secondo metodi diversi dalle classiche trasformazioni di coordinate) Colorare/Illuminare con formule speciali i punti ( applicare modelli di illuminazione più complessi ) Ecc. Il Vertex Shader non può Creare o Eliminare vertici ( cioè non consente la generazione di geometrie non-previste )
21 Fragment Shader (1/2) Sostituisce completamente queste fasi della pipeline di Rendering: Lettura delle texture Miscelazione dei colori Nebbia ecc. L'input del Fragment Shader è il frammento, che viene generato dal rasterizzatore tramite l'algoritmo di scan-line L'output del Fragment Shader sono il colore, la profondità e la posizione sull'immagine di un pixel
22 Fragment Shader (2/2) Il fragment Shader può: Leggere anche più textures con formule scelte a piacere Calcolare Texture procedurali Elaborare il valore di una texture letto Spostare pixel Eliminare Frammenti Il fragment Shader non può: Generare nuovi texel
23 Geometry Shader Introdotto recentemente (2006) Si affianca alla fase di ricostruzione delle geometrie. L'input del Geometry Shader è la primitiva geometrica (es. triangolo), che viene ricomposta dal modulo di ricostruzione delle geometrie. L'output del Geometry Shader sono ulteriori geometrie; l'output non può superare in quantitativo prefissato di informazione (in byte)dipendente dall'architettura.
24 Linguaggi di Shading I linguaggi di shading disponibili sono: HLSL ( High Level Shading Language ): linguaggio di shading di riferimento per le API DirectX GLSL ( Graphics Library Shading Language): linguaggio di shading di riferimento per OpenGL Esistono anche versioni di questi linguaggi 'a basso livello' con una programmazione simile ad un assembler vettoriale I linguaggi di shading sono vettoriali: Definiscono operazioni tra vettori di 1,2 3 o 4 elementi Somme, prodotti e sottrazioni sono sempre operazioni componente per componente su vettori della stessa lunghezza ( quindi è molto importante rispettare il comportamento delle lunghezze) Sono disponibili condizionali e cicli, ma i cicli devono ciclare un numero determinato di volte perchè il codice in fase di compilazione viene completamente srotolato (come se i cicli non ci fossero)
25 Tipologie di Variabili Le variabili possono essere Registri di Linguaggio non modificabili Registri temporanei Variabili Uniformi Variabili 'Varying'
26 Registri I registri non modificabili sono variabili predefinite dal linguaggio di shading che contengono informazioni in input o variabili di stato della pipeline di rendering. Ad esempio: gl_vertex è il vertici in ingresso al vertex shader. gl_position è l'output del Vertex Shader gl_color è il colore in input al fragment shader I Registri temporanei sono variabili che l'utente può dichiarare ed utilizzare liberamente all'interno del programma di shading
27 Variabili Uniformi Le variabili uniformi sono come i registri non modificabili, ma possono essere definiti dal programmatore. Le variabili uniformi consentono di definire delle variabili di stato personalizzate da passare ai linguaggi di shading Le variabili uniformi sono: Visibili sia dal Vertex che dal Fragment Shader Identificate attraverso il loro nome Solamente leggibili
28 Variabili Varying Le Varying rappresentano variabili generiche che devono essere interpolate all'interno del rasterizzatore. Per questo le variabili varying: Sono visibili in tutti gli shader Non possono essere lette ma solo scritte nel Vertex Shader che le produce: sono in effetti variabili di output del Vertex Shader Una volta prodotte dal Vertex Shader, il rasterizzatore le digitalizzerà per interpolazione come gli altri valori standard ( coordinate texture, colori, profondità z ecc. ) Il fragment shader può solamente leggerle: sono in effetti variabili di input del Fragment Shader
29 Esempio 1 ####V e rte x S h a de r vo id m a in (vo id){ g l_p o s it io n = g l_mo de lv ie w P ro je c tio n Ma trix * g l_v e rte x ; g l_f ro n t C o lo r = g l_c o lo r; g l_t e x C o o rd[0 ]=g l_mu ltite x C o o rd0 ; } ####F ra g m e n t S h a de r vo id m a in (vo id){ g l_f ra g C o lo r = g l_c o lo r * ve c 4 (1,0.5,0.5,1 ); }
30 Esempio 2 : Phong Shading Alternativo al Gouraud Shading: anziché calcolare il colore di illuminazione ai vertici, si interpolano le normali e si calcola il valore di illuminazione pixel per pixel lungo la superficie. Usa variabili varying per descrivere il vettore normale
31 Esempio 2 : Phong Shading ####V e rte x S h a de r u n ifo rm ve c 3 lig h tp o s 0 ; v a ry in g ve c 3 N,L ; vo id m a in (vo id ) { g l_p o s itio n = g l_mo de lv ie w P ro je c tio n Ma trix * g l_v e rte x ; N = n o rm a lize (g l_n o rm a lma trix * g l_n o rm a l); ve c 4 V = g l_mo d e lv ie w Ma trix * g l_v e rte x ; L = n o rm a lize (lig h tp o s 0 - V.x y z); g l_f ro n tc o lo r = g l_c o lo r; } ####F ra g m e n t S h a de r v a ry in g ve c 3 N,L ; vo id m a in (vo id ){ flo a t N d o tl = do t(n, L ); g l_f ra g C o lo r = g l_c o lo r * ve c 4 (m a x (0.0, N do tl )); }
32 Esempio 3 : Filtri Immagine
33 Esempio 3 : Filtri Immagine u n ifo rm s a m p le r2 D s a m ple r0 ; void main(void) { vec4 steps=vec4( , ,1,1); vec3 A = vec3(-2,-2,-2);vec3 B = vec3(0.333,0.333,0.333);vec3 C = vec3(-2,-2,-2); vec3 D = vec3(-2,-2,-2);vec3 E = vec3(0.333,0.333,0.333);vec3 F = vec3(2,2,2); vec3 G = vec3(2,2,2);vec3 H = vec3(0.333,0.333,0.333);vec3 I = vec3(2,2,2); vec3 weight=vec3(1,1,1); vec2 coord=gl_texcoord[0].xy; A=(texture2D(sampler0,coord+vec2(-steps.x,-steps.y)).xyz * A); B=(texture2D(sampler0,coord+vec2(0,-steps.y)).xyz * B); C=(texture2D(sampler0,coord+vec2(steps.x,-steps.y)).xyz * C); D=(texture2D(sampler0,coord+vec2(-steps.x,0)).xyz * D); E=(texture2D(sampler0,coord+vec2(0,0)).xyz * E); F=(texture2D(sampler0,coord+vec2(steps.x,0)).xyz * F); G=(texture2D(sampler0,coord+vec2(-steps.x,steps.y)).xyz * G); H=(texture2D(sampler0,coord+vec2(0,steps.y)).xyz * H); I=(texture2D(sampler0,coord+vec2(steps.x,steps.y)).xyz * I); weight=weight*(a+b+c+d+e+f+g+h+i); gl_fragcolor = vec4(weight,1); }
34 Esempio 4 : Geometrie Procedurali
35 Esempio 4 : Geometrie Procedurali ### V e rte x S h a de r v a ry in g ve c 3 v a lu e ; vo id m a in (vo id ) { ve c 3 po s itio n =ve c 3 (0.5 *c o s (g l_v e rte x.x ),0.5 *s in (g l_v e rte x.x ),0 ); g l_p o s itio n = g l_mo de lv ie w P ro je c tio n Ma trix * ve c 4 (po s itio n,1 ); g l_f ro n tc o lo r = g l_c o lo r; v a lu e =(p o s itio n +ve c 3 (1,1,1 ))*ve c 3 (0.5,0.5,0.5 ); } ###F ra g m e n t S h a d e r v a ry in g ve c 3 v a lu e ; vo id m a in (vo id ) { g l_f ra g C o lo r = g l_c o lo r * ve c 4 (v a lu e,1 ); }
36 General Purpose GPU Programming La nascita dei linguaggi di shading introduce un nuovo punto di vista: L'architettura della GPU presenta moduli riprogrammabili funzionanti in parallelo. I linguaggi di shading si evolvono per assomigliare sempre di più a comuni e completi linguaggi di programmazione. Le strutture di Memoria possono essere utilizzate per fornire dati alle procedure Esistono metodo per il recupero in CPU delle informazioni elaborate dalla scheda grafica Tutto questo suggerisce di utilizzare la GPU come generico strumento per la programmazione parallela.
37 General Purpose GPU Programming Applicazioni: Calcoli matriciali con matrici molto grandi Filtri immagine Metodi Montecarlo In generale: Algoritmi che operano molti task con poche operazioni in parallelo Utilizzo tipico (ma non unico): Tracciare un grande rettangolo a 'tutta immagine' ed eseguire l'elaborazione nel fragment shader
38 Un caso: GeForce moduli scalari sincronizzati per operare come uno qualsiasi dei moduli riprogrammabili Supporto di molti linguaggi di shading: GLSL HLSL Nvidia CG Supporto di funzionalità aggiuntive per il controllo del flusso dei dati della pipeline Programmazione CUDA per la programmazione generica
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
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.
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
DettagliBDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D
BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software BDX 3D Editor è un programma che permette di navigare ed editare texture in un qualsiasi modello 3D.E compatibile con i software in grado di esportare
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
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
DettagliIntroduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
DettagliComputer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer
Computer Graphics La disciplina fornisce metodi per creare elaborare memorizzare visualizzare immagini di oggetti o scene mediante un computer Image Processing La disciplina fornisce metodi per acquisire
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
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
DettagliIR(3): Illuminazione Globale
IR(3): Illuminazione Globale Alessandro Martinelli alessandro.martinelli@unipv.it 21 Dicembre 2011 IR(3): Illuminazione Globale Illuminazione e Rendering: Principi di Illuminazione Rendering Real-Time
DettagliSommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.
Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell
DettagliCPU. Maurizio Palesi
CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore
DettagliLezione 19: Grafica in tempo reale. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time. I problemi del Real Time
I problemi del Real Time Lezione 19: Grafica in tempo reale Come visto nelle precedenti lezioni, i calcoli necessari a generare immagini 3D sono numerosi e complessi. I programmi di grafica 3D impiegano
DettagliCodifiche a lunghezza variabile
Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un
DettagliRendering air show e verifica della sincronizzazione
Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente
DettagliSISTEMI di PERSONAL COMPUTER
CORSO AutoCAD SCHEDA N 2 SISTEMI di PERSONAL COMPUTER schematizzazione di un processo di elaborazione... INPUT (Ingresso) ELABORAZIONE OUTPUT (Uscita) ROL.98 Un personal computer è costituito da un insieme
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
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
DettagliCapitolo V : Il colore nelle immagini digitali
Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include
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
DettagliCon il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
DettagliModellazione dei dati in UML
Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):
DettagliScheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
DettagliEsame di INFORMATICA
Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello
DettagliGestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliSommario. Analysis & design delle applicazioni parallele. Misura delle prestazioni parallele. Tecniche di partizionamento.
Sommario Analysis & design delle applicazioni parallele Misura delle prestazioni parallele Tecniche di partizionamento Comunicazioni Load balancing 2 Primi passi: analizzare il problema Prima di iniziare
DettagliIl Sistema Operativo. C. Marrocco. Università degli Studi di Cassino
Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.
DettagliUNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria
ESAME DI STATO DI ABILITAZIONE ALL'ESERCIZIO DELLA PROFESSIONE DI INGEGNERE PRIMA PROVA SCRITTA DEL 22 giugno 2011 SETTORE DELL INFORMAZIONE Tema n. 1 Il candidato sviluppi un analisi critica e discuta
DettagliL informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia
L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza
DettagliFasi 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
DettagliIl sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione
Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia
DettagliLibrerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video
Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile
DettagliFONDAMENTI di INFORMATICA L. Mezzalira
FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
DettagliSistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
DettagliProcesso 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)
DettagliCompilatore risorse display grafico LCD serie IEC-line
Compilatore risorse display grafico LCD serie IEC-line aggiornamento: 22-11-2012 IEC-line by OVERDIGIT overdigit.com 1. Il display grafico LCD I PLC della serie IPC-line possono disporre opzionalmente
DettagliEUROPEAN COMPUTER DRIVING LICENCE. Use of the GIS Software. Syllabus
EUROPEAN COMPUTER DRIVING LICENCE Use of the GIS Software Syllabus Scopo Questo documento presenta il syllabus di ECDL GIS Modulo 3 Uso di un software GIS. Il syllabus descrive, attraverso i risultati
DettagliEXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
DettagliStruttura del calcolatore
Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione
Dettagli3D e Realtà Virtuale
3D e Realtà Virtuale Modello 3D La costruzione di un modello 3D, così come la realizzazione di un plastico tradizionale, necessita di grande precisione e attenzione conoscitiva. Tale modello convoglia
DettagliDall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere
DettagliAnalisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda
Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato
DettagliRegistratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
Dettagli4. Proiezioni del piano e dello spazio
4. Proiezioni del piano e dello spazio La visualizzazione di oggetti tridimensionali richiede di ottenere una vista piana dell'oggetto. Questo avviene mediante una sequenza di operazioni. Innanzitutto,
DettagliIl campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini
ACQUISIZIONE ED ELABORAZIONE DELLE IMMAGINI Teoria e pratica La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: Il numero
DettagliIntroduzione 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
DettagliElaborazione testi: immagini
by Studio Elfra sas Gestione Immagini Aggiornato a Aprile 2009 Informatica di base 1 Elaborazione testi: immagini Il testo di un documento di Word può essere integrato con immagini di vario tipo: 2 1 Elaborazione
DettagliIntroduzione alla Programmazione
Introduzione alla Programmazione Lorenzo Bettini Corso di Laurea in Scienze dell'educazione 2014/2015 Cosa è un programma Costituito da tante istruzioni Una lista di cose da fare Che il processore esegue
DettagliRichiesta pagina PHP (es: index.php)
PHP PHP = personal home page SERVER Richiesta pagina PHP (es: index.php) Server Web (Apache) in ascolto sulla porta 80, si accorge che la pagina richiesta è una pagina PHP in base all'estensione o con
DettagliExcel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it
Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
DettagliIMMAGINE BITMAP E VETTORIALI
BITMAP VETTORIALE VETTORIALE BITMAP IMMAGINE BITMAP è una immagine costituita da una matrice di Pixel. PIXEL (picture element) indica ciascuno degli elementi puntiformi che compongono la rappresentazione
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliSistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1
GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno
DettagliPlate Locator Riconoscimento Automatico di Targhe
Progetto per Laboratorio di Informatica 3 - Rimotti Daniele, Santinelli Gabriele Plate Locator Riconoscimento Automatico di Targhe Il programma plate_locator.m prende come input: l immagine della targa
DettagliIl rendering fotorealistico. Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico
Il rendering fotorealistico Conferimento ad oggetti 3D di un aspetto particolarmente fotorealistico Rendering fotorealistico Gli oggetti sottoposti a rendering devono essere facce 3D o essere tridimensionali.
DettagliDefinizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
DettagliGestione del workflow
Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario
DettagliIntroduzione all Information Retrieval
Introduzione all Information Retrieval Argomenti della lezione Definizione di Information Retrieval. Information Retrieval vs Data Retrieval. Indicizzazione di collezioni e ricerca. Modelli per Information
DettagliInput/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche
Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli
DettagliManuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise
Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3
DettagliMANUALE D'USO DEL PROGRAMMA IMMOBIPHONE
1/6 MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE Per prima cosa si ringrazia per aver scelto ImmobiPhone e per aver dato fiducia al suo autore. Il presente documento istruisce l'utilizzatore sull'uso del programma
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliMateriali per il modulo 1 ECDL. Autore: M. Lanino
Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati
DettagliGPGPU GPGPU. anni piu' recenti e' naturamente aumentata la versatilita' ed usabilita' delle GPU
GPGPU GPGPU GPGPU Primi In (General Purpose computation using GPU): uso del processore delle schede grafice (GPU) per scopi differenti da quello tradizionale delle generazione di immagini 3D esperimenti
DettagliInterazione luce - materia
Interazione luce - materia 1 Modelli di illuminazione Il modello di illuminazione descrive l interazione tra la luce e gli oggetti della scena Descrive i fattori che determinano il colore di un punto della
DettagliSISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09
SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli
DettagliLinguaggi di programmazione
Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore
DettagliVersione 2015I PROTOCOLLO: CRS/SG-PAC/151021
MyDB - Anagrafiche estensioni dei Documenti di Magazzino e delle Parcelle Nella definizione delle anagrafiche MyDB è ora possibile estendere direttamente anche le TESTATE e le RIGHE delle varie tipologie
DettagliSISTEMA SPUNI per la gestione delle pratiche di Sportello Unico per le Attività Produttive, in formato elettronico
SISTEMA SPUNI per la gestione delle pratiche di Sportello Unico per le Attività Produttive, in formato elettronico 1. Componenti del Sistema SPUNI Il Sistema SPUNI si articola in due componenti: 1. Sito
DettagliINFORMATICA. Il Sistema Operativo. di Roberta Molinari
INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:
DettagliAlgebra Di Boole. Definiamo ora che esiste un segnale avente valore opposto di quello assunto dalla variabile X.
Algebra Di Boole L algebra di Boole è un ramo della matematica basato sul calcolo logico a due valori di verità (vero, falso). Con alcune leggi particolari consente di operare su proposizioni allo stesso
DettagliTrasformazioni 2D. Grande differenza rispetto alla grafica raster!
Trasformazioni 2D Il grande vantaggio della grafica vettoriale è che le immagini vettoriali descrivono entità matematiche È immediato manipolare matematicamente tali entità In quasi tutte le manipolazioni
DettagliIl problema del produttore e del consumatore. Cooperazione tra processi
Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora
DettagliELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2
DAVIDE ZANIN 1035601 ELABORAZIONE DI DATI TRIDIMENSIONALI - RELAZIONE HOMEWORK 2 SOMMARIO Elaborazione di dati tridimensionali - Relazione Homework 2... 1 Obiettivo... 2 Descrizione della procedura seguita...
DettagliPointCloud 7.0 Anno 2011
PointCloud 7.0 Anno 2011 Compatibilità con AutoCAD 2007-2012 ed AutoCAD 2007-2012 Supporto del formato nativo delle nuvole di punti di AutoCAD (PCG) e miglioramento delle performance riguardo la velocità
DettagliRILIEVO TRIDIMENSIONALE DEL «CONVENTO ROSSO», SOHAG (EGITTO)
1 RILIEVO TRIDIMENSIONALE DEL «CONVENTO ROSSO», SOHAG (EGITTO) DI MASSIMO SABATINI Lo studio finalizzato ad un interesse di carattere statico e conservativo eseguito sulle volumetrie degli oggetti, ha
DettagliSISTEMA SUEDIL per la gestione delle pratiche di Sportello Unico per l EDILIZIA, in formato elettronico
SISTEMA SUEDIL per la gestione delle pratiche di Sportello Unico per l EDILIZIA, in formato elettronico 1. Componenti del Sistema SUEDIL Il Sistema SUEDIL, basato su architettura WEB, e quindi accessibile
DettagliArchitettura di un calcolatore
2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von
DettagliFIRESHOP.NET. Gestione del taglia e colore. www.firesoft.it
FIRESHOP.NET Gestione del taglia e colore www.firesoft.it Sommario SOMMARIO Introduzione... 3 Configurazione iniziale... 5 Gestione delle varianti... 6 Raggruppamento delle varianti... 8 Gestire le varianti
DettagliMon Ami 3000 Varianti articolo Gestione di varianti articoli
Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione
DettagliRAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI
RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma
DettagliARCHIVIAZIONE DOCUMENTALE NEiTdoc
ARCHIVIAZIONE DOCUMENTALE NEiTdoc PROCESS & DOCUMENT MANAGEMENT La documentazione può essere definita un complesso di scritture prodotte da entità pubbliche o private nell espletamento della loro attività,
DettagliSistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
DettagliPrestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.
Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella prof@quarella.net Prestazioni Si valutano in maniera diversa a seconda dell
DettagliDefinire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};
ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliLa Metodologia adottata nel Corso
La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema
DettagliLINGUAGGI DI PROGRAMMAZIONE
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliGUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL
GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano
DettagliElementi di teoria dei segnali /b
Elementi di teoria dei segnali /b VERSIONE 29.4.01 Filtri e larghezza di banda dei canali Digitalizzazione e teorema del campionamento Capacità di canale e larghezza di banda Multiplexing e modulazioni
DettagliVRay 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
DettagliCodifica delle immagini
Codifica delle immagini Abbiamo visto come la codifica di testi sia (relativamente) semplice Un testo è una sequenza di simboli Ogni simbolo è codificato con un numero Ed ecco che il testo è trasformato
DettagliPer chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass
0_Iniziare con GRASS Avvio di Grass e creazione della cartella del Database di GRASS Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass
DettagliNozione di algoritmo. Gabriella Trucco
Nozione di algoritmo Gabriella Trucco Programmazione Attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su particolari informazioni (dati), allo scopo di risolvere
DettagliLa gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
Dettagli