Поскольку вы не можете, как правило, читать / записывать в кадровый буфер в одной и той же операции (кроме простого смешивания), вам необходимо выполнить рендеринг в текстуры с использованием FBO: s (FrameBufferObject), а затем выполнить различную обработку для них, затем сделайте последний проход на настоящий кадровый буфер.
Это основная часть, которую вам нужно понять. Учитывая это, вы можете нарисовать свое «дерево рендеринга» на бумаге, то есть, какие части сцены идут, где и каковы ваши эффекты, их входные и выходные данные.
С этого момента вы просто визуализируете один или несколько больших квадов, покрывающих весь экран, с помощью специального фрагментного шейдера, который выполняет ваш эффект, используя текстуры в качестве входных данных и один или несколько объектов кадрового буфера в качестве выходных.