A C++ framework built on top of OpenGL that makes the boilerplate disappear.
A Window handles creation, input, vsync, and frame timing in
one constructor call. A Shader loads, compiles, and links from
two file paths - and its templated SetUniform picks the right
GL call automatically. A VertexArray eliminates all stride and
offset math: just call PushLayout<type>(count) per attribute.
Full collision detection across 12+ shapes with every cross-type
Intersects() pair implemented. Camera3D, input, clock, profiler,
SSBO, textures - single framework for both 2D and 3D. The long-term goal:
a complete, sellable game development toolkit.
// Create window
gl::Window window(1280, 720, "My Game", gl::Mode::Mode3D);
// Load shader
gl::Shader shader("vert.glsl", "frag.glsl");
// Define vertex layout - no stride math, ever
gl::VertexArray vertices(gl::PrimitiveType::Triangles);
vertices.PushLayout<float>(3); // position
vertices.PushLayout<float>(3); // color
vertices.Append({ ... });
vertices.Draw();
window.Display(); // That's it.