Skip to content

ThomasJowett/Cross-Platform-Game-Engine

Repository files navigation

Cross-Platform Game Engine written in C++ that supports OpenGL.

License: MIT

To clone this repository run: git clone --recursive https://github.com/ThomasJowett/Cross-Platform-Game-Engine

Building

Vulkan SDK is required to be installed to build: https://vulkan.lunarg.com/

Build using cmake

Windows

Use cmake to generate Visual studio project files.

Mac

Use cmake to generate xcode or make files.

Linux

First install dependencies by opening a console window and running the following command:

sudo apt-get install -y libx11-dev libxrandr-dev libxi-dev libxinerama-dev libgl1-mesa-dev libxcursor-dev mesa-common-dev g++ make

Use cmake to generate make files. The engine can be built using make.

Example Projects

If you would like to check out some example projects they can be downloaded from here

Dependencies

  • imgui : Dear ImGui: Bloat-free Immediate Mode Graphical User interface for C++ with minimal dependencies.
  • Entt : Fast and reliable entity-component system (ECS)
  • glfw : A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input.
  • spdlog : Fast C++ logging library.
  • stb : Single-file public domain (or MIT licensed) libraries for C/C++.
  • simpleini : Simple initialization file parser and writer.
  • glad : Meta loader for OpenGL API.
  • OpenFBX : Lightweight FBX Importer.
  • cereal : A C++11 library for serialization.
  • tinyxml2 : A simple, small, efficient, C++ XML parser.
  • LiquidFun : 2D Physics library and Extension of Box2D that provides particle and fluid dynamics.
  • lua : A powerful, efficient, lightweight, embeddable scripting language.
  • sol2 : A C++ single header library binding to Lua.
  • SPIR-V Cross : A tool designed for parsing and converting SPIR-V to other shader languages.
  • msdf atlas : A utility for generating compact font atlases.
  • Vulkan : A cross-platform industry standard graphics API.

Packages

No packages published

Languages