Это вопрос в Processing.js
Для детального объяснения: OpenGL и OpenGL ES имеют атрибуты. Все атрибуты могут извлекать значения из буферов или предоставлять постоянное значение. Кроме того, в атрибуте OpenGL 0 является специальным. Он не может обеспечить постоянное значение. Он ДОЛЖЕН получать значения из буфера. WebGL, хотя и основан на OpenGL ES 2.0, который не имеет этого ограничения.
Итак, когда WebGL работает поверх OpenGL, и пользователь не использует атрибут 0 (он настроен на использование постоянного значения), WebGL должен создать временный буфер, заполнить его постоянным значением и дать ему к OpenGL. Это медленно. Отсюда предупреждение.
Проблема в обработке - это один шейдер, который обрабатывает несколько вариантов использования. Он имеет атрибуты для нормалей, положений, цветов и координат текстуры. В зависимости от того, что вы запрашиваете, обработка для рисования может не использовать все эти атрибуты. Например, обычно он может не использовать нормали. Нормали нужны только в обработке для поддержки огней, поэтому, если у вас нет огней, нет нормалей (я предполагаю). В этом случае они выключают нормали. К сожалению, если нормали находятся в атрибуте 0, для того, чтобы WebGL визуализировал его, он должен создать временный буфер, заполнить его постоянным значением и затем визуализировать.
Путь вокруг этого - всегда использовать атрибут 0. В случае обработки они всегда будут использовать данные позиции. Поэтому, прежде чем увязывая их шейдеры они должны назвать bindAttribLocation
// "aVertex" is the name of the attribute used for position data in
// Processing.js
gl.bindAttribLocation(program, 0, "aVertex");
Это сделает атрибут «aVertex» всегда используют ATTRIB 0 и так как для каждого случая использования они всегда используют «aVertex» они никогда не получите это предупреждение.
В идеале вы всегда должны связывать свои местоположения. Таким образом, вам не нужно запрашивать их после ссылки.
предоставленная ссылка не работает в firefox, по-видимому, из-за политики безопасности. он запускается в Chrome без каких-либо предупреждений. –
Возможно, вы захотите сообщить об этом в обработчике проблем обработки. Js, https://processing-js.lighthouseapp.com/projects/41284-processingjs/overview –