Могу ли я отключить предупреждение об отключении массива атрибутов вершин 0?
Это зависит от того, что вы делаете. В общем, нет, вы не можете отключить предупреждение.
Что вы можете сделать, это IF ваш шейдер всегда использует определенный атрибут, вы можете убедиться, что этот атрибут использует местоположение 0.
Например, некоторые шейдеры часто используют позицию, другие используют позицию и нормали, третьи используют позиции и текскорд, третьи используют позиции, текскорд, нормали и цвета вершин. Может быть, у меня есть только один шейдер, и я установил цвета текскорд, нормалей и вершин на константу, если не используется, но я всегда использую позицию из буфера. В этом случае ПЕРЕД привязкой позиции программы к положению 0
gl.bindAttribLocation(someProgram, 0, 'position');
gl.linkProgram(someProgram);
Если нет атрибута, который никогда не отключался, то нет, вы не можете отключить предупреждение.
Я не уверен, какое здесь правильное решение. Я бы предпочел, чтобы предупреждения не отображались или, по крайней мере, они не появлялись, если только я не попрошу об этом, например, с какой-либо опцией в отладчике «дополнительные предупреждения WebGL». Я чувствую, что предупреждение в основном бесполезно. Конечно, приятно знать, что если я пытаюсь добиться максимальной производительности, мне не следует этого делать, но, как и тысячи других программных оптимизаций, мне часто все равно. Вы можете отправить сообщение об ошибке / проблеме / запрос функции в браузеры, если вы отправите sh, чтобы go удалился.