https://github.com/lucamazzza/lmgl
A modern OpenGL Engine Library for general purpose 3D graphics applications.
https://github.com/lucamazzza/lmgl
computer-graphics computer-graphics-opengl cpp cpp17 glad glfw glfw3 glsl glsl-shader glsl-shaders library linux macos multiplaform opengl opengl4 opengl41 windows
Last synced: 4 months ago
JSON representation
A modern OpenGL Engine Library for general purpose 3D graphics applications.
- Host: GitHub
- URL: https://github.com/lucamazzza/lmgl
- Owner: lucamazzza
- License: mit
- Created: 2025-12-18T09:12:39.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-02-27T20:23:23.000Z (4 months ago)
- Last Synced: 2026-02-28T00:39:15.282Z (4 months ago)
- Topics: computer-graphics, computer-graphics-opengl, cpp, cpp17, glad, glfw, glfw3, glsl, glsl-shader, glsl-shaders, library, linux, macos, multiplaform, opengl, opengl4, opengl41, windows
- Language: C++
- Homepage:
- Size: 12.1 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README


> [!IMPORTANT]
> The project is currently under review for VR features integration
What is it?
-----------
LMGL is a Computer Graphics Library that provides an **Engine API**, allowing
to develop 3D graphics application without other external dependency.
The engine is developed using *GLFW*, that follows the 4.1 standard of *OpenGL*.
The library implements "modern" OpenGL, supporting *shaders*, *PBR* and all the
amenities common in modern 3D Graphics Engines.
Applications for this kind of library are broad; whenever you are in need to
represent something complex in 3D, write 3D-based applications like games or
simulations, or even 3D editors, you can make good use of this.
You can also provide extensions for this, to support other kinds of
application in a simpler way.
The library comes also with an example application (`sandbox/`) and some
example shaders (`shaders/`).
On what does it run?
--------------------
LMGL is developed and mantained for **macOS**, supports also *Windows* (still
work in progress) and *Linux* (testing in backlog).
There are no specific hardware requirement to run (no specific GPU), just make
sure you have the correct *drivers* installed for your GPU.
The library is built and compatible with Windows, Linux and macOS. The features
are unfortunately limited to OpenGL 4.1, given the support for macOS is crucial.
If you whish to upgrade to a later version, you can fork the repository and adapt
the engine for the new features, and set the State Machine own version to `4 x`.
Documentation
-------------
The code is documented using *Doxygen*, that is automatically deployed on
[this page](https://lucamazzza.github.io/lmgl), and is constantly updated for
every version released.
If something goes wrong...
--------------------------
Check that:
* All the needed dependencies are included as submodule, otherwise run
```
git submodule update --init --recursive
```
* Your compiler supports C++17