lmgl 1.0.0
A lightweight OpenGL graphics engine library written in C++
Loading...
Searching...
No Matches
LMGL

Introduction

LMGL is a modern C++ graphics library built on OpenGL, providing:

  • PBR rendering with shadow mapping
  • Scene graph with frustum culling
  • Asset loading (models, textures)
  • 2D UI system with JSON-based loading
  • Easy-to-use API

Quick Start

#include <lmgl/lmgl.hpp>
int main() {
using namespace lmgl;
auto& engine = Engine::get_instance();
if (!engine.init(1280, 720, "My Game")) {
return -1;
}
auto scene = std::make_shared<Scene>();
auto camera = std::make_shared<Camera>();
engine.run([&](float dt) {
scene->render(camera);
});
engine.free();
return 0;
}
static Engine & get_instance()
Get the singleton instance of the Engine.
Definition engine.cpp:10
Master include header for LMGL - Include this for most common functionality.
Namespace for scene-related classes and functions.
Definition camera.cpp:7
Forward declarations for Assimp Material structure.
Definition model_loader.cpp:12

Modules

  • Core - Engine and lifecycle management
  • Scene - 3D scene graph and rendering
  • Assets - Model and texture loading
  • UI - 2D user interface system
  • Renderer - Low-level rendering primitives