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和纹理之间的连接。 –