Hvad er OpenGL®-linjer?
I Open Graphics Library® (OpenGL®) er linjer en af de grundlæggende primitive former, som OpenGL® er i stand til at tegne, og de udgør en af de byggesten, der undertiden bruges til at gengive trekanter. OpenGL®-linjer er bare en lige, forbundende grafik mellem to hjørner. Selvom konceptet og udførelsen af OpenGL®-linjer kan være enkel, har de en tendens til at tage længere tid at gengive end andre primitiver i nogle implementeringer, delvis fordi der ikke er nogen specifikation om deres opførsel i OpenGL®-standarden. Brug af OpenGL®-linjer eksplicit kan undertiden have uventede resultater, fordi linierne er rasteret på en bestemt måde, der kan få dem til at virke løsrevet fra anden geometri i scenen eller ser ud til at være lidt væk fra, hvor de forventes at være. Ud over en grundlæggende linje kan OpenGL®-linjer også formes til linjestrimmel og sløjfer, ligesom trekantstrimler, hvor slutningen af hver linje er starten på den næste.
Når de bruges i en scene, er OpenGL®-linier en type form primitiv bestående af to hjørner eller koordinater i tredimensionelt (3D) rum, der er forbundet med en lige, synlig sti. I modsætning til andre primitiver, såsom en trekant, har en linje generelt ikke en overflade, selvom den stadig kan farves med blanding og ved hjælp af toppunktfarve. Linjer bruges ofte i matematiske og videnskabelige 3D-visualiseringer, såvel som til todimensionelle (2D) displayindikatorer - såsom krydshår eller pile, der peger på områder af skærmen - for seeren.
Bredden af en linje kan til en vis grad defineres gennem OpenGL®. Antallet af pixels i bredden, som linjen skal være på et givet tidspunkt, kan specificeres, selvom der ikke er nogen reel standard for, hvordan dette skal fungere fra en platform til en anden. I nogle situationer kan bredden overhovedet ikke ændres, mens i andre tilfælde er bredden af OpenGL®-linier begrænset til et tilsyneladende vilkårligt tal.
Ud over den grundlæggende linje kan flere OpenGL®-linjer kombineres til at danne to andre strukturer, der er kendt som linjelister og linjesløjfer. Linjestrimler er simpelthen en sekvens af vertikater, hvor starten på hver nye linje er slutpunktet for den sidste linje. Dette er for det meste en bekvemmelighedsfunktion, men kan gengives hurtigere end ved at bruge individuelle linjer. En linjesløjfe er næsten identisk med en linjestrimmel, bortset fra at den allerførste toppunkt i løkken derefter forbindes tilbage til den første specificerede toppunkt.
En komplikation ved brug af OpenGL®-linjer er, at fordi de kun er 1 pixel brede som standard, gengives de undertiden ikke på den rigtige måde. I visse tilfælde, især hvis linjen er anti-alias, vises visse pixels i det rasteriserede billede muligvis ikke. Selve linjen kan også vises et par pixels væk fra, hvor den forventes at være. Dette er stort set forårsaget af små variationer i den flydende punktmatematik, som OpenGL® bruger; det er ikke altid et problem, der let kan løses uden at konvertere linjer til polygoner til gengivelsesformål.