mtuncbilek95 / Hollow-Engine

Modular Game Engine with HAL and Vulkan

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hollow Engine

Guide-Book

IMPORTANT NOTE

Since the design needs manual memory management at the moment, if you want to change the window size or you want to import another mesh, please make sure that you change the mDeviceMemory and the mHostMemory. Otherwise, the program will create artifacts. My advice is to define memory as 1024MB for each of them. image

Introduction

  • P.S: Code base is designed to run on Visual Studio 2022 or later versions with CMake features.
  1. Download latest Vulkan SDK from Download Link from LunarG. 1.1 Make sure to check the boxes Shader Toolchain Debug Symbols - 64bit, SDL2 libraries and headers and Vulkan Memory Allocator header

  2. Run the GenerateAssociation.bat file to associate the .hproject files with the Hollow Engine editor. (W.I.P)

  3. Run the GenerateProject.bat file to generate the Visual Studio solution. (W.I.P)

Features

  • Graphics Abstraction Layer
  • Vulkan Renderer
  • DirectX-12 Renderer
  • Win32
  • GLFW
  • Linux
  • MacOS
  • ResourceSystem
  • Editor

Dependencies

  • Vulkan SDK
  • DirectX 12 SDK
  • Assimp
  • ImGui
  • EnTT
  • PhysX
  • FMod
  • STBI
  • Nlohmann JSON

What have I done so far:

  • Independent Graphics API. Be able to support multiple APIs. Modifications can be done on only higher level to swap between apis.
  • Independent Platform. Be able to support multiple operating system libraries.
  • Resource Management for RenderTarget and Mesh.
  • Basic Assimp implementation. After shading is done,

Tests

  • Instancing image
  • Mesh Importing image
  • Shading & Basic Illumination image
  • Sponza Import image
  • Sponza Diffuse Light image
  • PBR Material without Skybox image
  • PRB Material with Skybox image
  • PBR - Skybox Reflection image
  • BRDF - IDL - Irradiance
  • Basic Imgui Renderer

About

Modular Game Engine with HAL and Vulkan


Languages

Language:C++ 95.3%Language:CMake 2.2%Language:GLSL 1.8%Language:C 0.6%