Я изучаю WebGL, выполняя простой рисунок: горизонтальная линия и вертикальная линия, альтернативно каждые 10 кадров (т.е. 10 кадров отображают горизонтальную линию, затем следующие 10 кадров отображают вертикальную линию).Я получил это, сохранив счетчик в js-коде, а затем назначил вершинному шейдеру координаты для каждого кадра.Есть ли способ позволить программе WebGL обрабатывать этот счетчик вместо js?Можно ли один раз передать 4 точки (из 2 строк) программе WebGL и заставить ее обрабатывать подсчет с помощью некоторой переменной, которая сохраняется в каждом главном взаимодействии?
Я надеюсь, что смогу продемонстрировать лучше с помощью приведенного ниже кода.Переменная-счетчик - это то, на что я надеюсь
attribute vec3 coordinates;
int counter = 0;
void main(void) {
counter = counter + 1;
if (counter < 10){
gl_Position = vec4(coordinates[0], coordinates[1], coordinates[2], 1.0);
} else {
gl_Position = vec4(coordinates[3], coordinates[4], coordinates[5], 1.0);
}
if (counter >= 20){
counter = 0;
}
}
Если это невозможно, скажите, пожалуйста, как решить эту проблему?Является ли прохождение правильных вершин из js-кода правильным?
Большое спасибо за ваше внимание.Любая помощь будет оценена.