Большинство режимов наложения фотошопа основаны на режимах наложения Портера-Даффа.
Для этого необходимо, чтобы все ваши изображения (текстуры, рендер-буфер) находились в предварительно умноженном цветовом пространстве. Обычно это делается путем умножения всех значений пикселей на альфа-значение перед сохранением их в текстуре. Например. полный прозрачный пиксель будет выглядеть как черный в неумноженном цветовом пространстве. Если вы не знакомы с этим цветовым пространством, потратьте час или два, читая об этом в Интернете. Это аккуратная и хорошая концепция, которая требуется для композиций, подобных фотошопу.
В любом случае - если у вас есть изображения в этом формате, вы можете включить ЭКРАН, используя:
glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_COLOR)
Полный режим MULTIPLY невозможен с конвейером OpenGL | ES. Если вы работаете только с полностью непрозрачными пикселями, вы можете подделать его, используя:
glBlendFunc(GL_ZERO, GL_SRC_COLOR)
Результаты для прозрачных пикселей в вашей текстуре и фреймбуфере будут неверными.