MiniEngine
A small C++20 OpenGL renderer with forward and deferred paths.
A learning engine that renders the same scene two ways, forward and deferred, switchable at runtime, with instanced drawing for thousands of objects in one draw call.
01
What it does
MiniEngine is where I learn how renderers work under the frameworks. The scene is lit with Blinn-Phong shading in a forward pass, or split into a G-buffer and lit in a full-screen pass, and a key switches between the two at runtime.
- Instanced rendering: large cube grids in a single draw call, for performance testing.
- A procedural skybox, textured materials and an optional ground grid.
- A scene of entities with transforms, materials and mesh references.
- A first-person camera with mouse look, WASD, zoom and adjustable speed; wireframe, VSync and FPS logging toggles.
02
Build
About 1,800 lines of C++20, plus the GLSL shaders. CMake fetches GLFW, GLAD, GLM and stb_image on the first configure, so the project builds with MSVC, GCC or Clang without manual setup.
Next step
Have a project in mind? Tell me what it needs to do.
A few sentences are enough to start. You get an honest answer: a rough estimate, the questions that matter, or a recommendation for someone better suited.