Kaj so medpomnilniki OpenGL®?

Medpomnilniki OpenGL® so področja v računalniškem pomnilniku, ki se uporabljajo za shranjevanje zaporedij informacij, tako da je do njih mogoče dostopati zelo hitro in enostavno, ne da bi bilo treba vsakič znova izračunati podatke. Čeprav so, tako kot pri običajnem računalniškem programiranju, medpomnilniki OpenGL® v bistvu le zaporedni bloki dodeljenega računalniškega pomnilnika, OpenGL® sam dejansko strukturira medpomnilnike znotraj programa tako, da definira, katere vrste informacij bodo shranjene v medpomnilniku, tako da je mogoče uporabiti določene optimizacije. Obstaja več vrst medpomnilnikov OpenGL®, vključno z medpomnilniki okvirjev, medpomnilniki slikovnih pik in medpomnilniki vrhov, če naštejemo le nekatere. Ena od pomembnih značilnosti medpomnilnikov pod OpenGL® je, da jih je mogoče shraniti na območjih pomnilnika, kjer je lahko dostop do informacij v medpomnilniku hitrejši kot običajno. Predvidena količina uporabe za medpomnilnik OpenGL® lahko pomaga določiti, kje je medpomnilnik dejansko shranjen, pri čemer je uporaba definirana z razglasitvijo medpomnilnika kot statičnega, dinamičnega ali pretočnega.

Ena od prednosti uporabe medpomnilnikov OpenGL® je, da se lahko nahajajo v pomnilniku, do katerega je dostopen zelo hitro. Pomembne vrste medpomnilnikov, kot so okvirni medpomnilniki, se dejansko lahko vstavijo neposredno v pomnilnik uporabljene grafične kartice. To pomeni, da se informacije lahko posredujejo neposredno iz medpomnilnika v grafično procesno enoto (GPU), ne da bi morali potovati z ene fizične plošče strojne opreme na drugo. Premikanje neobdelanih informacij, kot je vnaprej upodobljeni zaslon znotraj medpomnilnika okvirja, na drugo pomnilniško lokacijo brez kakršne koli obdelave je tehnika, znana kot bliting, in je eden najhitrejših načinov za premikanje informacij v pomnilniku.

Obstaja več vrst medpomnilnikov OpenGL®, čeprav je vsak v resnici le blok pomnilnika. Eden najpogosteje uporabljenih se imenuje framebuffer. Framebuffer vsebuje informacije, potrebne za prikaz trenutnega okvirja v prikazovalni napravi. Informacije v medpomnilniku okvirja so urejene na enak način kot pomnilnik, ki se uporablja za nadzor nad tem, kaj prikazuje monitor. To pomeni, da če se okvirni medpomnilnik nahaja na grafični kartici, se lahko slika skoraj v trenutku prikaže na zaslonu, čeprav je potreben čas, da se prizor najprej dejansko upodablja v medpomnilnik.

Druge vrste medpomnilnikov OpenGL®, kot je medpomnilnik vrhov, lahko hranijo celotno zaporedje informacij. Te vrste medpomnilnikov se uporabljajo za ohranjanje zaporednih blokov informacij, do katerih bi bilo treba dostopati ali spreminjati večkrat na sekundo. Poleg tega se lahko medpomnilniki OpenGL® pogosto posredujejo kot argumenti funkcijam, ki lahko izkoristijo urejeno stanje medpomnilnika in zelo hitro izvedejo izračune.