Što su OpenGL® međuspremnici?

OpenGL® međuspremnici su područja u memoriji računala koja se koriste za pohranu nizova informacija tako da im se može pristupiti vrlo brzo i jednostavno bez potrebe za ponovnim izračunavanjem podataka svaki put. Iako su, kao iu normalnom računalnom programiranju, OpenGL® međuspremnici u osnovi samo uzastopni blokovi dodijeljene računalne memorije, sam OpenGL® zapravo strukturira međuspremnike unutar programa definirajući koja će se vrsta informacija čuvati unutar međuspremnika kako bi se mogle koristiti određene optimizacije. Postoji nekoliko tipova međuspremnika OpenGL® uključujući međuspremnike okvira, međuspremnike piksela i međuspremnike vrhova da spomenemo samo neke. Jedna od važnih značajki međuspremnika pod OpenGL®-om je da se mogu pohraniti u područja memorije gdje pristup informacijama unutar međuspremnika može biti brži nego inače. Predviđena količina upotrebe za međuspremnik OpenGL® može pomoći u određivanju gdje je međuspremnik zapravo pohranjen, s upotrebom definiranom deklariranjem međuspremnika kao statičkog, dinamičkog ili stream.

Jedna od prednosti korištenja OpenGL® međuspremnika je ta što se mogu smjestiti u memoriju kojoj se vrlo brzo pristupa. Važne vrste međuspremnika, kao što su međuspremnici okvira, mogu se zapravo postaviti izravno u memoriju grafičke kartice koja se koristi. To znači da se informacije mogu prenijeti izravno iz međuspremnika u grafičku procesorsku jedinicu (GPU) bez potrebe da putuju s jedne fizičke hardverske ploče na drugu. Premještanje neobrađenih informacija, kao što je unaprijed generirani zaslon unutar međuspremnika okvira, na drugu memorijsku lokaciju bez ikakve vrste obrade je tehnika poznata kao blijetanje i jedan je od najbržih načina premještanja informacija u memoriji.

Postoji nekoliko vrsta OpenGL® međuspremnika, iako je svaki zapravo samo blok memorije. Jedan od najčešće korištenih naziva se framebuffer. Framebuffer sadrži informacije potrebne za prikaz trenutnog okvira na uređaju za prikaz. Informacije unutar međuspremnika okvira poredane su na isti način kao i memorija koja se koristi za kontrolu onoga što monitor prikazuje. To znači da, ako se framebuffer nalazi na grafičkoj kartici, tada se slika može gotovo trenutno prenijeti na ekran, iako je potrebno vrijeme da se scena prvo pretvori u međuspremnik.

Druge vrste OpenGL® međuspremnika, kao što je međuspremnik vrhova, mogu sadržavati čitav niz informacija. Ove vrste međuspremnika koriste se za čuvanje uzastopnih blokova informacija kojima bi se moglo pristupiti ili ih treba mijenjati mnogo puta svake sekunde. Osim toga, sami međuspremnici OpenGL® često se mogu proslijediti kao argumenti funkcijama koje mogu iskoristiti prednost uređenog stanja međuspremnika i vrlo brzo izvršiti izračune.