Mis on 2D OpenGL®?

Open Graphics Library® (OpenGL®) on peamiselt programmeerimisliides, mis võimaldab tarkvararakendustel suhelda graafika riistvaraga ning luua kiiresti ja tõhusalt kolmemõõtmelisi (3D) stseene. Kahemõõtmeliste (2D) OpenGL® programmeerimistehnikate kasutamisel võib raamatukogu pakutav riistvaraline kiirendus parandada jõudlust ja mõnikord ka lihtsust programmeerimisel, mis ei pruugi tingimata kasutada 3D-mudeleid või teisendusi. Kõige tavalisem 2D OpenGL®-i kasutamise meetod on kujutisega tekstureeritud nelinurkade või ristkülikute joonistamine, luues pildist tõhusalt 3D-ruumis oleva objekti. Kui need nelinurgad on loodud, saab neid manipuleerida kas rangete 2D-meetoditega või teisendades neid 3D-maatriksitega eriefektide saamiseks, mida muidu oleks raske teha ainult 2D-rastergraafikaga. 3D-teegi kasutamine toob kaasa mõningaid komplikatsioone, kui seda kasutatakse ainult 2D-graafika jaoks, sealhulgas ülitäpsus, mis võib muuta ühe piksliga asukohtade eraldamise keeruliseks, samuti nõuab mõningast 3D-riistvaratuge programmi jaoks, mis ei pruugi tegelikult vajada. seda.

Paljud riist- ja tarkvaraarendajad pakuvad draivereid ja kohandatud abstraktseid programmeerimisliideseid (API-sid), mis muudavad nende tooted täielikult OpenGL®-i teegiga ühilduvaks. See avatud standardi laialdane aktsepteerimine annab programmeerijatele võimaluse pääseda otse juurdepääsuks paljude erinevate süsteemide riistvarale. 2D OpenGL®-i kasutamisel pakutav riistvaraline kiirendus võimaldab programmil töötada sujuvamalt, kui see muidu võimalik oleks. Seda kiirust tasakaalustab asjaolu, et OpenGL®-i konveieri kasutamine graafika jaoks võib olla väga erinev traditsiooniliste 2D-programmeerimismeetodite kasutamisest, mis üldiselt ei kasuta olekumasina mudelit, nagu seda teeb OpenGL®.

Enamik 2D OpenGL® programme kasutab graafika kujutamiseks lamedaid ristkülikuid, mis on tehtud tekstuurpildiga samades proportsioonides. Selle eeliseks on väga kiire renderdamine ja programmeerimise lihtsustamine, nii et see kasutab sama loogikat nagu rastripõhine puhvergraafika. Teatud efekte, nagu pildi skaleerimine, pildi pööramine või pildi ümberpööramine, saab OpenGL®-i abil tegelikult palju tõhusamalt teostada.

Teatud tegurid võivad muuta 2D OpenGL® programmide keerukamaks, kui teised 2D programmid tavaliselt võivad olla. Üks neist teguritest on ekraani pikslite täpsus. OpenGL® ei võrdsusta virtuaalse koordinaatsüsteemi ühte osa ühe piksliga ekraanil, nagu seda teeb rastergraafika, mistõttu tuleb mõnikord ekraani koordinaatideks kasutada ujukoma numbreid, et vältida lünki ekraanil või kummalisi pikslite paigutusi.

Teine probleem on see, et OpenGL® nõuab renderduskiiruse suurendamiseks graafikakaardi kasutamist. Kui rakendus kasutab liidese või süsteemiakna kuvamiseks OpenGL®-i, võivad seadmed, millel pole graafikakiirendust, kannatada graafika jõudluses, mis võib lõppkasutajale tunduda väga lihtne. OpenGL ei paku ka teksti kuvamiseks natiivset tuge, mis tähendab, et suurte tekstialade kuvamine võib nõuda parajal määral kohandatud koodi.