heres the current code for making the buffers and all that
struct Vec3f32 final {
float x, y;
};
struct Vertex final {
Vec3f32 position;
};
Vertex positions[] = {
{ -0.5f, -0.5f },
{ 0.5f, -0.5f },
{ 0.0f, 0.5f }
};
unsigned int indices[] = { 0, 1, 2 };
vulpengine::experimental::Buffer vertexBuffer = {{
.content = std::as_bytes(std::span(positions)),
.flags = GL_NONE,
.label = "Test vertex buffer"
}};
vulpengine::experimental::Buffer indexBuffer = {{
.content = std::as_bytes(std::span(indices)),
.flags = GL_NONE,
.label = "Test index buffer"
}};
vulpengine::experimental::VertexArray vertexArray = {{
.buffers = std::array {
vulpengine::experimental::VertexArray::BufferInfo {
.buffer = vertexBuffer,
.offset = 0,
.stride = sizeof(Vertex),
.divisor = 0
}
},
.attributes = std::array {
vulpengine::experimental::VertexArray::AttributeInfo {
.size = 2,
.type = GL_FLOAT,
.relativeoffset = offsetof(Vertex, position),
.bindingindex = 0,
}
},
.indexBuffer = vulpengine::experimental::wrap_cref(indexBuffer),
.label = "Test vertex array"
}};
mMesh = {{
.vertexArray = std::move(vertexArray),
.buffers = std::array {
vulpengine::experimental::wrap_rvref(vertexBuffer),
vulpengine::experimental::wrap_rvref(indexBuffer),
},
.mode = GL_TRIANGLES,
.count = 3,
.type = GL_UNSIGNED_INT
}};```