void Triangles::subSetup() { glBindVertexArray(VAO); glBindBuffer(GL_ARRAY_BUFFER, VBO); glBufferData(GL_ARRAY_BUFFER, _vertices.size()*sizeof(_vertices.data()), _vertices.data(), GL_STATIC_DRAW); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO); glBufferData(GL_ELEMENT_ARRAY_BUFFER, _indices.size()*sizeof(_indices.data()), _indices.data(), GL_STATIC_DRAW); setVertexAttributes(); glBindBuffer(GL_ARRAY_BUFFER, 0); glBindVertexArray(0); }
void GLVertexBuffer::initialize(const Config& a_config) { initialize(a_config.bufferType, a_config.drawUsage); if (a_config.vertexAttributes.size()) setVertexAttributes(as_span(&a_config.vertexAttributes[0], a_config.vertexAttributes.size())); }