Mikä on OpenGL® -monikulmio?

Open Graphics Library® (OpenGL®) -monikulmio on mikä tahansa OpenGL®: ssä tehty objekti, joka koostuu useammasta kuin kahdesta kärjestä. Pohjimmiltaan kaikkia esineitä, jotka eivät ole pisteitä tai suoria, pidetään monikulmioina. OpenGL®: llä ja useimmilla näytönohjaimilla on yleensä erityisiä optimointeja käsitellä ensisijaisesti kolmioita tai kolmipuoleisia monikulmioita, koska kolmiot ovat yksinkertaisin monikulmio, joka voidaan tehdä pienimmillä kärjillä ja sivuilla. Joissakin tapauksissa nelikulmia tai nelisivuisia monikulmioita voidaan käsitellä OpenGL®-ohjelmalla pääasiassa kaksiulotteisissa (2D) piirtotiloissa. Kupera, yksinkertainen OpenGL® -monikulmio lukuun ottamatta useimmat muodot, joissa on enemmän kuin kolme kärkeä, jaetaan lopulta kolmioihin tessellaatio -prosessin avulla, jolla voi olla dramaattisia ei -toivottuja vaikutuksia kohtaukseen.

Ainoa OpenGL® -monikulmio, joka voidaan piirtää luonnostaan ​​ilman tessellaatiota, tunnetaan yksinkertaisesti monikulmiona. Tämäntyyppinen muoto noudattaa joitain hyvin yksinkertaisia ​​sääntöjä. Sivujen on oltava kuperat, eli ne eivät luo kulmia alle 90 °: n kärkiin. Mikään reuna ei voi ylittää toisiaan, ja vain kaksi viivaa voivat kohdata missä tahansa pisteessä. Tämä rajoittaa yksinkertaisen monikulmion 2D-itsenäiseen muotoon, kuten neliöön tai kahdeksankulmioon, koska jos se olisi kolmiulotteinen (3D), enemmän kuin kaksi viivaa kohtaisi joissain pisteissä.

Kun rakennetaan erittäin monimutkainen OpenGL® -monikulmio, on usein helpompi luoda objekti ulkoisessa 3D -mallinnusohjelmassa. Tämä ei ainoastaan ​​tarjoa kätevämpää, visuaalista ympäristöä esineen rakentamiseen, vaan sen lisäetuna on se, että se antaa suunnittelijalle mahdollisuuden hallita muotojen tessellointia, jotta ne eivät aiheuta ongelmia renderoidessaan. Vaihtoehtoisesti monikulmio voidaan luoda menettelyllisesti algoritmien avulla, jotka piirtävät kärkipisteet kuvion mukaan, kuten voidaan tehdä kierre- tai kierrekuvion luomiseksi.

Jokaisessa OpenGL® -monikulmiossa on kasvot, kiinteä alue muodon viivojen sisällä. Vaikka tätä käyttäytymistä on mahdollista muuttaa, yleensä jokainen monikulmio on näkyvissä vain, kun sen kasvot osoittavat katselukameraa kohti. Jos monikulmio on väärin päin, se voi muuttua näkymättömäksi renderointitilasta riippuen.

Jokaisella OpenGL® -polygonilla on myös normaaliarvo. Normaalia käytetään määrittämään monikulmion pinnan suunta. Vaikka monikulmio on selvästi tietyssä kulmassa ja tietyssä asennossa, pinnan normaali voi auttaa luomaan erityisiä tekstuuritehosteita tai jäljittelemään fysikaalisia ominaisuuksia, jotka eivät ole yhtenäisiä. OpenGL® -monikulmion normaali voidaan asettaa mihin tahansa arvoon, myös negatiivisiin arvoihin, vaikka tulokset voivat olla arvaamattomia.