Skip to content

Shturm0weak/Pengine-1.0

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pengine

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

Features

  • 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

Used Libraries

  • GLFW
  • GLEW
  • ImGui
  • Box2D
  • Lua
  • OpenAL
  • BulletPhysics
  • Assimp

Instalation

  • 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 console cmd.exe as premake5.exe vs2019, by default works for vs2019 but can also be compiled for different versions by replacing vc142 with the correct one in premake5.lua.
  • Open PengineEngine.sln, set SandBox 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 in Vendor/OpenAL.
  • Also you may need to install Visual C++ Redistributable.