我使用這個片段着色器:的OpenGL - GLSL着色器,alpha混合
#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。
現在的問題是,我通過在阿爾法值不會影響任何東西..
,我希望它..
究竟是什麼你想要它影響(它看起來像你期望融合發生在你的片段着色器通過設置out_Color兩次......)?順便說一下(這是用於混合的值,而不是pass_Color.a),它真的是您感興趣的紋理(texture1,pass_TextureCoord).a * pass_Color.a的值。 –
你是什麼意思?在紋理()調用.a不編譯 – Gopgop
我的意思是隻有alpha分量影響混合。並且您將紋理的alpha分量乘以pass_Color.a的alpha分量。這是兩者相乘的結果,它決定了你的片段如何混合。 –