Introduzione a DirectX Diego Colombo Universita di Pisa Dipartimento di Informatica
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..
DirectX, lanatomia Direct Play Direct Sound Direct Music Direct 3D Direct Draw Direct Show Direct Input
DirectX, lanatomia Direct Play Direct Sound Direct Music Direct 3D Direct Draw Direct Show Direct Input Network SoundGraphicsUser Input
DirectX, 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 linterfaccia del driver
DirectX e lHW 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.
Avevamo detto driver? DDK DirectX Driver SDK (DXDDK) DXSDK
Panoramica dei componenti
Direct Input Gestione HW Tastiera Mouse HID Joystick Joypad
Direct Input Enumerazione Device Discovery delle capabilities Scripting degli Effetti di Force FeedBack
Direct Play Supporto di rete ai giochi Gestione sessioni Gestione delle lobby Gestione delle chat Gestione della voce
Directx e laudio Direct Sound Direct Music Direct Music Direct Sound HAL Application
Direct Music Orchestrazione Gestione MIDI e WAV Gestione Strumenti e sintesi Gestione messaggi ed eventi SoundTrack dinamica ad Hardware
Direct Music Timeline management Scriptabile Gestione accellerazione audio 3D Alta precisione nella gestione della temporizzazione
Direct Sound Bytes.. Buffer HW e non Biterate Frequenza di campionamento e numero di canali Lo stato finale del suono
Direct 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
Una tabella
Grafica in Windows 2D3D GDIDirect 3D Direct Draw Accellerazione OSHW GDID3D DD
GDI ed il livello SO Bitmap Regioni Alpha channel Trasformazioni 2D Gestione Colori e piani Clipping
Direct Draw Limite dovuto alla memoria video Operazioni riconducibili a spostamenti di blocchi di memoria o BitBlitting Uso di Chroma Key
Diesgnare Testo GDI DD D3D (anche generazione di mesh da testo) Windows espone il modello di aliasing, compreso il Clear Type
Cosa 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
Direct 3D Il cuore pulsante di directX Controllo automatico dellaccellerazione Esiste uno stato della pipeline centralizzato Accesso alle superfici (DXSurface) Gestione di Pmesh nativa Gestione Testo (fornito sia dal device che dalla mesh)
Direct 3D Supporto per pixel e vertex shader (HLSL) Supporto per HDR e Radiance I Buffer secondari in memoria video Texture animate
Direct Show Usato per la presentazione die contenuti multimediali Usa una struttura a grafi Combina DS, DD e D3D Direct Sound Direct 3D Direct Draw Direct Show HAL Application
Note Dolenti... Name spaceManagedUnmanaged Direct Draw Si Direct 3D Si Direct Sound Si Direct Music NoSi Direct Show NoSi Direct Play Si Direct Input Si Direct Video Playback SiNo
Managed.. C# e VB!!!!!!! Il sistema e tipato e scompare quindi tutta linfrastruttura sintattica necessaria a COM Programmazione piu intuitivae facile da controllare
Un po di discorsi sul tema