我在 OpenGL 中对此进行了标记,因为我认为它与该空间相关(尽管命名不同)。
我正在尝试让类似 Photoshop 的混合在使用 OpenGL(ES2?)的 Flash 11 中工作。我在使用 lighten 时遇到了特殊问题,我认为应该是:
outputColor.rgb = max(base.rgb, blend.rgb);
我相信我遇到了问题,因为我的图层具有透明度。但是,即使我预乘了我的图层,我仍然遇到问题(图像仍然太暗)。
我在这里错过了一步吗?(这是 AGAL,Adobe 的 gl 程序集)
[Shader.Fragment]
tex ft0, v0, fs0 <2d,nearest,nomip,clamp>
tex ft1, v0, fs1 <2d,nearest,nomip,clamp>
// premultiply
mul ft2, ft1.xyzw, ft1.wwww
// premultiplied values
max oc, ft0, ft2