Brenta Engine is a simple 3D graphics engine written in modern C++/OpenGL using a hybrid node-graph and Entity Component System architecture.
Check out DESIGN.md for an overview of the engine's architecture, and GUIDE.md for an introduction to its API.
- configurable rendering pipeline
- node graph
- ECS
- lua node scripting
- hot reloading
- GPU particles
- central asset management (fonts, textures, meshes...)
- point and directional lights
- GUI using ImGui
- signals
- skyboxes
- window management
- post processing
- audio loading and playback
- input management with callbacks
- powerful logging
- openGL RAII abstractions
- custom standard library
- lots of examples
To get a detailed look at the engine, please visit the website and code documentation.
The engine also features the following sub projects:
- oak: feature-rich, thread-safe, Brenta Engine's logger.
- viotecs: the engine's official ECS.
- tenno: custom standard library
- valFuzz: multi-threaded testing and fuzzing library for the engine.
- san7o.github.io/Brenta-Engine/: html website
The engine can be used as a library, there are also many examples that you can build. Follow the BUILD document to get started.
The engine is licensed under MIT license.



