Grafica 3D Interattiva



Похожие документы
Computer Graphics. La disciplina fornisce metodi per creare elaborare memorizzare visualizzare. immagini di oggetti o scene mediante un computer

Lezione 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

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Installazione e caratteristiche generali 1

Macromedia Flash. Realizzato da Emanuela Scionti

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Il file seme o file modello del disegno

Gestione Risorse Umane Web

Raggruppamenti Conti Movimenti

Gestione Rapporti (Calcolo Aree)

Approfondimento: Migrazione dei database e backup della posta

Elaborazione testi: immagini

IL SISTEMA OPERATIVO

Visual basic base Lezione 01. L'ambiente di sviluppo

Cosa è un foglio elettronico

Software di base e software applicativo. Titolo: dic (1 di 9)

LA RICLASSIFICAZIONE DEI SALDI CONTABILI CON MICROSOFT ACCESS 2007

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Il database management system Access

Processo di rendering

BDX 3D-EDITOR (autore: Marco Bedulli) Scopo del software. Caratteristiche fondamentali. Linguaggi utilizzati. Navigazione 3D

Scheda di approfondimento gioco I pixel

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Lezione V. Aula Multimediale - sabato 29/03/2008

COMANDI AUTOCAD. 2.Copia. 1.Cancella STRUMENTI FONDAMENTALI. dfh. Lo strumento cancella elimina gli oggetti dal disegno

SISTEMI di PERSONAL COMPUTER

Syllabus LIM - Modulo 1.0 Competenza Strumentale

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

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

ELETTRONICA DIGITALE

Il Sistema Operativo (1)

4. Fondamenti per la produttività informatica

Gestione Turni. Introduzione

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Mon Ami 3000 Conto Lavoro Gestione del C/Lavoro attivo e passivo

Introduzione al Foglio Elettronico

PowerPoint 2007 Le funzioni

Gestione ed analisi di base dati nell epidemiologia. delle malattie infettive

IL SOFTWARE. Giada Agostinacchio Classe 2^ Beat ISIS G.Meroni Lissone Anno Scolastico 2007/2008

I database relazionali (Access)

- 2 % 7, 0 ( 3 / 8 6

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Il Software. Il software del PC. Il BIOS

Animazioni 3D. Informatica Grafica I. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D. Le basi dell'animazione 3D

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

Mon Ami 3000 Cespiti Gestione cespiti e calcolo degli ammortamenti

T E O R I A D I P R O G E T T A Z I O N E D E L S O F T W A R E

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

I file di dati. Unità didattica D1 1

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Progettazione di un Database

LA RICLASSIFICAZIONE DI BILANCIO CON MICROSOFT ACCESS

Sviluppata da: Lo Russo - Porcelli Pag. 1 di 6 6FRSR utilizzare il DBMS Postgresql per imparare il linguaggio SQL.

CORSO DI FORMAZIONE PER L'ACCESSO AI LABORATORI DELL'ATENEO COMPILAZIONE SCHEDA DI ACCESSO

Creare diagrammi di Gantt con Visio 2003

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

DATA BASE ON LINE (BANCA DATI MODULI SPERIMENTALI)

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

MANUALE ESSE3 Gestione Registro delle lezioni

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

GENERAZIONE ARCHIVIO F24 AGENZIA ENTRATE

IRSplit. Istruzioni d uso 07/10-01 PC

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Database 1 biblioteca universitaria. Testo del quesito

EUROPEAN COMPUTER DRIVING LICENCE. Use of the GIS Software. Syllabus

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

GCEWEB Denunce mensili in WEB

GESTIONE CONTRATTI. Contratti clienti e contratti fornitori

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Simulazione traffico urbano

Il menu File contiene tutti i comandi relativi alle seguenti operazioni:

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Tecniche di rappresentazione La legenda GIS

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Utente Albo Pretorio GA

Percorso Un programma si compone di diversi percorsi (tragitti parziali). Ciascun percorso ha una propria impostazione in relazione a

L interfaccia utente di Office 2010

Ipsia Monza via Monte Grappa Monza (MI) tel fax Corsi CAD 2D Base. Struttura modulare

Dispensa di Informatica I.1

Esercizio sui data base "Gestione conti correnti"

CHIUSURE di MAGAZZINO di FINE ANNO

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Progettazione 3D. Area formativa PROGETTAZIONE TECNICA

Corso di Informatica di Base

PointCloud 7.0 Anno 2011

Il calcolo delle provvigioni con Excel

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

DiFarm evolution. Convegno Rimini, Novembre 2006

Транскрипт:

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. Esistono ormai numerose versioni delle DirectX. Noi utilizzeremo le DirectX 8.1, in quanto l'ultima versione disponibile sia per C++ che Visual Basic. A partire dalla versione 9 le DirectX sono state integrate nell'architettura.net di Microsoft e ciò ne ha complicato ulteriormente l'utilizzo. 9 garantiscono comunque compatibilita' all'indietro con la versione 8. 8 si suddividono nelle seguenti componenti: DirectX Audio DirectPlay DirectInput Le includono le funzioni per gestire tanto la grafica 3D che quella 2D. Nelle precedenti versioni della libreria queste due componenti erano distinte (denominate rispettivamente Direct3D e DirectDraw) A partire dalla versione 8, le due componenti sono state unite in un'unica libreria. Audio si dividono in due componenti: DirectSuond e DirectMusic DirectSound si occupa della riproduzione e della localizzazione spaziale dei suoni. DirectMusic si occupa di riprodurre intere sequenze musicali per costituire la colonna sonora che accompagna un'applicazione. DirectInput gestisce l'interazione con le periferiche di gioco (Jostick, Gamepad etc...) DirectPlay si occupa invece della comunicazione attraverso la rete, in modo da facilitare la creazione di giochi multiplayer.

In questo corso utilizzeremo in particolare le, e parte delle DirectInput. DirectX Audio DirectPlay DirectInput Le sono particolarmente efficienti nello sfruttare le caratteristiche specifiche di accelerazione delle schede video utilizzando un supporto chiamato HAL (Hardware Abstraction Layer) Ogni scheda video fornisce, oltre ai suoi Driver, un insieme di procedure che eseguono funzionalita' di basso livello (l'hal, appunto) Qualora una scheda non supporti un particolare tipo di funzionalita' in hardware, il suo HAL si occupa di emularla via software. Questo grafico paragona le alle normali primitive grafiche di Windows (GDI). Come spiegato in precedenza, le DirectX forniscono prevalentement procedure per i primi livelli di un motore di Rendering. La visualizzazione avviene mediante un flusso di elaborazioni detto Pipeline. Una Pipeline e' una sequenza di operazioni nella quale ogni stadio elabora le informazioni prodotte dallo stadio precedente e le passa allo stadio successivo. La seguente figura mostra gli stadi della Pipeline delle DirectX graphics: I vertici dei poligoni e le primitive grafiche, vengono forniti come input iniziale all'intero processo. La fase di tessellazione suddivide se necessario tali primitive grafiche in triangoli piu' piccoli.

I dati ottenuti, possono quindi essere trasformati attraverso una modalita' standard (Fixed Function Pipeline), oppure attraverso una modalita' personalizzata (Programmable Pipeline) Quindi avvengono le procedure di eliminazione delle superfici nascoste (Clipping, Backface culling...) Parallelamente, DirectX graphics puo' lavorare sulle Texture e sfruttarle per stabilire i colori dei Pixel (Texture Surface, Texture Sampler e Pixel Shader). Infine i triangoli vengono disegnati sulla scheda video, applicando i controlli di Z-buffer, trasparenza, etc... In pratica, l'intera Pipeline di, esegue le funzionalita' richieste dai primi due livelli di un motore di rendering. Livello di Proiezione e clipping (II livello) Livello di disegno dei triangoli (I livello) Per poter realizzare un'applicazione che visualizzi grafica 3D bisogna introdurre almeno una cinepresa ed una luce. Mentre nei programmi di grafica 3D come 3D studio o Maya si possono utilizzare quelle definite implicitamente dalla viewport, in un motore di rendering essi devono essere definiti esplicitamente. Dal momento che le procedure necessarie alla creazione di cineprese e luci utilizzano come parametri i vettori, occorre creare una procedura di ausilio per poterli definire: Nelle lezioni successive vedremo come definire e spostare cineprese e luci. In questo esercizio, ci limiteremo alla creazione di una cinepresa che punti verso l'origine degli assi del mondo tridimensionale e di una luce puntiforme fissa.

Il passo successivo consiste nel cambiare i tipi di vertici: infatti per agire in tre dimensioni, questi devono essere "non trasformati". Bisogna poi anche cambiare il comando che imposta la modalita' dei vertici E' stato rimosso rwh As Single definito in precedenza In precedenza era impostato a D3DFVF_XYZRWH...ed anche le definizioni dei vertici della figura: si devono eliminare i valori di w, e cambiare le coordinate x,y,z in quanto si passa da coordinate schermo a coordinate cartesiane. Si devono poi aggiungere le definizioni delle variabili utilizzate per memorizzare le impostazioni della cinepresa. Ed infine aggiungere le chiamate per impostare la cinepresa al termine della fase di inizializzazione dell'applicazione. Si puo' quindi finalmente provare l'applicazione. Essa visualizzera' sempre un triangolo, ma questa volta esso sara' una proiezione di un triangolo in tre dimensioni!

Per introdurre una luce bisogna modificare nuovamente le definizioni dei vertici, in modo da aggiungere i valori delle normali alle superfici. Le specifiche dei vertici devono quindi essere cambiate di conseguenza, in modo da inidcare anche i valori per le normali. Bisogna aggiungere una variabile per contenere i dati della luce. Modificare le funzioni di inizializzazione della libreria in modo che includano la gestione delle luci. Si deve anche cambiare il comando di cancellazione dello schermo, in modo che riempia il fondale di colore nero. Ed infine attivare le luci al termine della fase di inizializzazione dell'applicazione.

Provando nuovamente l'applicazione, essa visualizzera' un triangolo, la cui superficie risulta sfumata in base al modello di illuminazione. Definire i vertici di un poligono richiede di impostare diversi campi di una medesima struttura. Per ridurre la quantita' di codice necessaria, Visual Basic mette a disposizione il comando With. Il comando With specifica un blocco all'interno del quale tutti i campi si riferiscono ad un medesimo oggetto. E' necessario specificare il nome dell'oggetto subito dopo la parola With. All'interno del blocco, tutti i campi preceduti da un punto "." si considerano implicitamente riferiti all'oggetto indicato. Diventa Utilizzando congiuntamente il simbolo : per condensare piu' comandi su una unica riga, si puo' ulteriormente diminuire lo spazio utilizzato dalla definizione dei vertici del triangolo.