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, som ansluter 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 implementeringar, delvis för att 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 raseras på ett specifikt sätt som kan göra att de verkade fristående från annan geometri i scenen eller verkar vara något av från var de förväntas vara. Förutom en grundläggande linje kan OpenGL® -linjer också bildas till linjestripor och slingor, ungefär som triangelremsor, varvid slutet av varje linje är början på nästa.

När de används i en scen är OpenGL®-linjer en typ av formprimitiva bestående av två vertikaler, eller koordinater i tredimensionellt (3D) utrymme, som är anslutna med en rak, synlig väg. Till skillnad från andra primitiva, till exempel en triangel, har en linje i allmänhet inte en yta, även om den fortfarande kan färgas med blandning och genom att använda vertexfärgning. Linjer används ofta i matematiska och vetenskapliga 3D-visualiseringar, såväl som för tvådimensionella (2D) visningsindikatorer-såsom korsstolar eller pilar som pekar på områdena på skärmen-för tittaren.

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

Förutom den grundläggande linjen kan flera OpenGL® -linjer kombineras för att bilda två andra strukturer kända som linjelagor och linjeslingor. Linjemsor är helt enkelt en sekvens av vertikaler där början på varje ny linje är slutpunkten för den sista raden. Detta är mestadels en bekvämlighetsfunktion men kan göra snabbare än att använda enskilda linjer. En linjeslinga är nästan identisk med en linjestremsa, förutom att det allra sista toppunktet i slingan sedan är ansluten tillbaka till det första toppunktet som anges.

En komplikation när du använder OpenGL® -linjer är att eftersom de bara är 1 pixel breda som standard gör de ibland inte på rätt sätt. I vissa fall, särskilt om linjen är anti-alias, kanske vissa pixlar i den rasteriserade bilden inte visas. Linjen i sig kan också visas några pixlar bort från var den förväntas vara. Detta orsakas till stor del av minut variättningar i den flytande punkten Math som OpenGL® använder; Det är inte alltid en fråga som lätt kan lösas utan att konvertera linjer till polygoner för rendering.

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?