Glory is an under development, modular game engine and editor, written in C++. It has a detailed profiler, comes with a clustered renderer supporting 3000+ dynamic lights, is fully customizable and is platform independent thanks to its modularity.
- Extremely expandable due to modular design
- Customizable editor made using ImGui
- Scripting in any language your heart desires
- Write custom modules
- Built-in asset management
- Use any graphics API
- Project HUB
- Runtime shader compilation and in the future cross platform shader compilation
- Built-in profiler
- Launcher/Hub with support for multiple editor installations (similar to Unity)
- Built-in version checking
- Entity Component System
- Localization with string tables
- Finite State Machines
- Clustered Renderer
- OpenGL Graphics API
- Vulkan Graphics API
- ECS Scene System
- Texture loading using SDL image
- SDL Window
- Physics engine using the Jolt Physics library
- Scripting in C# using mono
- Input processing with SDL
- SDL Mixer Audio
- Steam Audio (3D audio simulation)
- Finite State Machines module
- UI Renderer
- Localization module
- Overlay console
- ASSIMP importer
- Font importer based on FreeType2
- FSM editor
- Audio importer
- Jolt Physics editor
- Localization editor
- Mono Scripting editor
- SDL Audio editor
- SDL Image importer
- HDRI importer and cubemap generator using stb_image and HdriToCubemap
- Steam Audio editor
Glory uses the following libraries:
- Dear ImGui - Open-source GUI library used by the editor.
- ImGuizmo - Amazing library for 3D gizmos and grids rendered using ImGui.
- ImPlot - Epic library for plotting graphs in ImGui.
- RapidJSON - The fastest json parser and writer in existance.
- ASSIMP - Open asset import library for importing 3D files like FBX, OBJ, CAD and many more.
- yaml-cpp - YAML file parser for C++.
- SDL - Simple Direct Media Layer library, used for opening a window.
- SDL_Image - Image loading library for SDL.
- SDL_mixer - An audio management library.
- Vulkan SDK - The future of computer graphics.
- GLEW - OpenGL extension wrangler library.
- GLM - Mathematics library for graphics software.
- Premake5 - Powerfully simple build configuration.
- shaderc - A collection of tools, libraries and tests for shader compilation.
- SPIRV-cross - Tool designed for parsing and converting SPIR-V to other shader languages.
- SPIRV-tools - Tool that provides an API and commands for processing SPIR-V modules.
- glslang
- Mono - Software platform designed to allow developers to easily create cross platform applications.
- Jolt Physics - A multi core friendly rigid body physics and collision detection library suitable for games and VR applications, used by Horizon Forbidden West.
- curl - Command line tool and library for transferring data with URLs (since 1998)
- stb_image.h - Single-file public domain (or MIT licensed) libraries for C/C++.
- esfw - Simple and fast cross platform filewatch.
- tinyfiledialogs - Simple and fast cross platform file dialog.
- FontAwesome - Large collection of icons contained in a font.
- zlib - A Massively Spiffy Yet Delicately Unobtrusive Compression Library.
- HdriToCubemap - A simple C++ library to convert hdri (equirectangular) environment maps to cubemaps.
- SteamAudio - A 3D audio simulation engine made by Valve.
- CRCpp - A fast C++ CRC calculator.
- FreeType - A freely available software library to render fonts.
Make sure to install Vulkan SDK 1.4.321.1 here, and the latest version of mono.
Also make sure to install .NET Framework 4.7.2.
To build and install dependencies, run the install-dependencies.sh script using the following command line:
./install-dependencies.sh [configuration]
There are currently 2 options for configuration, Debug and Release.
Run the generateprojects.bat file to run the premake scripts and generate the visual studio project files.
Open GloryEngine.sln and build the whole solution.
Run the editor by running Glorious.
Run the luncher/hub by running GloriousLauncher.
Run the runtime by running RuntimeTestApplication, make sure to package the Sponza demo through the editor before running this.
Glory currently only builds on Windows, I am working on a cross platform build system for Linux.
The current version of Glory is under a Personal Use Only license.
This will change in the near future to allow commercial usage under limitations.




