Vad är en OpenGL®-polygon?

En Open Graphics Library® (OpenGL®) polygon är alla objekt som är gjorda i OpenGL® som består av mer än två toppar. I huvudsak anses alla objekt som inte är en punkt eller en linje vara en polygon. OpenGL®, liksom de flesta grafikkort, har vanligtvis speciella optimeringar för att främst hantera trianglar eller tre-sidiga polygoner, eftersom trianglar är den enklaste typen av polygon som kan göras med de minsta topparna och sidorna. I vissa fall kan fyrkantiga eller fyrsidiga polygoner hanteras av OpenGL®, främst i tvådimensionella (2D) ritningslägen. Med undantag för en konvex, enkel OpenGL®-polygon, kommer de flesta former med mer än tre vertikaler så småningom att delas upp i trianglar genom en process som kallas tessellation, vilket kan ha dramatiska oönskade effekter på en scen.

Den enda typen av OpenGL®-polygon som kan dras naturligt utan behov av tessellation är känd som en helt enkelt polygon. Denna typ av form följer några mycket enkla regler. Sidorna måste vara konvexa, vilket innebär att de inte skapar vinklar i topparna på mindre än 90 °. Inga kanter kan korsa varandra, och bara två rader kan möta vid varje given toppunkt. Detta begränsar en enkel polygon till en självständig 2D-form såsom en kvadrat eller en åttkant eftersom, om det var tredimensionellt (3D), skulle mer än två rader möts i vissa vertikaler.

När man konstruerar en mycket komplex OpenGL®-polygon är det ofta lättare att skapa objektet i ett externt 3D-modelleringsprogram. Detta möjliggör inte bara en mer bekväm, visuell miljö där man kan bygga ett objekt, utan har den extra fördelen att ge designern kontroll över hur figurer är tessellerade så att de inte orsakar problem när de återges. Alternativt kan en polygon skapas procedurellt genom algoritmer som plottar hörnpunkterna enligt ett mönster, liksom kan göras för att skapa en spiral- eller spiralmönster.

Varje OpenGL®-polygon har ett ansikte, det fasta området inuti formens linjer. Även om det är möjligt att ändra detta beteende är i allmänhet varje polygon endast synlig när ansiktet pekar mot tittarkameran. Om en polygon står på fel sätt kan den bli osynlig, beroende på renderingsläget.

Varje OpenGL®-polygon har också ett värde som kallas ett normalt. Normalen används för att definiera riktningen som polygonytan vetter mot. Även om polygonen är tydligt i en viss vinkel och i en viss position, kan ytnormalen bidra till att skapa speciella textureffekter eller härma fysiska egenskaper som inte är enhetliga. En normal för en OpenGL®-polygon kan ställas in på valfritt värde, till och med negativa värden, även om resultaten kan vara oförutsägbara.

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?