Skip to content

SionGRG/OrbEngine

Repository files navigation

De Orb Engine

De Orb Game Engine.

Note: The is engine is in active development.


Getting Started

Visual Studio 2022 is recommended, De Orb Engine is untested on other development environments whilst I focus on a Windows build.

1. Downloading the repository:

Start by cloning the repository with git clone --recursive https://github.com/SionGRG/OrbEngine.

If the repository was cloned non-recursively previously, use git submodule update --init to clone the necessary submodules.

2. Configuring the dependencies:

  1. Run the Setup.bat file found in the Scripts folder. This will download the required prerequisites for the project if they are not present yet.
  2. One prerequisite is the Vulkan SDK. If it is not installed, the script will execute the VulkanSDK.exe file, and will prompt the user to install the SDK.
  3. After installation, run the Setup.bat file again. If the Vulkan SDK is installed properly, it will then obtain the Vulkan SDK Debug libraries. (This may take a longer amount of time)
  4. After downloading and unzipping the files, the Win-GenProjects.bat script file will get executed automatically, which will then generate a Visual Studio solution file for user's usage.

If changes are made, or if you want to regenerate project files, rerun the Win-GenProjects.bat script file found in the Scripts folder.


Credits

Special Thanks

Special thanks to The Cherno and his Game Engine Series on YouTube.


Libraries

  • spdlog: C++ Logging Library.
  • GLFW: an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan application development.
  • Glad: a multi-language Vulkan/GL/GLES/EGL/GLX/WGL loader-generator based on the official specifications.
  • Dear ImGui: Graphical User interface for C++.
  • ImGuizmo: Immediate mode 3D gizmo for scene editing and other controls based on Dear Imgui.
  • glm: Math library.
  • stb_image from stb: Image file loader.
  • EnTT: Entity Component System.
  • yaml-cpp: A YAML parser and emitter in C++.
  • Box2D: A 2D rigid body simulation library for games.
  • Vulkan: A next generation graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs.y
  • SPIR-V: The Industry Open Standard Intermediate Language for Parallel Compute and Graphics. SPIR-V is catalyzing a revolution in the ecosystem for shader and kernel language compilers used for expressing parallel computation and GPU-based graphics.
  • Mono: An open source implementation of Microsoft's .NET Framework, originally designed to bring .NET languages (mostly C#) to platforms other than Windows. I referenced a very good Mono documentation created by Perter Nilsson.