わかった、
私は 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);
これらは最初に初期化されるため、明らかに vertices 配列を変更しても何も起こりません。そのため、スムーズに実行するのに十分な効率を維持しながら、リアルタイムで頂点を変更する最良の方法は何かと考えていました。
何らかの方法でバッファを再バインドすることは可能ですか?たとえば、アニメーションのティックごとにこのコードを再度実行しますか?
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(vertices), gl.STATIC_DRAW);
乾杯、J