Cos'è 2D OpenGL®?
Open Graphics Library® (OpenGL®) è principalmente un'interfaccia di programmazione che consente alle applicazioni software di interagire con l'hardware grafico e creare scene tridimensionali (3D) in modo rapido ed efficiente. Utilizzando tecniche di programmazione OpenGL® bidimensionali (2D), l'accelerazione hardware fornita dalla libreria può migliorare le prestazioni e, a volte, la facilità di software di programmazione che non impiega necessariamente modelli o trasformazioni 3D. Il metodo più comune per l'uso di OpenGL® 2D è disegnare quadrilaterali o rettangoli, che sono strutturati con un'immagine, creando efficacemente un oggetto nello spazio 3D da un'immagine. Una volta stabiliti, questi quadrilaterali possono essere manipolati, con metodi 2D rigorosi o essendo trasformati con matrici 3D per effetti speciali che altrimenti sarebbero difficili da fare con solo una grafica raster 2D. Ci sono alcune complicazioni che l'utilizzo di una libreria 3D porta quando la impiega solo per la grafica 2D, inclusa l'ipercisioneCiò può renderlo complesso isolare le posizioni a pixel singolo, oltre a richiedere un supporto hardware 3D per un programma che potrebbe non richiederlo veramente.
Molti sviluppatori di hardware e software forniscono driver e API di programmazione astratta (API) che rendono i loro prodotti particolari completamente compatibili con la libreria OpenGL®. Questa diffusa accettazione di uno standard aperto offre ai programmatori un modo per accedere direttamente all'hardware su una grande varietà di sistemi. L'accelerazione dell'hardware fornita quando si utilizza 2D OpenGL® può consentire un programma di funzionamento in modo più fluido di quanto altrimenti sarebbe possibile. Questa velocità è bilanciata dal fatto che l'uso della pipeline OpenGL® per la grafica può essere molto diversa dall'uso di metodi di programmazione 2D tradizionali che generalmente non utilizzano un modello di macchina a stato come OpenGL®.
La maggior parte dei programmi OpenGL® 2D utilizza rettangoli piatti che sono pazziE nelle stesse proporzioni di un'immagine di trama per ritrarre la grafica. Ciò ha il vantaggio di essere molto rapido da eseguire il rendering, oltre a semplificare la programmazione, quindi utilizza una parte della stessa logica della grafica bufferata basata su raster. Alcuni effetti, come il ridimensionamento di un'immagine, la rotazione di un'immagine o l'inversione di un'immagine, possono effettivamente essere eseguiti in modo molto più efficiente usando OpenGL®.
Ci sono alcuni fattori che possono far sì che i programmi OpenGL® 2D siano più complessi rispetto ad altri programmi 2D normalmente. Uno di questi fattori è la precisione dei pixel sul display. OpenGL® non equivale a una parte del sistema di coordinate virtuali a un pixel su una schermata, come fanno la grafica raster, quindi i numeri di punta mobile a volte devono essere utilizzati per le coordinate dello schermo per prevenire gli spazi nel display o per strani posizionamenti di pixel.
Un altro problema è che OpenGL® richiede l'uso di una scheda grafica per aumentare la velocità di rendering. Se un'applicazione utilizza OpenGL® per la visualizzazione di un INTERFACE o finestra di sistema, quindi i dispositivi che non dispongono di accelerazione grafica potrebbero subire una perdita di prestazioni per la grafica che potrebbe sembrare molto semplice per un utente finale. OpenGL inoltre non fornisce alcun supporto nativo per la visualizzazione del testo, il che significa che mostrare ampie aree di testo potrebbe richiedere una buona quantità di codice personalizzato.