Vad är en OpenGL® Framebuffer?
Open Graphics Library® (OpenGL®) framebuffer är ett kodande objekt som förenklar buffertkodning för rendering. En primär användning för OpenGL® framebuffer är att lägga till grafiska effekter till en bild, vilket vanligtvis är en funktion som är associerad med program för grafisk design. En annan användning av OpenGL® framebuffer är att lägga till textur i en bild, t.ex. statisk eller suddig. Även om effekter och strukturer kan se bra ut på egen hand, är framebuffern relativt värdelös om det inte finns en bild som man kan binda effekter eller strukturer; annars kommer ingenting att dyka upp. När framebuffern används kombinerar den flera andra buffertar, vilket gör att de grafiska resurserna blir mer effektiva än om buffertarna användes separat.
Vanliga grafiska designprogram har en lista över specialeffekter som kan läggas till i en bild, men att utföra samma procedur i OpenGL® är ganska komplicerat. När OpenGL® framebuffer används, placerar den en bild genom många skuggare som kan skapa per-pixel-effekter. Detta innebär att komplexa effekter kan tillämpas på OpenGL®-bilden, vilket gör det lättare att lägga till effekter och för att dessa effekter ska vara visuellt konsistenta.
Det finns många strukturer i den fysiska världen - nästan varje objekt har en visuell distinkt struktur. Om ett OpenGL®-projekt är tänkt att efterlikna verkligheten, är det viktigt att kunna tillämpa en struktur. Det finns några metoder för att lägga till en struktur i detta program, men OpenGL® framebuffer är en av de enklaste metoderna. Genom att använda detta objekt kan en struktur appliceras på ett område eller ett grafiskt objekt via en liten mängd kod.
Ett problem med OpenGL® framebuffer är att den inte kan fungera av sig själv; det måste finnas en annan bild som följer med effekterna eller så kommer ingenting att visas på skärmen. Effekterna och strukturerna tillämpas på en bild, så denna begränsning presenterar sig sällan. När en användare skapar ett framebuffer-objekt är det viktigt att framebuffern och bilden har samma storlek eller så kommer det att finnas områden utan effekter eller strukturer. De två måste också vara bundna eller annars kan bilden inte vara korrekt under drift.
En annan anledning till att använda OpenGL® framebuffer är att den använder flera andra buffertar samtidigt. Inte bara gör det mycket lättare att samordna buffertarna, utan det krävs färre resurser för att köra framebufferten jämfört med att använda de andra buffertarna separat. Buffertarna som används är färg, index, djup, stencil och render buffertar.