【发布时间】:2022-01-17 06:43:35
【问题描述】:
我的纹理具有纯色背景(比如说海军蓝,#000080)和白色文本。即使纹理是具有背景和文本的单个文件,我也希望仅使文本淡出。
我准备了第二个纹理,只是纯海军蓝,没有任何文字。我想通过修改纹理的 alpha 层来“淡化”文本,直到只剩下第二个纹理(没有文本的蓝色)。
我的问题是,当我开始使前层(颜色+文本)透明时,文本会按我的预期淡出,但生成的蓝色更暗。我看到的蓝色是背景颜色蓝色(#000080),被它前面的半透明层染成深色。经过一番阅读,我似乎想为这部分修改 OpenGL 的混合模式。
我正在寻找一种可以生成的混合模式:
#000080 + #000080*tranparency = #000080
#000080 + #FFFFFF*transparency = #FFFFFF*transparency
我尝试过GL_MIN 和GL_MAX,但这些似乎不是我要在这里寻找的...
【问题讨论】: