C++/C# based Game Engine, fully free and open source.
- Core (C++): This is the core engine.
- PhysicsEngine (C++): The Physics engine, uses both ODE and Box2D to handle diffrent Physics contexts
- RenderingEngine (C++): Our own cross-platform Rendering Engine
- SoundEngine (C++): The Engine in charge of handling audio systems (Multibackend: OpenAL, Fmod ...)
- ScriptingEngine (C++): The main engine handeling C# scripting
- EngineCommons (C++): All of the code shared between diffrent (C++) projects.
- Launcher(C++): The main launcher. (the executable to launch the game basically)
- AassetsEngine(C++): The main engine in charge of asset controll
- EventEngine(C++): Our own multi-purpose event system
- SceneEngine(C++): The engine in charge of loading pre-defined scenes (states) (This engine contain things such as: Object and component instancing, prefabs ...)
- LowpEngine(C#): This is our C# Api all games made with the engine will have to drive from this api to comunicate/use engine based features
Clone the project using git clone [email protected]:vrglab/LowpEngine.git
and Run the Generate
this should generate the default IDE envoirment
On windows running the Generate.bat
file should by default create Visual Studio Comunity 2022
project files and using Visual Studio you should be able to just build the project.
On linux running the Generate.sh
file in the console using sh
,should by default create Gmake2
files and by running the make
command in the bash with a config=
of your chosing (you can see the configs by opening the generated Makefile), you should be able to build the project
This are all of the feature that are already fully or partially implemented into the Project
- Cross-Platform Rendering (OpenGl, Vulkan, DirectX12, Metal.)
- Asset Controll.
- Game object/Component system.
- Scene Management
- Engine Customization.
- Built in Audio system (OpenAL, Fmod, Wwise).
this are all feature i plan on supporting (that i can remember right now)
- Bash based executables.
- Customizable Asset importer.
- 2D/3D.
- 3D model loading.
- Physics 2D/3D.
- Particles.
- Indexed Rendering.
- Mesh batching.
- Builtin base components.
- Multiplatform building (Consoles, Phones, Computers).