Vad är OpenGL®-linjer?

I Open Graphics Library® (OpenGL®) är linjer en av de grundläggande primitiva formerna som OpenGL® kan rita, och de utgör en av byggstenarna som ibland används för att göra trianglar. OpenGL®-linjer är bara en rak, anslutande grafik mellan två vertikaler. Även om konceptet och exekveringen av OpenGL®-linjer kan vara enkelt, tenderar de att ta längre tid att göra än andra primitiv i vissa implementationer, delvis eftersom det inte finns någon specifikation om deras beteende i OpenGL®-standarden. Att använda OpenGL®-linjer uttryckligen kan ibland ha oväntade resultat, eftersom linjerna rasteriseras på ett specifikt sätt som kan göra att de verkade avskiljda från annan geometri i scenen eller verkar vara något bort från där de förväntas vara. Förutom en grundlinje kan OpenGL®-linjer också formas till linjelister och slingor, ungefär som triangelremsor, där slutet på varje linje är början på nästa.

När de används i en scen är OpenGL®-linjer en typ av primitiv form som består av två toppar, eller koordinater i tredimensionellt (3D) utrymme, som är anslutna med en rak, synlig väg. Till skillnad från andra primitiv, till exempel en triangel, har en linje i allmänhet inte en yta, även om den fortfarande kan färgas med blandning och med hjälp av toppning färgning. Linjer används ofta i matematiska och vetenskapliga 3D-visualiseringar, liksom för tvådimensionella (2D) visningsindikatorer - till exempel korsstolar eller pilar som pekar på skärmens områden - för tittaren.

Bredden på en linje kan definieras till viss del genom OpenGL®. Antalet pixlar brett som linjen ska vara vid en given punkt kan specificeras, även om det inte finns någon riktig standard för hur detta ska fungera från en plattform till en annan. I vissa situationer kan bredden inte ändras alls, i andra fall är bredden på OpenGL®-linjer begränsad till ett till synes godtyckligt tal.

Förutom baslinjen kan flera OpenGL®-linjer kombineras för att bilda två andra strukturer kända som linjelister och linjeslingor. Linjelister är helt enkelt en sekvens av vertikaler där starten på varje ny linje är slutpunkten för den sista raden. Detta är mestadels en bekvämlighetsfunktion men kan återges snabbare än med enskilda linjer. En linjeslinga är nästan identisk med en linjelist, förutom att det allra sista toppmaterialet i slingan sedan ansluts tillbaka till det första angivna toppunktet.

En komplikation när du använder OpenGL®-linjer är att de, eftersom de bara är en pixel breda som standard, ibland inte ger på rätt sätt. I vissa fall, särskilt om linjen är anti-alias, kanske vissa pixlar i den rasteriserade bilden inte visas. Själva linjen kan också visas några pixlar bort från var den förväntas vara. Detta orsakas till stor del av små variationer i den flytande punktmatten som OpenGL® använder; det är inte alltid ett problem som lätt kan lösas utan att konvertera linjer till polygoner för återgivningsändamål.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?