Mis on OpenGL® liinid?

Rakenduses Open Graphics Library® (OpenGL®) on jooned üks peamisi primitiivseid kujundeid, mida OpenGL® suudab joonistada, ja need moodustavad ühe ehitusploki, mida mõnikord kasutatakse kolmnurkade renderdamiseks. OpenGL® jooned on vaid sirge, ühendav graafika kahe tipu vahel. Kuigi OpenGL®-i ridade kontseptsioon ja täitmine võivad olla lihtsad, võtab nende renderdamine mõnes teostuses rohkem aega kui teiste primitiivide puhul, osaliselt seetõttu, et OpenGL®-i standardis pole nende käitumist täpsustatud. OpenGL®-i joonte selge kasutamine võib mõnikord anda ootamatuid tulemusi, kuna jooned on rasteriseeritud spetsiifilisel viisil, mis võib jätta mulje, et need on stseeni muust geomeetriast eraldunud või tunduvad veidi eemale sellest, kus nad eeldatavalt asuvad. Lisaks põhireale saab OpenGL®-i jooni moodustada ka jooneribadeks ja silmusteks, sarnaselt kolmnurgaribadele, kusjuures iga rea ​​lõpp on järgmise rea algus.

Stseenis kasutamisel on OpenGL® jooned teatud tüüpi kujund, mis koosneb kahest tipust või koordinaatidest kolmemõõtmelises (3D) ruumis, mis on ühendatud sirge nähtava teega. Erinevalt teistest primitiividest, näiteks kolmnurgast, ei ole joonel üldjuhul pinda, kuigi seda saab siiski värvida segamise ja tipuvärvimise abil. Jooni kasutatakse sageli matemaatilistes ja teaduslikes 3D-visualisatsioonides, aga ka kahemõõtmeliste (2D) kuvanäitajate jaoks (nt ristikud või nooled, mis osutavad ekraani piirkondadele).

Joone laiust saab teatud määral määratleda OpenGL® kaudu. Pikslite arvu, mille laius joon konkreetses punktis peaks olema, saab määrata, kuigi puudub tegelik standard, kuidas see ühelt platvormilt teisele toimima peaks. Mõnes olukorras ei saa laiust üldse muuta, samas kui teistel juhtudel on OpenGL® joonte laius piiratud näiliselt suvalise arvuga.

Lisaks põhiliinile saab kombineerida mitut OpenGL® rida, moodustades veel kaks struktuuri, mida nimetatakse jooneribadeks ja liinisilmusteks. Jooniribad on lihtsalt tippude jada, milles iga uue rea algus on viimase rea lõpp-punkt. See on enamasti mugavusfunktsioon, kuid seda saab renderdada kiiremini kui üksikuid ridu kasutades. Joonesilmus on peaaegu identne jooneribaga, välja arvatud see, et tsükli viimane tipp ühendatakse seejärel tagasi esimese määratud tipuga.

Üks komplikatsioone OpenGL®-i joonte kasutamisel on see, et kuna need on vaikimisi vaid 1 piksli laiused, siis mõnikord ei renderdata neid õigesti. Teatud juhtudel, eriti kui joon on antialiased, ei pruugita rasterdatud kujutise teatud piksleid kuvada. Joon ise võib samuti paista mõne piksli kaugusel eeldatavast kohast. See on suures osas põhjustatud väikestest variatsioonidest OpenGL®-i kasutatavas ujukoma matemaatikas; see ei ole alati probleem, mida saab hõlpsasti lahendada ilma jooni renderdamise eesmärgil hulknurkadeks teisendamata.