【问题标题】:Why is alpha blending so expensive?为什么阿尔法混合如此昂贵?
【发布时间】:2013-04-22 00:03:20
【问题描述】:

根据我刚开始使用 OpenGL 的经验,我发现 Alpha 混合对性能的影响尤其明显。我不会展示任何代码示例,因为它不是特别相关。我只是对为什么在绘制片段时精确地进行 alpha 混合是一种昂贵的措施感兴趣。显然这是一个额外的操作,而不是仅仅将片段着色器输出写入像素,但是谁能详细说明这个操作到底是什么?我知道我可以筛选官方文档,但我正在寻找一个简单明了的解释。

【问题讨论】:

    标签: opengl alphablending


    【解决方案1】:

    Alpha 混合需要read + compute + write 每个像素,而不是简单的write。公式是

    new_value = old_value * (1 - alpha) + color * alpha
    

    这当然比做起来难多了

    new_value = color
    

    【讨论】:

    • 如果您将非 alpha 混合视为“读取 + 写入”,这不正确吗?您必须从源代码中读取值!
    • @WagnerPatriota:那么当使用 alpha 混合时,操作是read+read+write
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-12
    • 2011-05-03
    • 1970-01-01
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多