当前位置: 首页 > 知识库问答 >
问题:

alpha混合模式

吴修洁
2023-03-14

我正在尝试复制混合模式。目前我已经重新创建了一个屏幕混合模式,但它似乎不能很好地工作与透明图像。

我有两种纹理

图1(前景)

图片2(背景)

我得到的结果是

计算机着色器代码

#pragma kernel Blend

RWTexture2D<float4> Result;

Texture2D<float4> TopLayer;
Texture2D<float4> BottomLayer;

[numthreads(8, 8, 1)]
void Blend(uint3 id : SV_DispatchThreadID)
{
    if (TopLayer[id.xy].w == 0 && BottomLayer[id.xy].w > 0)
    {
        Result[id.xy] = BottomLayer[id.xy];
    }
    else if (BottomLayer[id.xy].w == 0 && TopLayer[id.xy].w > 0)
    {
        Result[id.xy] = TopLayer[id.xy];
    }
    else if (BottomLayer[id.xy].w == 0 && TopLayer[id.xy].w == 0)
    {
        Result[id.xy] = float4(0, 0, 0, 0);
    }
    else
    {
        float alpha_final = BottomLayer[id.xy].w + TopLayer[id.xy].w - BottomLayer[id.xy].w * TopLayer[id.xy].w;

        float4 tex = 1 - (1 - TopLayer[id.xy]) * (1 - BottomLayer[id.xy]);

        Result[id.xy] = float4(tex.x, tex.y, tex.z, alpha_final);
    }
}

我如何将图像与不同的阿尔法正确地混合在一起?

共有1个答案

颛孙兴旺
2023-03-14

与alpha通道混合需要使用alpha值加权。

我以前没有想过如何在屏幕混合情况下适当地加权,这是一个乘法组合。我认为像加权几何均值那样做是有意义的:html" target="_blank">https://en.m.wikipedia.org/wiki/weighted_geometric_mean):将乘法数提高到相应权重(alpha值)的次方,然后将结果提高到权重和的倒数的次方。因为我们想要复制两个alpha都为1:

1-(1-a)(1-b)

其中没有平方根,我们将alpha值的和除以2:

1-[(1-a)WA(1-b)WB]2/(WA+WB)

输出alpha通道本身可以用同样的方式计算,或者可以是两个alpha值的简单最大值。我不知道什么更好看。

 类似资料:
  • 我环顾四周,在谷歌上搜索后,找不到这个问题的确切答案。我有一小段代码,它将点绘制到代表图像的浮点数组。我在其他地方的另一篇帖子中看到了吴小林的反走样(http://freespace.virgin.net/hugo.elias/graphics/x_wupixl.htm)这一切都是有道理的,我已经让它工作了,但是它没有解释如何处理两个粒子(或Wu像素)重叠或共享相同像素的情况。。。 我曾尝试创建另

  • Android/H5混合试验过程 在创建和编辑试验时,建议使用Chrome浏览器,以达到最佳体验。 在这部分中,我们将以优化页面上的一个标题的文案,预期提升转化为例,来说明如何使用编程模式试验。先通过一张简单的流程图了解所需的步骤,再一步步进行具体操作: 1 试验方案 一个完整的A/B 测试需要根据目前已有的用户数据进行分析判断,推断并建立假设,才能针对性的做出改变和调整,根据具体需求,构建产品A

  • iOS/H5混合编程试验过程 在创建和编辑试验时,建议使用Chrome浏览器,以达到最佳体验。 在这部分中,我们将以优化页面上的一个标题的文案,预期提升转化为例,来说明如何使用编程模式试验。先通过一张简单的流程图了解所需的步骤,再一步步进行具体操作: 1 试验方案 一个完整的A/B 测试需要根据目前已有的用户数据进行分析判断,推断并建立假设,才能针对性的做出改变和调整,根据具体需求,构建产品A/B

  • 我正在尝试制作一个简单的Pygame应用程序,其中一些颜色与它们下面的颜色混合。以下是我的代码: 代码列表1: 代码应该使黄色矩形与橙色矩形混合,蓝色矩形与绿色矩形混合。相反,我从中得到了一些东西: 对此: 正如你所看到的,黄色和蓝色矩形不仅与红色矩形(屏幕表面)相融合,而且还为橙色和绿色矩形开了一个洞,这样我们就可以通过它们看到红色矩形。

  • 1)概述 正太分布也叫高斯分布,正太分布的概率密度曲线也叫高斯分布概率曲线_。_ GaussianMixtureModel(混合高斯模型,GMM)。 聚类算法大多数通过相似度来判断,而相似度又大多采用欧式距离长短作为衡量依据。而GMM采用了新的判断依据:概率,即通过属于某一类的概率大小来判断最终的归属类别。 GMM的基本思想就是:任意形状的概率分布都可以用多个高斯分布函数去近似,也就是说GMM就是

  • 选项栏中指定的混合模式控制图像中的像素如何受绘画或编辑工具的影响。在显示混合模式的效果时,请依据以下几种颜色: 基色是原始图像颜色。 混合色是通过绘画或编辑工具应用的颜色。 结果色是混合后得到的颜色。 混合模式说明 从选项栏的“模式”弹出式菜单中进行选取。 注意: 在“混合模式”弹出菜单中,滚动查看各个选项,以了解它们在图像上的外观效果。Photoshop 会在画布上显示混合模式的实时预览效果。