Wat zijn OpenGL®-lijnen?
In Open Graphics Library® (OpenGL®) zijn lijnen een van de primaire primitieve vormen die OpenGL® kan tekenen en vormen ze een van de bouwstenen die soms worden gebruikt om driehoeken weer te geven. OpenGL®-lijnen zijn gewoon een rechte, verbindende afbeelding tussen twee hoekpunten. Hoewel het concept en de uitvoering van OpenGL®-lijnen eenvoudig kunnen zijn, hebben ze in sommige implementaties de neiging om meer tijd te vergen dan andere primitieven, deels omdat er geen specificatie over hun gedrag in de OpenGL®-standaard is. Het expliciet gebruiken van OpenGL®-lijnen kan soms onverwachte resultaten opleveren, omdat de lijnen op een specifieke manier worden gerasterd, waardoor ze mogelijk los van andere geometrie in de scène leken te lijken of enigszins afwijken van waar ze naar verwachting zijn. Naast een basislijn kunnen OpenGL®-lijnen ook worden gevormd tot lijnstroken en lussen, net als driehoekige stroken, waarbij het einde van elke lijn het begin van de volgende is.
Wanneer gebruikt in een scène, zijn OpenGL®-lijnen een type primitieve vorm bestaande uit twee hoekpunten, of coördinaten in een driedimensionale (3D) ruimte, die verbonden zijn door een recht, zichtbaar pad. In tegenstelling tot andere primitieven, zoals een driehoek, heeft een lijn over het algemeen geen oppervlak, hoewel deze nog steeds kan worden gekleurd met overvloeien en met behulp van hoekpuntkleuring. Lijnen worden vaak gebruikt in wiskundige en wetenschappelijke 3D-visualisaties, evenals voor tweedimensionale (2D) weergave-indicatoren - zoals dradenkruis of pijlen die naar delen van het scherm wijzen - voor de kijker.
De breedte van een lijn kan tot op zekere hoogte worden bepaald via OpenGL®. Het aantal pixels breed dat de lijn op een bepaald punt moet zijn, kan worden opgegeven, hoewel er geen echte standaard is voor hoe dit van het ene platform naar het andere moet werken. In sommige situaties kan de breedte helemaal niet worden gewijzigd, terwijl in andere gevallen de breedte van OpenGL®-lijnen beperkt is tot een schijnbaar willekeurig aantal.
Naast de basislijn kunnen meerdere OpenGL®-lijnen worden gecombineerd om twee andere structuren te vormen die lijnstroken en lijnlussen worden genoemd. Lijnstroken zijn gewoon een reeks hoekpunten waarin het begin van elke nieuwe lijn het eindpunt van de laatste lijn is. Dit is meestal een handige functie, maar kan sneller worden weergegeven dan met afzonderlijke lijnen. Een lijnlus is bijna identiek aan een lijnstrook, behalve dat het allerlaatste hoekpunt in de lus dan weer wordt verbonden met het eerste opgegeven hoekpunt.
Een complicatie bij het gebruik van OpenGL®-lijnen is dat ze, omdat ze standaard slechts 1 pixel breed zijn, soms niet op de juiste manier worden weergegeven. In bepaalde gevallen, vooral als op de lijn anti-aliasing is toegepast, worden bepaalde pixels in de gerasterde afbeelding mogelijk niet weergegeven. De lijn zelf kan ook een paar pixels verwijderd zijn van waar het naar verwachting zal zijn. Dit wordt grotendeels veroorzaakt door kleine variaties in de drijvende-kommawiskunde die OpenGL® gebruikt; het is niet altijd een probleem dat gemakkelijk kan worden opgelost zonder lijnen om te zetten in polygonen voor weergavedoeleinden.