Skip to content

chFleschutz/aegix-engine

Repository files navigation

Aegix Engine

A small render engine developed with Vulkan in modern C++.

Screenshot 2025-03-20 095757

Screenshot 2025-03-20 100442

Features

  • Physically Based Rendering (PBR) - Realistic lighting and materials
  • GLTF & OBJ Loading - Loading of custom 3D models
  • Immediate Mode Editor UI - Editor tools using Dear ImGui and ImGuizmo
  • Entity Component System (ECS) - Efficient object management using EnTT
  • Framegraph - Multipass rendering with automatic renderpass sorting
  • Deferred Rendering - Improved lighting performance
  • HDR Rendering and Tone Mapping - Enables wider color range for more visible details
  • Physically Based Bloom - Realistic glow effect around bright areas created using convolution
  • Screen Space Ambient Occlusion (SSAO) - Enhanced depth perception
  • Mesh Shaders Pipeline - Modern geometry rendering
  • GPU Driven Rendering - Minimize CPU rendering overhead

Prerequisites

Before building ensure you have the following installed:

  • Vulkan SDK - Download an install the latest version (at least version 1.3).
  • CMake - Used for building the project. Either install it manually or use an IDE with built-in CMake support (Visual Studio is the recommended choice)

Getting Started

Follow these steps to get started:

  1. Clone the repository and its submodules:

    git clone --recurse-submodules https://github.com/chFleschutz/aegix-engine.git
  2. Open the folder in a CMake supported IDE (e.g. Visual Studio) or generate project files for your preferred platform using CMake.

  3. Build and run the project to view an example scene.

Modules and External Libraries

This project is structured into several independent modules:

The engine relies on the following external libraries:

About

Vulkan Render Engine written in modern C++

Topics

Resources

License

Stars

Watchers

Forks