Introduzione a DirectX

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

description

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 - PowerPoint PPT Presentation

Transcript of Introduzione a DirectX

Page 1: Introduzione a DirectX

Introduzione a DirectXIntroduzione a DirectX

Diego ColomboUniversita di Pisa

Dipartimento di Informatica

Page 2: Introduzione a DirectX

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

DirectX, l’anatomiaDirectX, l’anatomia

DirectPlay

DirectSound

DirectMusic

Direct3D

DirectDraw

DirectShow

DirectInput

Page 4: Introduzione a DirectX

DirectX, l’anatomiaDirectX, l’anatomia

DirectPlay

DirectSound

DirectMusic

Direct3D

DirectDraw

DirectShow

DirectInput

Network Sound Graphics User Input

Page 5: Introduzione a DirectX

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

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

Avevamo detto driver?Avevamo detto driver?

DDK

DirectX Driver SDK (DXDDK)

DXSDK

Page 8: Introduzione a DirectX

Panoramica dei componentiPanoramica dei componenti

Page 9: Introduzione a DirectX

Direct InputDirect Input

Gestione HWTastiera

Mouse

HIDJoystick

Joypad

Page 10: Introduzione a DirectX

Direct InputDirect Input

Enumerazione Device

Discovery delle capabilities

Scripting degli Effetti di Force FeedBack

Page 11: Introduzione a DirectX

Direct PlayDirect Play

Supporto di rete ai giochi

Gestione sessioni

Gestione delle lobby

Gestione delle chat

Gestione della voce

Page 12: Introduzione a DirectX

Directx e l’audioDirectx e l’audio

Direct Sound

Direct Music

DirectMusic

DirectSound

HAL

Application

Page 13: Introduzione a DirectX

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

Direct MusicDirect Music

Timeline management

Scriptabile

Gestione accellerazione audio 3D

Alta precisione nella gestione della temporizzazione

Page 15: Introduzione a DirectX

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

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

Una tabellaUna tabella

Page 18: Introduzione a DirectX

Grafica in WindowsGrafica in Windows

2D 3D

GDI Direct 3D

Direct Draw

Accellerazione

OS HW

GDI D3D

DD

Page 19: Introduzione a DirectX

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

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

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

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

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

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

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

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

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

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