Используя то, что у вас есть в этом учебнике, вы можете вместо заполнения буфера uvBuffer (texCoord) со случайными значениями прокручивать через них каждый кадр. Итак, скажем, вы начинаете с УФ (0,0), УФ (0,25, 0), УФ (0, 0,25) и УФ (0,25, 0,25). Следующий кадр, вы меняете значения в uvBuffer на УФ (0,25, 0), УФ (0,5, 0), УФ (0,25, 0,25), УФ (0,5, 0,25). И так далее.
Решение 1: Имейте массив поиска со всеми возможными УФ-координатами. Затем используйте поле int, чтобы увеличить шаг каждого кадра. Поместите следующие 4 элемента во второй массив и замените содержимое буфера.
Решение 2: Храните 4 УФ-координаты в массиве и одно поле с плавающей точкой для x-координирования, одно для y-координирования. Увеличьте x-координату на 0,25 каждый кадр, y-координируйте на 0,25 каждые 4 кадра (или когда x-координируется 0) замените содержимое буфера на uv-coords, построенные из: x, x + 0,25, y, y + 0,25
Вы можете либо перестроить буфер enture, очистив его, поместив массив и перемотав его. Или вы можете использовать putFloat (int pos, float value) для замены существующих записей в буфере. Последнее, вероятно, более консервативно.
Я как-то понял, что, как бы выглядел код для этого? –
Вы можете предварительно заполнить массив со всеми возможными UV-координатами. Затем вы сохраняете int как индекс и шаг вперед в каждом кадре. Или вы можете сохранить каждый uv-коорд в качестве поплавка и увеличить их каждый кадр. Много возможностей. Реализация зависит от того, что лучше всего подходит для остальной части вашей архитектуры. – reden
ОК, поэтому в первом примере, как бы вы обновили это в методе рисования? это просто изменит массив координат, а затем вызовет uvBuffer.put (coordArray)? –