introduzione a directx diego colombo universita di pisa dipartimento di informatica

28
Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Upload: lotterio-perrone

Post on 01-May-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Introduzione a DirectXIntroduzione a DirectX

Diego ColomboUniversita di Pisa

Dipartimento di Informatica

Page 2: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

DirectX o OpenGL? (parte prima)

DirectX o OpenGL? (parte prima)

Non sono lontanamente la stessa cosa

OpenGL e’ paragonabile solo ad una sottoparte di Directx

OpenGL + SDL + OpenAL potrebbero cominciare ad essere paragonabili a DirectX anche se mancano ancora dei blocchi . .

Page 3: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

DirectX, l’anatomiaDirectX, l’anatomia

DirectPlay

DirectSound

DirectMusic

Direct3D

DirectDraw

DirectShow

DirectInput

Page 4: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

DirectX, l’anatomiaDirectX, l’anatomia

DirectPlay

DirectSound

DirectMusic

Direct3D

DirectDraw

DirectShow

DirectInput

Network Sound Graphics User Input

Page 5: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

DirectX, il modelloDirectX, il modello

DX e’ interamente costruito su COM.

Questo perche’ molti componenti hanno bisogno di gestire le risorse in modo autonomo.

DirectShow usa dei thread che nelle applicazioni non sono visibili, anche perche’ spesso I componenti dialogano direttamente con I driver dei devices, se non sono direttamente l’interfaccia del driver

Page 6: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

DirectX e l’HWDirectX e l’HW

Driver DS

Il primo tentativo e’ per HAL puro

Si passa in software in caso di fallimento

Lo sviluppatore non e’ ritenuto responsabile di gestire questa procedura.

Page 7: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Avevamo detto driver?Avevamo detto driver?

DDK

DirectX Driver SDK (DXDDK)

DXSDK

Page 8: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Panoramica dei componentiPanoramica dei componenti

Page 9: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct InputDirect Input

Gestione HWTastiera

Mouse

HIDJoystick

Joypad

Page 10: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct InputDirect Input

Enumerazione Device

Discovery delle capabilities

Scripting degli Effetti di Force FeedBack

Page 11: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct PlayDirect Play

Supporto di rete ai giochi

Gestione sessioni

Gestione delle lobby

Gestione delle chat

Gestione della voce

Page 12: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Directx e l’audioDirectx e l’audio

Direct Sound

Direct Music

DirectMusic

DirectSound

HAL

Application

Page 13: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct MusicDirect Music

Orchestrazione

Gestione MIDI e WAV

Gestione Strumenti e sintesi

Gestione messaggi ed eventi

SoundTrack dinamica ad Hardware

Page 14: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct MusicDirect Music

Timeline management

Scriptabile

Gestione accellerazione audio 3D

Alta precisione nella gestione della temporizzazione

Page 15: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct SoundDirect Sound

Bytes . .

Buffer HW e non

Biterate

Frequenza di campionamento e numero di canali

Lo stato finale del suono

Page 16: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct SoundDirect Sound

Buffer acessibili tramite lock e unlock

Uso degli effetti classici

Uso di effetti di spazializzazione

Possibilita’ di sitensi

Interfaccia di cattura tramite I line in o il microfono

Page 17: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Una tabellaUna tabella

Page 18: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Grafica in WindowsGrafica in Windows

2D 3D

GDI Direct 3D

Direct Draw

Accellerazione

OS HW

GDI D3D

DD

Page 19: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

GDI ed il livello SOGDI ed il livello SO

Bitmap

Regioni

Alpha channel

Trasformazioni 2D

Gestione Colori e piani

Clipping

Page 20: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct DrawDirect Draw

Limite dovuto alla memoria video

Operazioni riconducibili a spostamenti di blocchi di memoria o BitBlitting

Uso di Chroma Key

Page 21: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Diesgnare TestoDiesgnare Testo

GDI

DD

D3D (anche generazione di mesh da testo)

Windows espone il modello di aliasing, compreso il Clear Type

Page 22: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Cosa si puo’ ottenereCosa si puo’ ottenere

Multischermo

Gestione della risoluzione in full screen

Controllo sulle abilita’ della scheda video

Controllo sulla presenza di piu’ schede video o Graphics Head

Page 23: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct 3DDirect 3D

Il cuore pulsante di directX

Controllo automatico dell’accellerazione

Esiste uno stato della pipeline centralizzato

Accesso alle “superfici” (DXSurface)

Gestione di Pmesh nativa

Gestione Testo (fornito sia dal device che dalla mesh)

Page 24: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct 3DDirect 3D

Supporto per pixel e vertex shader (HLSL)

Supporto per HDR e Radiance

I Buffer secondari in memoria video

Texture animate

Page 25: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Direct ShowDirect Show

Usato per la presentazione die contenuti multimediali

Usa una struttura a grafi

Combina DS, DD e D3D

DirectSound

Direct3D

DirectDraw

DirectShow

HAL

Application

Page 26: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Note Dolenti . . . Note Dolenti . . .

Name space Managed Unmanaged

Direct Draw Si Si

Direct 3D Si Si

Direct Sound Si Si

Direct Music No Si

Direct Show No Si

Direct Play Si Si

Direct Input Si Si

Direct Video Playback Si No

Page 27: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Managed . . Managed . .

C# e VB!!!!!!!

Il sistema e’ tipato e scompare quindi tutta l’infrastruttura sintattica necessaria a COM

Programmazione piu’ intuitivae facile da controllare

Page 28: Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica

Un po’ di discorsi sul temaUn po’ di discorsi sul tema