Mis on OpenGL® polügoon?

Open Graphics Library® (OpenGL®) polügoon on mis tahes objekt, mis on tehtud OpenGL®-is ja mis koosneb enam kui kahest tipust. Põhimõtteliselt loetakse iga objekti, mis ei ole punkt ega joon, hulknurgaks. OpenGL®-il, nagu ka enamikul graafikakaartidel, on tavaliselt spetsiaalsed optimeerimised, et tegeleda peamiselt kolmnurkade või kolmetahuliste hulknurkadega, kuna kolmnurgad on kõige lihtsam hulknurkade tüüp, mida saab teha kõige vähemate tippude ja külgedega. Mõnel juhul saab OpenGL® käsitleda nelinurki või neljatahulisi hulknurki, peamiselt kahemõõtmelistes (2D) joonistusrežiimides. Välja arvatud kumer ja lihtne OpenGL® hulknurk, jagatakse enamik rohkem kui kolme tipuga kujundeid lõpuks kolmnurkadeks protsessi, mida nimetatakse tessellatsiooniks, mis võib avaldada stseenile dramaatilisi soovimatuid mõjusid.

Ainus OpenGL®-i hulknurga tüüp, mida saab natiivselt joonistada ilma tessellatsioonita, on tuntud kui lihtsalt hulknurk. Seda tüüpi kuju järgib mõningaid väga lihtsaid reegleid. Küljed peavad olema kumerad, mis tähendab, et nad ei tekita tippudes nurki, mis on väiksemad kui 90°. Ükski serv ei saa üksteist ristuda ja mis tahes tipus võivad kohtuda ainult kaks sirget. See piirab lihtsa hulknurga 2D-iseseisva kujuga, nagu ruut või kaheksanurk, sest kui see oleks kolmemõõtmeline (3D), kohtuks mõnes tipus rohkem kui kaks joont.

Väga keeruka OpenGL® polügooni konstrueerimisel on sageli lihtsam luua objekti välise 3D-modelleerimisprogrammiga. See mitte ainult ei võimalda luua objekti ehitamiseks mugavamat visuaalset keskkonda, vaid annab disainerile kontrolli selle üle, kuidas kujundeid tesselleeritakse, nii et need ei tekita renderdamisel probleeme. Teise võimalusena saab hulknurga luua protseduuriliselt algoritmide abil, mis joonistavad tipud vastavalt mustrile, nagu seda saab teha spiraalse või spiraalse mustri loomiseks.

Igal OpenGL®-i hulknurgal on tahk, kujundi joonte sees olev tahke ala. Kuigi seda käitumist on võimalik muuta, on üldiselt iga hulknurk nähtav ainult siis, kui selle nägu on suunatud kaamera poole. Kui hulknurk on vales suunas, võib see olenevalt renderdusrežiimist muutuda nähtamatuks.

Igal OpenGL® polügoonil on ka väärtus, mida nimetatakse normaalseks. Normaalset kasutatakse hulknurga pinna suuna määramiseks. Kuigi hulknurk on selgelt teatud nurga all ja kindlas asendis, võib pinnanormaal aidata luua erilisi tekstuuriefekte või jäljendada füüsikalisi omadusi, mis ei ole ühtlased. OpenGL® hulknurga normaalväärtuseks saab määrata mis tahes väärtuse, isegi negatiivse väärtuse, kuigi tulemused võivad olla ettearvamatud.