The Framebuffer objek adalah tidak benar-benar buffer, tetapi obyek aggregator yang berisi satu atau lebih lampiran, yang oleh giliran mereka, adalah buffer yang sebenarnya. Anda dapat memahami Framebuffer sebagai struktur C di mana setiap anggota adalah penunjuk ke buffer. Tanpa lampiran apa pun, objek Framebuffer memiliki jejak yang sangat rendah.
Sekarang setiap buffer yang dilampirkan ke Framebuffer dapat berupa Renderbuffer atau tekstur .
The renderbuffer adalah penyangga yang sebenarnya (array byte, atau bilangan bulat, atau piksel). The renderbuffer toko nilai piksel dalam format asli, sehingga dioptimalkan untuk offscreen rendering. Dengan kata lain, menggambar ke Renderbuffer bisa jauh lebih cepat daripada menggambar ke tekstur. Kekurangannya adalah bahwa piksel menggunakan format asli, tergantung pada implementasi, sehingga membaca dari Renderbuffer jauh lebih sulit daripada membaca dari tekstur. Namun demikian, begitu Renderbuffer dilukis, orang dapat menyalin kontennya langsung ke layar (atau Renderbuffer lain , saya kira), sangat cepat menggunakan operasi transfer piksel. Ini berarti Renderbuffer dapat digunakan untuk mengimplementasikan pola penyangga ganda yang Anda sebutkan secara efisien.
Renderbuffers adalah konsep yang relatif baru. Sebelum mereka, Framebuffer digunakan untuk membuat tekstur , yang bisa lebih lambat karena tekstur menggunakan format standar. Masih dimungkinkan untuk membuat tekstur, dan itu cukup berguna ketika seseorang perlu melakukan beberapa lintasan melewati setiap piksel untuk membangun adegan, atau untuk menggambar adegan di permukaan adegan lain!
Wiki OpenGL memiliki halaman ini yang menunjukkan lebih banyak detail dan tautan.