Što je OpenGL® Quad?

OpenGL® četverokut, ili četverokut, u računalnom programiranju i grafici je trodimenzionalni (3D) oblik, koji se također naziva poligon, koji ima četiri strane i četiri točke. Svaka 3D točka koja predstavlja jedan kut OpenGL® quad-a poznata je kao vrh i definirana je s tri broja koja se odnose na njezin koordinatni položaj u virtualnom prostoru. Vrhovi quad-a ne moraju slijediti nikakve stvarne smjernice, osim što ih moraju biti četiri; inače je oblik poznat kao poligon, trokut ili linija ovisno o stvarnom broju. Većina digitalnih slika je zapravo pravokutna, tako da OpenGL® quad može biti koristan oblik jer se slika može preslikati teksturom na površinu bez velike količine izobličenja i bez potrebe za složenim tehnikama mapiranja tekstura. Međutim, korištenje OpenGL® quad-a ima svoje izazove, a brojni programeri predlažu potpuno izbjegavanje njihove upotrebe.

Jedna od glavnih upotreba OpenGL® quad-a je crtanje dvodimenzionalne (2D) grafike unutar 3D okruženja. To se može učiniti kako bi se statičko korisničko sučelje preklopilo na 3D scenu ili za emulaciju 2D grafike s OpenGL®-om. Iako je OpenGL® dizajniran za renderiranje složene 3D grafike, često se koristi u 2D grafičkim aplikacijama zbog optimizacije i fleksibilnosti sučelja apstraktnog programiranja (API). Četvorka postaje vrlo važna u renderiranju 2D grafike, jer je prirodan 3D prikaz digitalne slike, što znači da se quad može proporcionalno točno podudarati s dimenzijom slike. Nakon što se proporcije poklope, slika se može mapirati teksturom ili projicirati na površinu quad-a bez ikakve vrste izobličenja, omotača ili međuprostora.

Prednost korištenja OpenGL® quad-a, prema nekim programerima, je u tome što je lakše razmišljati o tome kako se četverokuti uklapaju zajedno, za razliku od vizualizacije kako se trokuti uklapaju zajedno. To se posebno odnosi na jednostavne 3D oblike kao što je kocka u kojoj je svaka četvorka jedna strana; s trokutnom mrežom, dva trokuta se moraju kombinirati da bi se napravio četverokut koji čini jednu stranu. Kvadovima se također može lako manipulirati kako bi se stvorila perspektiva ili drugi efekti unutar okruženja koje je ili popločeno ili poravnato s mrežom.

Postoje neki nedostaci korištenja OpenGL® quad-a, uglavnom zbog algoritama koji se koriste za rasterizaciju ili renderiranje slike unutar prozora preglednika. Jedan od problema s kojima se najčešće susrećete je taj što bi renderiranje ili grafička kartica u bilo kojem trenutku mogla razbiti quad na dva trokuta u svrhu učinkovitosti. To može uzrokovati da inače glatka površina iznenada ima vidljivo izobličenje pod kutom kroz četverokut gdje se susreću rubovi trokuta.

Drugi problem koji je češći nego što se ponekad misli odnosi se na izrezivanje OpenGL® quad-a. Kada je dio quad-a izvan prozora za gledanje, izvan zaslona, ​​renderer će isječiti quad tako da se renderira samo vidljivi dio. To znači da će quad biti geometrijski izrezan. Ako je četverokut pretvoren u dva trokuta prije izrezivanja, tada svaki trokut postaje četverokut, a svaki od tih četverokuta se pretvara u dva trokuta. To dovodi do situacije u kojoj se ošišani četverokut odjednom sastoji od četiri trokuta umjesto jednog glatkog četverokuta.

Složenost i nepredvidljivost pretvaranja četverokuta u trokute dovodi do nepoželjnih rezultata. To uključuje izobličenja u teksturama, netočnosti ili artefakte povezane s osvjetljenjem vrhova, a ponekad i nedostajuće površine poligona. Iz tih razloga, neki programeri uopće izbjegavaju korištenje quadova.