canvas is a general purpose rendering library based on OpenGL. It uses glfw for windowing and glad as an OpenGL loader.
A simple example is pseudo code:
Renderer renderer;
VertexDefinition def;
def.addAttribute(ComponentType::Float32, ca::ComponentCount::Three);
auto vertexBuffer = renderer.create_vertex_buffer(def, vertices, 6);
auto program = renderer.create_program(ShaderSource{vs}, ShaderSource{fs});
renderer.draw(DrawType::Triangles), 6, program, vertexBuffer);
See examples/Minimal/Minimap.cpp for more detailed example.