Kas yra OpenGL® daugiakampis?

Open Graphics Library® (OpenGL®) daugiakampis yra bet koks objektas, sukurtas naudojant OpenGL® ir susidedantis iš daugiau nei dviejų viršūnių. Iš esmės bet koks objektas, kuris nėra taškas ar linija, laikomas daugiakampiu. „OpenGL®“, kaip ir dauguma vaizdo plokščių, paprastai turi specialių optimizacijų, skirtų pirmiausia trikampiams arba trikampiams daugiakampiams, nes trikampiai yra paprasčiausias daugiakampio tipas, kurį galima sudaryti su mažiausiai viršūnių ir kraštinių. Kai kuriais atvejais keturkampiai arba keturkampiai daugiakampiai gali būti tvarkomi naudojant OpenGL®, daugiausia dvimačio (2D) piešimo režimais. Išskyrus išgaubtą, paprastą OpenGL® daugiakampį, dauguma formų, turinčių daugiau nei tris viršūnes, galiausiai bus suskaidomos į trikampius per procesą, vadinamą teseliacija, o tai gali turėti dramatiškų nepageidaujamų padarinių scenai.

Vienintelis OpenGL® daugiakampis, kurį galima nubrėžti natūraliai, nereikalaujant teseliacijos, yra žinomas kaip paprastas daugiakampis. Šio tipo forma vadovaujasi kai kuriomis labai paprastomis taisyklėmis. Šonai turi būti išgaubti, tai reiškia, kad viršūnėse nesudaro mažesnių nei 90° kampų. Jokios briaunos negali kirsti viena kitos ir bet kurios tik dvi linijos gali susidurti bet kurioje viršūnėje. Tai apriboja paprastą daugiakampį iki 2D savarankiškos formos, tokios kaip kvadratas arba aštuonkampis, nes jei jis būtų trimatis (3D), kai kuriose viršūnėse susidurtų daugiau nei dvi linijos.

Konstruojant labai sudėtingą OpenGL® daugiakampį, dažnai lengviau sukurti objektą išorinėje 3D modeliavimo programoje. Tai ne tik leidžia sukurti patogesnę, vizualinę aplinką, kurioje būtų galima statyti objektą, bet ir papildoma nauda, ​​nes dizaineris gali kontroliuoti, kaip formuojamos formos, kad jos nesukeltų problemų, kai pateikiamos. Arba daugiakampis gali būti sukurtas procedūriniu būdu, naudojant algoritmus, kurie nubrėžia viršūnes pagal šabloną, kaip tai galima padaryti norint sukurti spiralės arba spiralės raštą.

Kiekvienas OpenGL® daugiakampis turi veidą, vientisą sritį formos linijų viduje. Nors šį elgesį galima pakeisti, paprastai kiekvienas daugiakampis matomas tik tada, kai jo veidas yra nukreiptas į žiūrėjimo kamerą. Jei daugiakampis nukreiptas neteisingai, jis gali tapti nematomas, atsižvelgiant į atvaizdavimo režimą.

Kiekvienas OpenGL® daugiakampis taip pat turi reikšmę, žinomą kaip normalioji. Normalus yra naudojamas apibrėžti kryptį, į kurią nukreiptas daugiakampio paviršius. Net jei daugiakampis yra aiškiai tam tikru kampu ir tam tikroje padėtyje, paviršiaus normalus gali padėti sukurti specialius tekstūros efektus arba imituoti fizines savybes, kurios nėra vienodos. „OpenGL®“ daugiakampio normalioji vertė gali būti nustatyta bet kokia, net ir neigiama verte, nors rezultatai gali būti nenuspėjami.