Я планирую сделать простой инструмент для рисования, который поддерживает несколько слоев и все режимы наложения из Photoshop.
Я собираюсь сделать смешивание на графическом процессоре (поместить каждый слой в текстуру и нарисовать 2 треугольника для рендеринга каждого слоя). Но я не уверен, можно ли реализовать все режимы наложения с помощью blendFunc OpenGL. /blendEquation и т. д.
Другой вариант - передать все текстуры + флаги режимов наложения в один фрагментный шейдер и смешать их так, как я хочу, но мне придется перекомпилировать FS при добавлении/удалении какого-либо слоя (sampler2D).
Так что ты думаешь? Является ли это возможным? Есть ли лучшие способы использования GPU для смешивания? Так должен ли я заботиться об этом сейчас, или я должен сделать все это на процессоре и позаботиться об улучшениях в будущем?
КСТАТИ. это будет программа на JavaScript с использованием WebGL, но думаю это не имеет значения.