gpt4 book ai didi

OpenGL 的 glBlendFunc

转载 作者:行者123 更新时间:2023-12-05 01:10:55 26 4
gpt4 key购买 nike

OpenGL 的 glBlendFunc 中有没有办法放大目标 RGB? (即(10,50,5)到(20,100,10)

看来你唯一能做的就是添加源 rgb(乘以 <1 的一些因素)

最佳答案

如果您想将此混合函数用于所有绘制操作/所有对象(当然还有一个初始非零值),您可以做的是按指数方式解释颜色。想象一下,写入颜色缓冲区的是某个底数的指数,例如2,所以加到指数实际上将乘以 2 的幂。

然后,如果您还没有这样做,则需要引入一个后处理步骤。在那里您读取颜色值并取 2 的颜色次方,这将为您提供最终颜色。

当然,初始值必须是对数。

但是,如果您只想为一些 绘制操作增加颜色(我希望只有场景中的最后一个),您必须进一步拆分该过程:首先绘制“正常”内容,其中你使用正常的颜色混合。然后将颜色转换为对数标度(您可以为此使用单独的纹理),将其用于下一个应该乘以颜色的绘制操作(但您告诉 OpenGL 添加颜色),然后通过获取转换回线性标度电源。

当然你也可以使用e作为底数,在这种情况下你使用自然对数和exp函数。

关于OpenGL 的 glBlendFunc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15726017/

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