Framebuffer nesnesi gerçekten de bir tampon, ancak buna göre, gerçek tampon olan bir ya da daha fazla ek içeren bir toplayıcı nesne değildir. Framebuffer'ı , her üyenin bir arabelleğe işaretçi olduğu C yapısı olarak anlayabilirsiniz . Herhangi bir ek olmadan, bir Framebuffer nesnesi çok az yer kaplar.
Şimdi ekli her bir tampon çerçeve arabellek bir olabilir Renderbuffer veya doku .
Renderbuffer gerçek bir tampon (bayt ya da tamsayılar ya da piksel dizisi) 'dir. Renderbuffer orijinal biçimde saklar piksel değerleri, bu nedenle ekran dışında işleme için optimize edilmiştir. Diğer bir deyişle, Renderbuffer'a çizim yapmak, dokuya çizim yapmaktan çok daha hızlı olabilir. Bunun dezavantajı, piksellerin yerel, uygulamaya bağlı bir format kullanmasıdır, böylece bir Renderbuffer'dan okumak bir dokudan okumaktan çok daha zordur. Yine de, bir Renderbuffer boyandıktan sonra, içeriği piksel aktarım işlemlerini kullanarak çok hızlı bir şekilde doğrudan ekrana (veya diğer Renderbuffer'a ) kopyalayabilir . Bu, bir Renderbuffer'ın bahsettiğiniz çift tampon modelini verimli bir şekilde uygulamak için kullanılabilir.
Renderbuffers nispeten yeni bir kavramdır. Onlardan önce, bir dokuya dönüştürmek için bir Framebuffer kullanıldı , bu daha yavaş olabilir çünkü bir doku standart bir format kullanır. Bir dokuya dönüştürmek hala mümkündür ve bir sahne oluşturmak için her pikselin üzerinde birden fazla geçiş yapmak veya başka bir sahnenin yüzeyine bir sahne çizmek gerektiğinde bu oldukça kullanışlıdır!
OpenGL wiki, daha fazla ayrıntı ve bağlantı gösteren bu sayfaya sahiptir.