Hvad er 2D OpenGL®?

Open Graphics Library® (OpenGL®) er primært en programmeringsgrænseflade, der tillader softwareapplikationer at interagere med grafikhardware og skabe tredimensionelle (3D) scener hurtigt og effektivt. Ved hjælp af to-dimensionelle (2D) OpenGL®-programmeringsteknikker kan hardwareaccelerationen, som biblioteket leverer, forbedre ydelsen og undertiden letheden af ​​programmeringssoftware, der ikke nødvendigvis anvender 3D-modeller eller transformationer. Den mest almindelige metode til at bruge 2D OpenGL® er at tegne firkantede sider eller rektangler, der er tekstureret med et billede, og effektivt skabe et objekt i 3D-rum ud af et billede. Når de er etableret, kan disse firedoblinger 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-rastergrafik. Der er nogle komplikationer, som brugen af ​​et 3D-bibliotek medfører, når man kun bruger det til 2D-grafik, inklusive hyperpræcision, der kan gøre det komplekst at isolere placeringer af enkeltpixel, 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 direkte adgang til hardware på en lang række forskellige 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 tilstandsmaskinmodel som OpenGL®.

De fleste 2D OpenGL®-programmer bruger flade rektangler, der er lavet i samme proportioner som et teksturbillede til at skildre grafikken. Dette har fordelen ved at være meget hurtig at gengive såvel som at forenkle programmeringen, så den bruger nogle af den samme logik som rasterbaseret bufret grafik. Nogle effekter, såsom skalering af et billede, rotering af et billede eller vende et billede, kan faktisk udføres meget mere effektivt ved hjælp af OpenGL®.

Der er visse faktorer, der kan forårsage, at 2D OpenGL®-programmer er mere komplekse, end andre 2D-programmer normalt kan være. En af disse faktorer er nøjagtigheden af ​​pixels på skærmen. OpenGL® sidestiller ikke en del af det virtuelle koordinatsystem med en pixel på en skærm, ligesom rastergrafik gør, så flydende punktumre skal undertiden bruges til skærmkoordinater for at forhindre huller i displayet eller underlige pixelplaceringer.

Et andet problem er, at OpenGL® kræver brug af et grafikkort for at øge gengivelseshastigheden. Hvis et program bruger OpenGL® til visning af et interface eller systemvindue, kan enheder, der ikke har grafikacceleration, lide et tab af ydeevne for grafik, der kan synes meget grundlæggende for en slutbruger. OpenGL giver heller ikke nogen oprindelig support til visning af tekst, hvilket betyder, at visning af store tekstområder kan kræve en vis mængde tilpasset kode.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?