Framebuffer Object


Frame buffer object (FBO) — расширение архитектуры OpenGL для гибкой закадровой отрисовки, включая отрисовку в текстуру. Замена цели вывода с экранного буфера на FBO, может быть использована для применения всевозможных фильтров и эффектов пост-обработки. Это аналог render targets model в DirectX. Оно используется в OpenGL для большей эффективности и простоты использования. FBO не требует создания и переключения контекстов отрисовки, которые зависят от платформы, а также это более быстрая операция по времени, по сравнению с pbuffer[1].

Оно имеет два основных направления использования: пост-обработка полученного изображения и объединение различных сцен. К примеру:

Для использования FBO, создается его экземпляр. После этого идет несколько подключений, одно из них это выбор получателя, либо текстуры, либо render buffer.