Хорошо,
Я новичок в 3D-графике и хочу анимировать отдельные конкретные вершины в модели (НЕ преобразуется вся модель) .Мой сценарий в значительной степени основан на учебнике NEHE по webgl.В этом руководстве все вершины объекта хранятся в буфере, который инициализируется один раз при первом запуске программы.Вот код инициализации: * Примечание вершины содержат массив вершин
vertexBuffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
vertexBuffer.itemSize = 3;
vertexBuffer.numItems = parseInt(vertices.length/vertexBuffer.itemSize);
Теперь, поскольку они инициализируются в начале, очевидно, что изменение массива вершин ничего не даст.Поэтому мне было интересно, как лучше всего изменить вершины в режиме реального времени, сохраняя при этом его достаточную эффективность для бесперебойной работы.
Можно ли каким-либо образом перепривязать буфер, например, повторно запускать этот код при каждом такте анимации?
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
Приветствия, J