Хорошо,
Я новичок в 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