shader 代码如下
static const char *fragmentShaderSource =
“varying highp vec2 texCoord;\n”
“uniform sampler2D gSampler;\n”
“void main() {\n”
" gl_FragColor = texture2D(gSampler, texCoord);\n"
“}\n”;
而外面往往都有如下的设置
gSampler = glGetUniformLocation(ShaderProgram, “gSampler”);
glUniform1i(gSampler, 0);
我不理解的是
gSampler 被设置成了 0. 为什么在 shader 里要用一个 sampler2D 类型存储,而不是直接用 GLuint呢