De Orb Game Engine.
Note: The is engine is in active development.
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:
- 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. - 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. - 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)
- 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.
Special thanks to The Cherno and his Game Engine Series on YouTube.
- The Cherno YouTube
- The Cherno's Hazel Engine
- 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.