Hvad er 2D OpenGL®?
Open Graphics Library® (OpenGL®) er primært en programmeringsgrænseflade, der giver softwareapplikationer mulighed for at interagere med grafikhardware og skabe tredimensionelle (3D) scener hurtigt og effektivt. Ved hjælp af to-dimensionelle (2D) OpenGL®-programmeringsteknikker kan den hardwareacceleration, der leveres af biblioteket, forbedre ydelsen og undertiden lette programmeringssoftware, der ikke nødvendigvis anvender 3D-modeller eller transformationer. Den mest almindelige metode til at bruge 2D OpenGL® er at tegne quadrilaterals eller rektangler, der er struktureret med et billede, hvilket effektivt skaber et objekt i 3D -plads ud af et billede. Når de først er etableret, kan disse firkantede manipuleres, enten med strenge 2D -metoder eller ved at blive transformeret med 3D -matrixer til specialeffekter, som ellers ville være vanskelige at gøre med kun 2D Raster -grafik. Der er nogle komplikationer, som brug af et 3D-bibliotek bringer, når man kun anvender det til 2D-grafik, inklusive hyperpræcisionDet kan gøre det komplekst at isolere enkeltpixelplaceringer samt kræve en 3D-hardwarestøtte til et program, der måske ikke virkelig kræver det.
Mange hardware- og softwareudviklere leverer drivere og brugerdefinerede abstrakte programmeringsgrænseflader (API'er), der gør deres særlige produkter fuldt kompatible med OpenGL® -biblioteket. Denne udbredte accept af en åben standard giver programmerere en måde at få direkte adgang til hardware på en lang række systemer. Den hardwareacceleration, der leveres, når du bruger 2D OpenGL®, kan give et program mulighed for at køre mere glat end ellers ville være muligt. Denne hastighed er afbalanceret af det faktum, at brug af OpenGL® -rørledningen til grafik kan være meget forskellig fra at bruge traditionelle 2D -programmeringsmetoder, der generelt ikke anvender en statsmaskinmodel som OpenGL® gør.
De fleste 2D OpenGL® -programmer bruger flade rektangler, der er galee i de samme proportioner som et teksturbillede for at fremstille grafikken. Dette har fordelen ved at være meget hurtig til at gengive såvel som at forenkle programmering, så den bruger noget af den samme logik som rasterbaseret bufret grafik. Nogle effekter, såsom at skalere et billede, rotere et billede eller vende et billede, kan faktisk udføres meget mere effektivt ved hjælp af OpenGL®.
Der er visse faktorer, der kan få 2D OpenGL® -programmer til at være mere komplekse, end andre 2D -programmer normalt kan være. En af disse faktorer er præcisionen af pixels på displayet. OpenGL® sidestiller ikke en del af det virtuelle koordinatsystem til en pixel på en skærm, som rastergrafik gør, så flydende punktnumre skal undertiden bruges til skærmkoordinater for at forhindre huller i displayet eller mærkelige pixelplaceringer.
Et andet problem er, at OpenGL® kræver brug af et grafikkort for at øge gengivelseshastigheden. Hvis en applikation bruger OpenGL® til visning af en int intErface eller systemvindue, så kan enheder, der ikke har grafikacceleration, lide et tab af ydeevne for grafik, der kan virke meget grundlæggende for en slutbruger. OpenGL giver heller ikke nogen indfødt support til visning af tekst, hvilket betyder, at det at vise store tekstområder kan kræve en god mængde brugerdefineret kode.