【发布时间】:2015-08-14 23:13:19
【问题描述】:
我想同时将 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);
}
我正在使用 SOIL 库来执行此操作:
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 附加到第一个,反之亦然。我该如何解决这个问题?
【问题讨论】: