Как включить матрицу модели в VBO?

Я хочу отправить список буферов (в графический процессор / вершинный шейдер), который содержит информацию о положении вершины, положении в мире, цвете, масштабе и повороте.

Если у каждого из моих трехмерных объектов есть информация, связанная с преобразованием в матрице, как я могу передать этот массив матриц (в дополнение к другим данным вершин) в GPU через VBO?

обновленный Пожалуйста, извините за любые опечатки:

// bind & set vertices.
gl.bindBuffer(gl.ARRAY_BUFFER, vertexBuffer);
gl.vertexAtribPointer(a_Position, 3, gl.FLOAT, false, stride, 0);

// bind & set vertex normals.
gl.bindBuffer(gl.ARRAY_BUFFER,, vertexNormalsBuffer);
gl.vertexAttribPointer(a_Normal, 3, gl.FLOAT, false, stride, 0);

// becaue i cant pass in a model matrix via VBO, im tryng to pass in my world coordinates.
gl.bindBuffer(gl.ARRAY_BUFFER, worldPositionBuffer);

// not sure why i need to do this, but most tutorials i've read says to do this.
gl.bindBuffer(gl.ARRAY_BUFFER, null);

// bind & draw index buffer.
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, vertexIndexBuffer);
gl.drawElements(gl.TRIANGLES, vertexIndexCount, gl.UNSIGNED_SHORT, 0);

Обратите внимание, что эти буферы (vertexBuffer, vertexNormalsBuffer, worldPostiionBuffer, vertexIndexBuffer) представляют собой объединение всех соответствующих трехмерных объектов в моей сцене (которые я рендерил один за другим с помощью атрибутов / униформ - наивный подход, который намного проще и легче понять, но ужасно медленный для объектов 1000).

Ответы на вопрос(2)

Ваш ответ на вопрос