Хорошо,
Я новичок в 3D-графике, и хочу оживить отдельные конкретные вершины в модели (НЕ целое преобразование модели). Мой script в значительной степени основан на учебнике 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