Geee is a very bare bone library to build games. It´s a mix between a game engine and framework (e. g Monogame). Scripting is done through the runtime where you can load the scenes, assets created in the editor. It currently uses exclusivly Vulkan as the graphics API.
- 2D quad, bezier splines Rendering
- Basic 3D redering
- ImGui as Editor UI
- Basic scene/level editor
- Asset Management, asset browser
- Basic renderer/application multithreading
- Physically based rendering
- Vulkan SDK: with Shader Toolchain Debug Symbols.
-
Clone the Repository:
git clone --recursive https://github.com/Anton-Horn/geee.git
cd geeebuild.bat
-
Building the Application:
- For Visual Studio: run build.bat
- Any other build systems: run premake with desired target
- compile and run the editor project
- Setup -Link enginecore and set src as include path
#include "ec.h"
void createApp(ec::Application& app) {
}
void updateApp() {
}
void terminateApp() {
}
// ...
ec::ApplicationCreateInfo createInfo;
createInfo.createCallback = createApp;
createInfo.updateCallback = updateApp;
createInfo.terminateCallback = terminateApp;
createInfo.windowCreateInfo = { 1280, 720, "window_name" };
ec::Application app;
app.create(createInfo);- All main components of the engine can be accessed through C++
- Core
- cgltf: loading gltf models
- glfw: platform independent window creation and user input
- glm: math library
- spdlog: fast threadsafe logging library
- vma: used to allocate vulkan memory
- Editor
- imgui
Contributions are welcome! If you'd like to contribute, please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes.
- Push your changes to your fork.
- Submit a pull request.
This project is licensed under the MIT License