Skip to content

BarisPozlu/Lypant-Engine

Repository files navigation

Lypant Engine

A modern, real-time rendering engine written in C++ and powered by OpenGL, designed with physically-based rendering (PBR), high dynamic range (HDR), and advanced lighting and shadow techniques in mind.


Features

  • Physically Based Rendering (PBR)
    • Full PBR material pipeline with Image Based Lighting (IBL)
    • GGX specular prefiltering, irradiance convolution, BRDF LUT
  • HDR & Bloom
    • High Dynamic Range rendering pipeline
    • Physically correct bloom
  • Advanced Lighting
    • Directional lights with Cascaded Shadow Maps (CSM)
    • Omnidirectional shadow mapping for point lights
    • Directional shadow mapping for spot lights
  • Anti-Aliasing Options
    • MSAA2X, MSAA4X, MSAA8X, MSAA16X (Multisample Anti-Aliasing)
  • Entity Component System (ECS)
    • Modern ECS based architecture
    • Custom component scripting support
  • Editor GUI
    • Built-in ImGui interface for real-time tweaking of engine parameters
    • Dynamic scene control and live updates

Video

Engine_Demo.mp4

Screenshots

Scene 1 Scene 2 Scene 3 Scene 4


Building the Engine (Windows)

  1. Make sure you have CMake and Visual Studio 2022 installed with the MSVC compiler

  2. Clone the repository (recursive to pull submodules):

    git clone --recursive https://github.com/BarisPozlu/Lypant-Engine
  3. Go to the following directory:

    cd Lypant-Engine\build\windows\
    
  4. Run the setup script to build dependencies:

    .\SetupLibraries.bat
    
  5. Generate the Visual Studio solution:

    .\GenerateSolution.bat
    
  6. Open the generated solution file and build with Visual Studio.


Building on Other Platforms

Even though a premake binary is not provided for non-Windows platforms, the build process is still similar:

  1. Make sure you have Premake5 installed

  2. Clone the repository with submodules.

  3. Run the SetupLibraries script manually.

  4. Run premake5 yourself to generate platform-specific project files:

    premake5 gmake2    # for Linux Makefiles
    premake5 xcode4    # for macOS

About

My own 3D game engine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages