Coder Social home page Coder Social logo

yuniac / glory Goto Github PK

View Code? Open in Web Editor NEW

This project forked from themaddodger/glory

0.0 0.0 0.0 52.84 MB

Glory is a modular Game Engine currently in development.

C++ 89.67% C 1.14% Lua 2.76% GLSL 1.21% Batchfile 0.05% C# 4.98% Shell 0.18%

glory's Introduction

Glory Engine

A modular game engine and editor.

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 independant thanks to its modularity.

Glory Editor

Features

  • Extremely expandable due to modular design
  • Customizable editor made using ImGui
  • Scripting in any language your hearth desires (WIP on scripting branch)
  • 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 system

Built-in Modules

  • Clustered Renderer
  • OpenGL Graphics API
  • Model loader using ASSIMP
  • ECS Scene System
  • Texture loading using SDL image
  • SDL Window
  • Vulkan Graphics API (WIP)

Tech

Glory uses the following libraries:

  • Dear ImGui - Open-source GUI library used by the editor.
  • ImFileDialog - An awesome file dialog widget rendered using ImGui.
  • ImGuizmo - Amazing library for 3D gizmos and grids rendered using ImGui.
  • implot - Epic library for plotting graphs in ImGui.
  • ASSIMP - Open asset import library for importing 3D files like FBX, OBJ, CAD and many more.
  • yaml-cpp - Extremely uses YAML file parser for C++.
  • SDL - Simple Direct Media Layer library, used for opening a window.
  • SDL_Image - Image loading library for SDL.
  • 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.
  • stb_image.h - Single-file public domain (or MIT licensed) libraries for C/C++.

Most of these libraries come with the engine as a git sub-module or can be acquired by installing the Vulkan SDK.

Installation

Glory has been set up to use the SDL and GLM libraries that come as third-party libraries with the Vulkan SDK. Install the Vulkan SDK before running the premake scripts.

Edit the vulkan_sdk value in the premake5.lua file in the GloryEngine folder to point to where you installed the vulkan SDK. Run the generateprojects.bat file under GloryEngine/scripts to run the premake scripts and generate the visual studio project files. Open GloryEngine.sln and build the whole solution. In order to run the editor through visual studio, you must copy Modules folders inside the build folder to GloryEngine/Glorious, and add -projectPath=[path to your gproj file] as launch argument in the build options. Run the editor by running Glorious.

Run the luncher/hub by running GloriousLauncher, make sure to copy an editor build to a sub folder inside GloryEngine/GloriousLauncher/Editor or the Hub will fail to open any projects. This gets copied for you to the Build folder, if you run the GloriousLauncher.exe manually everything should work without any extra steps.

License

Personal Use Only

glory's People

Contributors

themaddodger avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.