Introduzione a DirectX

Post on 24-Jan-2016

73 views 0 download

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

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