Hva er 2D OpenGL®?
Open Graphics Library® (OpenGL®) er først og fremst et programmeringsgrensesnitt som gjør at programvare kan samhandle med grafikkmaskinvare og lage tredimensjonale (3D) scener raskt og effektivt. Ved å bruke todimensjonale (2D) OpenGL®-programmeringsteknikker kan maskinvareakselerasjonen fra biblioteket forbedre ytelsen og noen ganger enkel programmeringsprogramvare som ikke nødvendigvis benytter 3D-modeller eller transformasjoner. Den vanligste metoden for å bruke 2D OpenGL® er å tegne firedoblinger, eller rektangler, som er strukturert med et bilde, og effektivt skape et objekt i 3D-rom ut av et bilde. Når de er etablert, kan disse firedoblinger manipuleres, enten med strenge 2D-metoder eller ved å bli transformert med 3D-matriser for spesialeffekter som ellers ville være vanskelig å gjøre med bare 2D rastergrafikk. Det er noen komplikasjoner ved bruk av et 3D-bibliotek når du bruker det bare for 2D-grafikk, inkludert hyperpresisjon som kan gjøre det komplekst å isolere enkeltpiksel-steder, i tillegg til å kreve 3D-maskinvarestøtte for et program som kanskje ikke virkelig krever den.
Mange utviklere av maskinvare og programvare leverer drivere og tilpassede abstrakte programmeringsgrensesnitt (API) som gjør deres spesielle produkter fullt kompatible med OpenGL®-biblioteket. Denne utbredte aksept av en åpen standard gir programmerere en måte å direkte få tilgang til maskinvaren på et stort utvalg av systemer. Maskinvareakselerasjonen som gis når du bruker 2D OpenGL®, kan tillate at et program kjører jevnere enn ellers ville vært mulig. Denne hastigheten blir balansert av det faktum at bruk av OpenGL®-rørledningen for grafikk kan være veldig forskjellig fra å bruke tradisjonelle 2D-programmeringsmetoder som vanligvis ikke bruker en statlig maskinmodell som OpenGL®.
De fleste 2D OpenGL®-programmer bruker flate rektangler som er laget i samme proporsjoner som et teksturbilde for å skildre grafikken. Dette har fordelen av å være veldig rask å gjengi, samt forenkle programmering, slik at den bruker noe av den samme logikken som rasterbasert bufret grafikk. Noen effekter, for eksempel skalering av et bilde, rotering av et bilde eller reversering av et bilde, kan faktisk utføres mye mer effektivt ved hjelp av OpenGL®.
Det er visse faktorer som kan føre til at 2D OpenGL®-programmer er mer komplekse enn andre 2D-programmer normalt kan være. En av disse faktorene er presisjonen til piksler på displayet. OpenGL® likestiller ikke en del av det virtuelle koordinatsystemet med en piksel på en skjerm, slik rastergrafikk gjør, så noen ganger må flytende punktnumre brukes til skjermkoordinater for å forhindre hull i skjermen eller rare pikselplasseringer.
Et annet problem er at OpenGL® krever bruk av et grafikkort for å øke gjengivningshastigheten. Hvis en applikasjon bruker OpenGL® for visning av et grensesnitt eller systemvindu, kan enheter som ikke har grafikkakselerasjon ha et tap av ytelse for grafikk som kan virke veldig grunnleggende for en sluttbruker. OpenGL gir heller ingen egen støtte for visning av tekst, noe som betyr at å vise store tekstområder kan kreve en god del tilpasset kode.