我即将将我所有的渲染从“旧”opengl 移植到 glsl。
现在我有一个具有不同纹理的网格,所以在“旧”gl 中我只是使用 bindTexture 来更改纹理。我想,我仍然需要这样做,但是缺少一些东西,因为我的一切似乎都只用第一个纹理渲染。
uniform sampler2D tex;
void main() {
gl_FragColor = tex2D(tex, gl_TexCoord[0].st);
}
“tex”是我这样放在 glsl 中的纹理名称:
int loc = glGetUniformLocationARB(id, "tex");
glUniform1iARB(loc, 0);
注意:我不是在谈论多重纹理!:-)