Vad är en OpenGL® -polygon?
En öppen grafikbibliotek® (OpenGL®) polygon är alla objekt som är gjorda i OpenGL® som består av mer än två vertikaler. I huvudsak betraktas alla objekt som inte är en punkt eller en linje som en polygon. OpenGL®, såväl som de flesta grafikkort, har vanligtvis specialoptimeringar för att främst hantera trianglar, eller tresidiga polygoner, eftersom trianglar är den enklaste typen av polygon som kan göras med de minsta hörn och sidor. I vissa fall kan quadrilaterals eller fyrsidiga polygoner hanteras av OpenGL®, främst i tvådimensionella (2D) ritlä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, som kan ha dramatiska oönskade effekter på en scen.
Den enda typen av OpenGL® -polygon som kan dras naturligt utan behovet av Tessellation är känd som en helt enkelt polygon. Denna typ av form följer såmig mycket enkla regler. Sidorna måste vara konvexa, vilket innebär att de inte skapar vinklar vid topparna på mindre än 90 °. Inga kanter kan korsa varandra, och endast två rader kan träffas vid en given toppunkt. Detta begränsar en enkel polygon till en 2D-fristående form såsom en fyrkant eller en åttkant eftersom, om den var tredimensionell (3D), skulle mer än två linjer mötas vid vissa vertikaler.
Vid konstruktion av 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ö för att bygga ett objekt, utan har den extra fördelen att ge designerns kontroll över hur former är tessellerade så att de inte orsakar problem när de görs. Alternativt kan en polygon skapas procedurellt genom algoritmer som plottar vertikalerna enligt ett mönster, som kan göras för att skapa en spiral eller spIral mönster.
Varje OpenGL® -polygon har ett ansikte, det fasta området i formens linjer. Även om det är möjligt att ändra detta beteende, är varje polygon i allmänhet bara synlig när ansiktet pekar mot visningskameran. Om en polygon står inför fel sätt, kan den bli osynlig, beroende på renderingsläget.
Varje OpenGL® -polygon har också ett värde som kallas ett normalt. Det normala används för att definiera riktningen ytan på polygonen står inför. Även om polygonen tydligt är i en viss vinkel och i en viss position, kan ytnormalen hjälpa till att skapa speciella textureffekter eller efterlikna 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.