introduzione a directx diego colombo universita di pisa dipartimento di informatica
Post on 01-May-2015
223 Views
Preview:
TRANSCRIPT
Introduzione a DirectXIntroduzione a DirectX
Diego ColomboUniversita 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 . .
DirectX, l’anatomiaDirectX, l’anatomia
DirectPlay
DirectSound
DirectMusic
Direct3D
DirectDraw
DirectShow
DirectInput
DirectX, l’anatomiaDirectX, l’anatomia
DirectPlay
DirectSound
DirectMusic
Direct3D
DirectDraw
DirectShow
DirectInput
Network Sound Graphics User Input
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
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.
Avevamo detto driver?Avevamo detto driver?
DDK
DirectX Driver SDK (DXDDK)
DXSDK
Panoramica dei componentiPanoramica dei componenti
Direct InputDirect Input
Gestione HWTastiera
Mouse
HIDJoystick
Joypad
Direct InputDirect Input
Enumerazione Device
Discovery delle capabilities
Scripting degli Effetti di Force FeedBack
Direct PlayDirect Play
Supporto di rete ai giochi
Gestione sessioni
Gestione delle lobby
Gestione delle chat
Gestione della voce
Directx e l’audioDirectx e l’audio
Direct Sound
Direct Music
DirectMusic
DirectSound
HAL
Application
Direct MusicDirect Music
Orchestrazione
Gestione MIDI e WAV
Gestione Strumenti e sintesi
Gestione messaggi ed eventi
SoundTrack dinamica ad Hardware
Direct MusicDirect Music
Timeline management
Scriptabile
Gestione accellerazione audio 3D
Alta precisione nella gestione della temporizzazione
Direct SoundDirect Sound
Bytes . .
Buffer HW e non
Biterate
Frequenza di campionamento e numero di canali
Lo stato finale del suono
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
Una tabellaUna tabella
Grafica in WindowsGrafica in Windows
2D 3D
GDI Direct 3D
Direct Draw
Accellerazione
OS HW
GDI D3D
DD
GDI ed il livello SOGDI ed il livello SO
Bitmap
Regioni
Alpha channel
Trasformazioni 2D
Gestione Colori e piani
Clipping
Direct DrawDirect Draw
Limite dovuto alla memoria video
Operazioni riconducibili a spostamenti di blocchi di memoria o BitBlitting
Uso di Chroma Key
Diesgnare TestoDiesgnare Testo
GDI
DD
D3D (anche generazione di mesh da testo)
Windows espone il modello di aliasing, compreso il Clear Type
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
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)
Direct 3DDirect 3D
Supporto per pixel e vertex shader (HLSL)
Supporto per HDR e Radiance
I Buffer secondari in memoria video
Texture animate
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
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
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
Un po’ di discorsi sul temaUn po’ di discorsi sul tema
top related