Mis on OpenGL® Framebuffer?

Open Graphics Library® (OpenGL®) kaadripuhver on kodeerimisobjekt, mis lihtsustab puhverkodeerimist renderdamisel. OpenGL® kaadripuhvri peamine kasutusala on pildile graafiliste efektide lisamine, mis on tavaliselt graafilise disaini programmidega seotud funktsioon. Teine OpenGL®-i kaadripuhvri kasutusala on lisada pildile tekstuuri, näiteks staatilise või hägustamise. Kuigi efektid ja tekstuurid võivad iseenesest head välja näha, on kaadripuhver suhteliselt kasutu, välja arvatud juhul, kui on olemas pilt, millega saaks efekte või tekstuure siduda; muidu ei paista midagi. Kui kasutatakse kaadripuhvrit, kombineerib see mitmeid teisi puhvreid, mis muudab graafiliste ressursside koondamise tõhusamaks, kui puhvreid eraldi kasutataks.

Levinud graafilise disaini programmidel on eriefektide loend, mida saab pildile lisada, kuid sama protseduuri läbiviimine OpenGL®-is on üsna keeruline. Kui kasutatakse OpenGL® kaadripuhvrit, asetab see pildi läbi paljude varjutajate, mis on võimelised looma pikslipõhiseid efekte. See tähendab, et OpenGL®-i kujutisele saab rakendada keerulisi efekte, mis muudab efektide lisamise lihtsamaks ja muudab efektid visuaalselt ühtlaseks.

Füüsilises maailmas on palju tekstuure – peaaegu igal objektil on mingi visuaalselt eristatav tekstuur. Kui OpenGL®-i projekt peaks jäljendama tegelikkust, on tekstuuri rakendamise oskus oluline. Selles programmis on tekstuuri lisamiseks mõned meetodid, kuid OpenGL® kaadripuhver on üks lihtsamaid meetodeid. Seda objekti kasutades saab tekstuuri rakendada alale või graafilisele objektile väikese koguse koodi kaudu.

Üks OpenGL® kaadripuhvri probleem on see, et see ei saa iseenesest töötada; efektidega peab kaasnema veel üks pilt, muidu ei ilmu ekraanile midagi. Efektid ja tekstuurid rakendatakse pildile, nii et see piirang ilmneb harva. Kui kasutaja loob kaadripuhvri objekti, on oluline, et kaadripuhver ja pilt oleksid sama suurusega, vastasel juhul on alasid ilma efektide või tekstuurideta. Need kaks peavad olema ka kokku köidetud, vastasel juhul ei pruugi pilt töötamise ajal õige olla.

Teine põhjus OpenGL® kaadripuhvri kasutamiseks on see, et see kasutab samaaegselt mitut muud puhvrit. See mitte ainult ei muuda puhvrite koordineerimist palju lihtsamaks, vaid kaadripuhvri käitamiseks on vaja vähem ressursse võrreldes teiste puhvrite eraldi kasutamisega. Kasutatavad puhvrid on värvi-, indeksi-, sügavus-, šabloon- ja renderduspuhvrid.