This question, где ОП сообщал предупреждение, выдаваемое при выполнении инструкции gl.enableVertexAttribArray(shaderProgram.textureCoordAttribute);
, заставил меня подумать: что, если я хочу иметь сцену с двумя (предположим: плоскими) фигурами в ней, один с текстурой и один с однородным цветом? В фрагмент шейдера main
, если я раскомментировать вторую команду и закомментировать первую, так как:WebGL: используйте как текстурные, так и цветовые буферы
void main(void) {
//gl_FragColor = vColor;
gl_FragColor = texture2D(uSampler, vec2(vTextureCoord.s, vTextureCoord.t));
}
предупреждение по-прежнему выдаются, но на этот раз в отношении к инструкции gl.enableVertexAttribArray(shaderProgram.vertexColorAttribute);
.
Если я оставлю оба без ранения, он все еще жалуется на вершинный символ, потому что явно его переопределяют.
Итак, как я могу иметь оба? Можно ли использовать два разных шейдера фрагмента? Если да, то как это можно сделать?
Извините, что я был уверен, что у меня было. Благодарю. –
без проблем, спасибо :) –