我用opengl中的碎片着色器绘制到一个纹理。我将颜色设置为100%红色,不透明度为50%,但当我读取这个颜色时,我发现它不再是100%红色。
同样的情况在gimp中也可以发现。我选择了100%的红色,但是用50%的不透明度来画,当我使用颜色选择器工具时,它告诉我红色只有80%。
有什么方法可以在opengl es 2.0中保留颜色值吗?
颜色是通过修改 弯曲 功能和操作。你必须禁用混合。
没有不透明度,只有一个alpha通道。阿尔法通道和混合功能定义了源颜色与目标缓冲区中的颜色的混合(混合)方式。因此,如果启用混合功能,那么最终的颜色等于源色。如果禁用混合功能,则颜色和alpha通道将被复制到目标区域,而不需要进行任何操作。