A simple 2D/3D game engine.
https://www.youtube.com/watch?v=vcoNo1o5r8s
2023-03-09.23-37-25.mp4
2023-03-09.23-47-58.mp4
2023-05-22.12-04-44.mp4
- Simple Components System
- Box2D Physics
- Bullet Physics
- Thread Pool
- Audio
- RTTR(Run Time Type Reflection) for user-defined components
- Simple ingame GUI (text, button, slider, bar, list box, panel, image, animation)
- Event System
- OpenGL 4.6 support
- Lua Scripts for GameObjects (partially available, currently deprecated)
- Directional Lights
- Point Lights
- Spot Lights
- 2D/3D Normal Maps
- Bloom
- Cascade Shadow Maps
- Point Light Shadows
- Spot Light Shadows
- SSAO
- Deferred Instanced Rendering
- Forward Order Dependent Transparency Rendering
- 2D Batch Renderering
- Scriptable Materials
- GLFW
- GLEW
- ImGui
- Box2D
- Lua
- OpenAL
- BulletPhysics
- Assimp
- Download zip archive and unzip it.
- Go to
Vendor/Assimp
and build this project with cmake, run it and build it - Go to the top folder and run
premake5.exe
via consolecmd.exe
aspremake5.exe
vs2019, by default works for vs2019 but can also be compiled for different versions by replacingvc142
with the correct one inpremake5.lua
. - Open
PengineEngine.sln
, setSandBox
as StartUp project. - Build it twice, first time there will be an error due to non-existent folders.
- If it didn't run, you need to install OpenAl, run
OpenAL.exe
inVendor/OpenAL
. - Also you may need to install Visual C++ Redistributable.