Direct2D: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. |
||
(23 versioni intermedie di 14 utenti non mostrate) | |||
Riga 1:
'''Direct2D''' è una collezione di [[Application Programming Interface|API]] per lo sviluppo semplificato di [[computer grafica|grafica]] [[bidimensionalità|bidimensionale]] e [[grafica vettoriale|vettoriale]] per sistema operativo [[Microsoft Windows]]. Direct2D è una libreria grafica ad alte prestazioni che mantiene l'interoperabilità con le API [[Graphics Device Interface|GDI]] e GDI+ e le API [[Direct3D]]/DirectDraw.<ref>{{cita web|https://msdn.microsoft.com/en-us/library/dd370990(VS.85).aspx|Direct2D|26 marzo 2011}}</ref> È in grado di sfruttare l'accelerazione video, se si sta usando una [[scheda grafica]] compatibile.
== Caratteristiche ==
L'API Direct2D è basata sul C++ e interfaccia [[codice managed]] con codice nativo. Come Direct3D, fa uso del [[Component Object Model|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 <kbd>BeginDraw</kbd>/<kbd>Draw</kbd>/<kbd>EndDraw</kbd>; 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|Direct3d 10.1]] e/o ''[[Direct3D 11|Direct3D 10 Feature Level 9]]'' con i driver [[Windows Display Driver Model#WDDM 1.1|WDDM 1.1]]; il rendering software viene usato come ''fallback'' (ed è implementato tramite [[Windows Advanced Rasterization Platform|WARP10]]) nei casi in cui non si può accedere all'hardware, come nella [[kernel mode|sessione 0]], e per il rendering remoto [[lato server]].
Le performance e l'utilizzo di memoria di Direct2D variano linearmente {{chiarire|with primitive counts}} 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 ==
[[Internet Explorer 9]] e [[Mozilla Firefox 4]] usano Direct2D e [[DirectWrite]].<ref>[http://blogs.zdnet.com/microsoft/?p=4650&tag=content;col1 Microsoft isn't the only one developing a hardware-accelerated browser] {{Webarchive|url=https://web.archive.org/web/20190924235052/http://blogs.zdnet.com/microsoft/?p=4650&tag=content;col1 |date=24 settembre 2019 }}, 24 novembre, 2009.</ref>
== Note ==
<references/>
== Voci correlate ==
* [[DirectX]]
* [[DirectWrite]]
* [[Direct3D]]
* [[Graphics Device Interface]]
* [[GDI+]]
== Collegamenti esterni ==
*{{cita web | 1 = http://blogs.technet.com/thomasolsen/default.aspx | 2 = Blog of Direct2D Lead Developer Thomas Olsen | accesso = 26 marzo 2011 | urlarchivio = https://web.archive.org/web/20090216192618/http://blogs.technet.com/thomasolsen/default.aspx | dataarchivio = 16 febbraio 2009 | urlmorto = sì }}
*{{cita web | 1 = https://blogs.msdn.com/tmulcahy/ | 2 = Blog of Direct2D Developer Tom Mulcahy | accesso = 26 marzo 2011 | urlarchivio = https://web.archive.org/web/20090221112655/http://blogs.msdn.com/tmulcahy/ | dataarchivio = 21 febbraio 2009 | urlmorto = sì }}
*{{cita web|https://msdn.microsoft.com/en-us/windows/dd262126.aspx|Direct2D White Papers}}
*[http://channel9.msdn.com/pdc2008/PC18/ Windows 7: Introducing Direct2D and DirectWrite] - PDC 2008 video
*[https://code.msdn.microsoft.com/WindowsAPICodePack Windows API Code Pack for Microsoft .NET Framework] - permette di sviluppare applicazioni Direct2D in [[codice managed]]
*[https://msdn.microsoft.com/en-us/magazine/dd861344.aspx Introducing Direct2D] - June 2009 issue of MSDN Magazine
*[https://msdn.microsoft.com/en-us/magazine/ee413543.aspx Drawing with Direct2D] - September 2009 issue of MSDN Magazine
*[https://direct2dsharp.codeplex.com/ Direct2D API for Microsoft .Net Framework 4] {{Webarchive|url=https://web.archive.org/web/20171227100342/http://direct2dsharp.codeplex.com/ |date=27 dicembre 2017 }} - API Direct2D per il Microsoft .Net Framework 4
[[Categoria:Librerie grafiche]]
|