我打算制作一个简单的绘图工具,它支持 Photoshop 的多个图层和所有混合模式。
我正在考虑在 GPU 上进行混合(将每一层放入纹理并绘制 2 个三角形来渲染每一层)。但我不确定,是否可以使用 OpenGL 的 blendFunc / blendEquation 等实现所有混合模式。
另一种选择是将所有纹理+混合模式标志传递给一个片段着色器并按照我的意愿混合它们,但是在添加/删除某些层(sampler2D)时我将不得不重新编译FS。
所以你怎么看?是否可以?有没有更好的方法如何使用 GPU 进行混合?那么我应该现在关心它,还是应该把它全部放在 CPU 上并关心未来的增强功能?
顺便提一句。它将是使用 WebGL 的 JavaScript 程序,但我认为没关系。