Direct2D
Direct2Dè una collezione diAPIper lo sviluppo semplificato digraficabidimensionaleevettorialeper sistema operativoMicrosoft Windows.Direct2D è una libreria grafica ad alte prestazioni che mantiene l'interoperabilità con le APIGDIe GDI+ e le APIDirect3D/DirectDraw.[1]È in grado di sfruttare l'accelerazione video, se si sta usando unascheda graficacompatibile.
Caratteristiche
[modifica|modifica wikitesto]L'API Direct2D è basata sul C++ e interfacciacodice managedcon codice nativo. Come Direct3D, fa uso delCOM,il che rende necessario solo un ridotto grado di astrazione. A differenza di WPF (sigla inglese perWindows Presentation Foundation), Direct2D è una API di rendering "immediate mode" (analogamente al GDI/GDI+), che richiede delle semplici invocazioniBeginDraw/Draw/EndDraw;in Direct2D non esiste il concetto di "scena"; la libreria non conserva strutture ad albero; lo stato delrenderingviene mantenuto tra le diverse richieste di disegno.
Direct2D riesce a minimizzare l'utilizzo CPU e può usarerendering hardware,su una scheda grafica che supportaDirect3d 10.1e/oDirect3D 10 Feature Level 9con i driverWDDM 1.1;il rendering software viene usato comefallback(ed è implementato tramiteWARP10) nei casi in cui non si può accedere all'hardware, come nellasessione 0,e per il rendering remoto lato server.
Le performance e l'utilizzo di memoria di Direct2D variano linearmentewith primitive counts[non chiaro]sia nel software, sia nello hardware.
Direct2D supporta le seguenti funzionalità:
- rendering di testoClearType(fornito daDirectWrite)
- antialiasingprimitiva per primitiva
- Comandi didrawefill,per forme geometriche (segmenti, curve) e per immagini raster
- pennelli che usano un colore fisso, con gradiente (lineare o radiale), e immagini raster.
- rendering su livelli intermedi
- Operazioni sulle figure geometriche (per es. unione, intersezione, allargamento, disegno del contorno, ecc.)
Direct2D permette di ottenere interoperabilità con GDI, GDI+ e Direct3D e permette di effettuare il rendering da e verso una superficie Direct3D, oppure undevice context(HDC) GDI/GDI+ (con la piena serializzazione delle superfici e deidevice context,il che le permette di lavorare con altre tecnologie native per Windows comeDirectWrite,Windows Imaging Component,ecc.) Questa interoperabilità permette allo sviluppatore di sostituire gradualmente sequenze di codice critiche con codice che usi Direct2D, senza dover modificare l'interocodice sorgente.
Direct2D usa unsistema di coordinatedevice-independent,il che consente di ridimensionare le coordinate in automatico, in funzione di impostazioni DPI diverse e che dipendono dalle risoluzioni video e dalle dimensioni delle periferiche di output.
Implementazioni
[modifica|modifica wikitesto]Internet Explorer 9eMozilla Firefox 4usano Direct2D eDirectWrite.[2]
Note
[modifica|modifica wikitesto]- ^Direct2D,sumsdn.microsoft.URL consultato il 26 marzo 2011.
- ^Microsoft isn't the only one developing a hardware-accelerated browserArchiviatoil 24 settembre 2019 inInternet Archive., 24 novembre, 2009.
Voci correlate
[modifica|modifica wikitesto]Collegamenti esterni
[modifica|modifica wikitesto]- Blog of Direct2D Lead Developer Thomas Olsen,sublogs.technet.URL consultato il 26 marzo 2011(archiviato dall'url originaleil 16 febbraio 2009).
- Blog of Direct2D Developer Tom Mulcahy,sublogs.msdn.URL consultato il 26 marzo 2011(archiviato dall'url originaleil 21 febbraio 2009).
- Direct2D White Papers,sumsdn.microsoft.
- Windows 7: Introducing Direct2D and DirectWrite- PDC 2008 video
- Windows API Code Pack for Microsoft.NET Framework- permette di sviluppare applicazioni Direct2D incodice managed
- Introducing Direct2D- June 2009 issue of MSDN Magazine
- Drawing with Direct2D- September 2009 issue of MSDN Magazine
- Direct2D API for Microsoft.Net Framework 4Archiviatoil 27 dicembre 2017 inInternet Archive.- API Direct2D per il Microsoft.Net Framework 4