Kas yra OpenGL® linijos?

„Open Graphics Library®“ (OpenGL®) linijos yra viena iš pagrindinių primityvių formų, kurias gali nubrėžti OpenGL®, ir jos yra vienas iš statybinių blokų, kurie kartais naudojami trikampiams atvaizduoti. OpenGL® linijos yra tik tiesi, jungianti dvi viršūnes. Nors „OpenGL®“ eilučių koncepcija ir vykdymas gali būti paprasti, kai kuriuose diegimuose jos paprastai pateikiamos ilgiau nei kitų primityvų, iš dalies dėl to, kad OpenGL® standarte nėra jų veikimo specifikacijos. Aiškiai naudojant OpenGL® linijas kartais gali būti netikėtų rezultatų, nes linijos rastruojamos tam tikru būdu, todėl gali atrodyti, kad jos yra atskirtos nuo kitos scenos geometrijos arba atrodo šiek tiek nutolusios nuo vietos, kurioje turėtų būti. Be pagrindinės eilutės, OpenGL® linijos taip pat gali būti suformuotos į linijų juosteles ir kilpas, panašiai kaip trikampės juostelės, o kiekvienos eilutės pabaiga yra kitos eilutės pradžia.

Kai naudojamos scenoje, OpenGL® linijos yra tam tikros formos primityvus, susidedantis iš dviejų viršūnių arba koordinačių trimatėje (3D) erdvėje, sujungtų tiesiu, matomu keliu. Skirtingai nuo kitų primityvų, tokių kaip trikampis, linija paprastai neturi paviršiaus, nors ją vis tiek galima nuspalvinti maišant ir naudojant viršūnių spalvinimą. Linijos dažnai naudojamos matematinėse ir mokslinėse 3D vizualizacijose, taip pat dvimačiams (2D) ekrano indikatoriams, pvz., kryželiui ar rodyklėms, rodančioms į ekrano sritis, skirtoms žiūrovui.

Linijos plotis tam tikru mastu gali būti apibrėžtas naudojant OpenGL®. Galima nurodyti pikselių pločio, kurį linija turi būti bet kuriame taške, skaičių, nors nėra tikro standarto, kaip tai turėtų veikti iš vienos platformos į kitą. Kai kuriais atvejais pločio iš viso negalima pakeisti, o kitais atvejais OpenGL® linijų plotis apribojamas iki iš pažiūros savavališko skaičiaus.

Be pagrindinės linijos, kelias OpenGL® linijas galima sujungti, kad būtų sudarytos dvi kitos struktūros, žinomos kaip linijų juostos ir linijų kilpos. Linijų juostos yra tiesiog viršūnių seka, kurioje kiekvienos naujos eilutės pradžia yra paskutinės eilutės pabaigos taškas. Tai dažniausiai yra patogumo funkcija, tačiau ji gali būti atvaizduojama greičiau nei naudojant atskiras eilutes. Linijos kilpa yra beveik identiška linijos juostai, išskyrus tai, kad pati paskutinė kilpos viršūnė vėl prijungiama prie pirmosios nurodytos viršūnės.

Viena komplikacijų naudojant OpenGL® linijas yra ta, kad jos pagal numatytuosius nustatymus yra tik 1 pikselio pločio, jos kartais atvaizduojamos netinkamai. Tam tikrais atvejais, ypač jei linija yra panaikinta, tam tikri rastrinio vaizdo pikseliai gali būti nerodomi. Pati linija taip pat gali pasirodyti keliais pikseliais nuo vietos, kurioje ji turėtų būti. Tai daugiausia lemia nedideli slankiojo kablelio matematikos, kurią naudoja OpenGL®, skirtumai; Tai ne visada problema, kurią galima lengvai išspręsti nekeičiant linijų į daugiakampius atvaizdavimo tikslais.