Direct2D è una API di grafica bidimensionale e vettoriale.

Direct2D è una libreria grafica ad alte prestazioni che mantiene l'interoperabilità con le API GDI e GDI+ e le API Direct3D/DirectDraw.[1] È in grado di sfruttare l'accelerazione video, se si sta usando una scheda grafica compatibile.

Caratteristiche modifica

L'API Direct2D è basata sul C++ e interfaccia codice managed con codice nativo. Come Direct3D, fa uso del COM, il che rende necessario solo un ridotto grado di astrazione. A differenza di WPF (sigla inglese per Windows Presentation Foundation), Direct2D è una API di rendering "immediate mode" (analogamente al GDI/GDI+), che richiede delle semplici invocazioni BeginDraw/Draw/EndDraw; in Direct2D non esiste il concetto di "scena"; la libreria non conserva strutture ad albero; lo stato del rendering viene mantenuto tra le diverse richieste di disegno.

Direct2D riesce a minimizzare l'utilizzo CPU e può usare rendering hardware, su una scheda grafica che supporta Direct3d 10.1 e/o Direct3D 10 Feature Level 9 con i driver WDDM 1.1; il rendering software viene usato come fallback (ed è implementato tramite WARP10) nei casi in cui non si può accedere all'hardware, come nella sessione 0, e per il rendering remoto lato server.

Le performance e l'utilizzo di memoria di Direct2D variano linearmente with primitive counts[non chiaro] sia nel software, sia nello hardware.

Direct2D supporta le seguenti funzionalità:

  • rendering di testo ClearType (fornito da DirectWrite)
  • antialiasing primitiva per primitiva
  • Comandi di draw e fill, 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 un device context (HDC) GDI/GDI+ (con la piena serializzazione delle superfici e dei device context, il che le permette di lavorare con altre tecnologie native per Windows come DirectWrite, 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'intero codice sorgente.

Direct2D usa un sistema di coordinate device-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

Internet Explorer 9 e Mozilla Firefox 4 usano Direct2D e DirectWrite.[2]

Note modifica

  1. ^ Direct2D, su msdn.microsoft.com. URL consultato il 26 marzo 2011.
  2. ^ Microsoft isn't the only one developing a hardware-accelerated browser Archiviato il 24 settembre 2019 in Internet Archive., 24 novembre, 2009.

Voci correlate modifica

Collegamenti esterni modifica