I've been throwing around the idea of writing a "Low-level Graphics Abstraction Layer" for a while now. Effectively a minimal wrapper that abstracts over OpenGL, DX 12, and Metal (and Vulkan, in the future).
The idea is that a lot of us like working with fairly low-level graphics, rather than full-blown game engines. But at the same time, nobody likes figuring out how to load up a vertex buffer for the Nth time, and very few people have the necessary background to design for multiple platforms and graphics APIs at the same time.
The core functionality would encompass a render queue abstraction, a cross-compiler to convert HLSL shaders to the shader language of each API, and an abstraction of data sources/sinks (covering textures and various other types of buffers).
Unfortunately, I haven't found the time to hunt down the necessary collaborators, and get this thing off the ground...