Если вы действительно хотите это сделать, взгляните на OpenGL Framebuffer Objects .FBOs являются "закадровыми" целями рендеринга.Все это означает, что вместо того, чтобы ваша картинка появлялась на вашем дисплее, вы рендерили ее в другое место - FBO.Прежде чем вы сможете сделать это, вы должны создать и настроить FBO.Частью этой конфигурации является добавление цветового вложения - буфера для хранения информации цвета каждого пикселя отрендеренного изображения.Может быть, вы остановились на этом, или, может быть, вы также добавили вложение глубины.Если вы визуализируете трехмерную геометрию и хотите, чтобы она выглядела правильно, у вас, скорее всего, будет , чтобы добавить это вложение глубины.
На самом деле это хороший эксперимент.Напишите небольшую программу OpenGL, которая отображает на экране простой 3D-куб.После того, как у вас это получится, измените ваше назначение рендеринга на FBO, которое вы настроите с только цветным вложением.Вероятно, это будет выглядеть не совсем правильно, поскольку в OpenGL нет места для хранения информации о глубине во время рендеринга.Boom!Все получает одинаковую глубину.Теперь добавьте привязку глубины к своему FBO и посмотрите, как меняется рендеринг.
Как только вы считаете, что кадровый буфер экрана является по умолчанию FBO с начальной настройкой, становится ясно, что кадровый буфер состоит изнесколько буферов.