gpt4 book ai didi

ios - 复制 iOS kCGBlendModeSoftLight 混合

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:38 25 4
gpt4 key购买 nike

我正在尝试使用着色器复制 CoreGraphics kCBBlendModeSoftLight 混合。 (我已经实现了一些其他 CG 混合模式)

问题是虽然有很多关于 Photoshop 柔光混合的(不同)描述,但我对 CoreGraphics 的版本很感兴趣。

有谁知道 CG 中用于确定混合结果的确切公式?

最佳答案

对于 CG,它没有明确记录,但是 the documentation for Core Image's CISoftLightBlendMode filter说:

The formula used to create this filter is described in the PDF specification, which is available online from the Adobe Developer Center.

Here's the page you can get the PDF Reference from.给出的公式是(在伪代码中,由我从 PDF 中的数学语法转录而来,同时希望我没有弄乱它的任何部分):

D(float x) =
x ≤ 0.25
? ((16.0 × x - 12.0) × x + 4.0) × x
: sqrt(x)

softlight(__color backdrop, __color source) =
source ≤ 0.5
? backdrop - (1.0 - 2.0 × source) × backdrop × (1.0 - backdrop)
: backdrop + (2.0 × source - 1.0) × (D(backdrop) - backdrop)

(对于 GLSL,您将使用 vec4 而不是 CIKL 的 __color。)

该部分的介绍指出,其定义使用特定符号的混合模式是“可分离的”,这意味着该公式分别应用于组件。柔光混合模式是其中一种混合模式,因此您不需要计算亮度值或类似的东西。

关于ios - 复制 iOS kCGBlendModeSoftLight 混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15745548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com