0
多重紋理我想在同一時間加載2質地到我的片段着色器:與土壤
in vec2 TexCoord;
layout (location = 0) out vec4 FragColor;
uniform sampler2D tex1;
uniform sampler2D tex2;
void main() {
FragColor = mix(texture(tex1, TexCoord),texture(tex2, TexCoord), 0.3);
}
我使用土壤庫做到這一點:
GLuint tex1 = SOIL_load_OGL_texture("rock.bmp", SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID, SOIL_FLAG_INVERT_Y);
GLuint tex2 = SOIL_load_OGL_texture("lena512.bmp", SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID, SOIL_FLAG_INVERT_Y);
但是隻有第二紋理顯示出來,而不是第一個。我意識到我需要執行glUniform1i將sampler2D tex1附加到第一個,反之亦然。我如何解決這個問題?
謝謝!我遵循你的方法,第二個採樣器加載第一個紋理。還有其他必要的綁定嗎? –
Nvm,我需要使用glUniform1i和glGetUniformLocation來設置sampler2D和紋理之間的連接。 –