我正在使用此片段着色器:
#version 150 core
uniform sampler2D texture1;
in vec4 pass_Color;
in vec2 pass_TextureCoord;
out vec4 out_Color;
void main(void) {
out_Color = pass_Color;
// Override out_Color with our texture pixel
out_Color = texture(texture1, pass_TextureCoord) * pass_Color ;
}
现在给pass_Color我给出一个rgba值。我改变了alpha值。纹理是rgba,它是一个PNG文件。我使用混合模式GL_SRC_ALPHA GL_ONE_MINUS_SRC_ALPHA。
现在问题是我传入的alpha值不会影响任何内容..
我想要它..
答案 0 :(得分:0)
我最终这样做了:
vec4 tex = texture(texture1, pass_TextureCoord);
out_Color = vec4(tex.r*(pass_Color[0]),tex.g*(pass_Color[1]),tex.b*(pass_Color[2]),tex.a*(pass_Color[3])) ;
工作得很好!