280 likes | 403 Views
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
E N D
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, l’anatomia Direct Play Direct Sound Direct Music Direct 3D Direct Draw Direct Show Direct Input
DirectX, l’anatomia Direct Play Direct Music Direct Sound Direct 3D Direct Draw Direct Input Direct Show Sound Graphics User Input Network
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 l’interfaccia del driver
DirectX 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.
Avevamo detto driver? • DDK • DirectX Driver SDK (DXDDK) • DXSDK
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 l’audio • Direct Sound • Direct Music Application Direct Music Direct Sound HAL
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
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 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)
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 Application Direct Show Direct Sound Direct 3D Direct Draw HAL
Managed . . • C# e VB!!!!!!! • Il sistema e’ tipato e scompare quindi tutta l’infrastruttura sintattica necessaria a COM • Programmazione piu’ intuitivae facile da controllare